linkedhash-set: Add tests.
[gnulib.git] / ChangeLog
blob89952616e5bfd01f9ebbbfed29cd249942627bb2
1 2018-12-03  Bruno Haible  <bruno@clisp.org>
3         linkedhash-set: Add tests.
4         * tests/test-linkedhash_set.c: New file.
5         * modules/linkedhash-set-tests: New file.
7         array-set: Add tests.
8         * tests/test-array_set.c: New file.
9         * modules/array-set-tests: New file.
11         xset: New module.
12         * lib/gl_xset.h: New file.
13         * lib/gl_xset.c: New file.
14         * modules/xset: New file.
16         hash-set: New module.
17         * lib/gl_hash_set.h: New file.
18         * lib/gl_hash_set.c: New file.
19         * modules/hash-set: New file.
21         linkedhash-set: New module.
22         * lib/gl_linkedhash_set.h: New file.
23         * lib/gl_linkedhash_set.c: New file.
24         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
25         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
26         * lib/gl_anyhash_primes.h: New file, extracted from
27         lib/gl_anyhash_list2.h.
28         * lib/gl_anyhash_list2.h: Include it.
29         (primes, next_prime): Remove definitions.
30         * modules/linkedhash-set: New file.
31         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
32         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
33         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
34         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
35         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
36         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
38         array-set: New module.
39         * lib/gl_array_set.h: New file.
40         * lib/gl_array_set.c: New file.
41         * modules/array-set: New file.
43         set: New module.
44         * lib/gl_set.h: New file.
45         * lib/gl_set.c: New file.
46         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
47         gl_set.h.
48         * modules/set: New file.
50 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
52         bison: don't force the Yacc mode
53         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
54         errors when Bison features are used in the grammar file.  Some of
55         these features (such as %expect) were flagged non-yacc recently.  Most
56         of the time, -y is actually used to please Automake's ylwrap which
57         expects the output to be y.tab.c.
58         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
60 2018-12-01  Bruno Haible  <bruno@clisp.org>
62         gnupload: Document short options.
63         * build-aux/gnupload (usage): Document the short options.
65 2018-11-28  Ben Elliston  <bje@gnu.org>
67         gnupload: Support option -h as alias of --help.
68         * build-aux/gnupload: Support -h.
70 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
72         memrchr: port better to clang
73         * lib/memrchr.c (__memrchr): Cast to void * instead of to
74         longword *, to pacify clang -Wcast-align (Bug#33544).
76 2018-11-29  Eric Blake  <eblake@redhat.com>
78         docs: mention printf %m considerations
79         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
80         is not portable, and is easy enough to work around.
81         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
82         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
83         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
84         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
85         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
86         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
87         * doc/posix-functions/printf.texi (printf): Likewise.
88         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
89         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
90         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
91         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
92         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
93         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
94         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
95         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
96         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
97         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
98         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
99         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
101 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
103         bitset: rename ebitset/expandable.* as tbitset/table.*
104         See
105         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
106         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
107         * lib/bitset/table.h, lib/bitset/table.c: these.
108         Rename all the ebitset* symbols as tbitset*.
109         Adjust dependencies.
111 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
113         bitset: check the operations
114         * tests/test-bitset.c (bitset_random): New.
115         Use it.
116         * lib/bitset/expandable.c (ebitset_not): Fix typo.
118 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
120         bitset: properly use false/true instead of 0/1 for Booleans
121         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
122         0/1, as Booleans.
124 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
126         bitset: rename BITSET_VARRAY as BITSET_VECTOR
127         For consistency with the name of the file.
128         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
129         * lib/bitset/stats.c, lib/bitset/vector.c
130         (BITSET_VARRAY): Rename as...
131         (BITSET_VECTOR): this.
133 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
135         strerror_r-posix: memmove, not memcpy
136         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
137         since the source and destination might overlap in the call
138         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
139         Simplify.
141 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
143         bitsetv: new module
144         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
146 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
148         bitset: add tests and doc
149         First stabs at providing a documentation and test for the bitset
150         module.
151         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
153 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
155         bitset: new module
156         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
157         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
158         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
159         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
160         * lib/bitset/vector.h, modules/bitset:
161         New.
163 2018-11-23  Bruno Haible  <bruno@clisp.org>
165         localename: Fix gettext test failures on mingw.
166         * lib/localename.c (gl_locale_name_posix): Convert the result of
167         gl_locale_name_environ to XPG syntax.
169 2018-11-23  Karl Berry  <karl@freefriends.org>
171         * config/srclistvars.txt,
172         * config/srclist.txt: remove all gettext references;
173         the gettext maintainers will sync as needed.
175 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
177         mktime: add libc-config dependency
178         I missed this when we synced from glibc.
179         * modules/mktime (Depends-on): Add libc-config.
181 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
183         longlong: fix comment typo
184         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
186 2018-11-11  Bruno Haible  <bruno@clisp.org>
188         havelib: Remove the need to include asm-underscore.m4.
189         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
190         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
191         gl_HOST_CPU_C_ABI.
192         * modules/havelib (Files): Add host-cpu-c-abi.m4.
193         (Depends-on): Remove host-cpu-c-abi.
195 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
197         parse-datetime: simplify test for mktime failure
198         * lib/parse-datetime.y (mktime_ok): Simplify.
199         Remove args TZ and T; no longer needed.  Callers changed.
201         posixtm: simplify test for mktime failure
202         * lib/posixtm.c (posixtime): Simplify.
204         nstrftime: simplify test for mktime failure
205         * lib/nstrftime.c (__strftime_internal): Simplify.
207 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
209         gnulib-common.m4: port _Noreturn to C++
210         Problem reported by Akim Demaille in:
211         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
212         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
213         Merge adjustments from _Noreturn.h and from glibc into the non-C++
214         version.
215         * lib/_Noreturn.h: Match gnulib-common.
217 2018-10-30  Bruno Haible  <bruno@clisp.org>
219         gnu-make: Fix for NetBSD 8 'make'.
220         Reported by Reuben Thomas in
221         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
222         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
223         output, ignoring exit codes.
225 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
227         maintainer-makefile: fix syntax-check rule for "same.h"
228         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
229         for 'same_nameat', too.
231 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
233         havelib: fix nested ‘configure’ chatter
234         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
235         AC_CACHE_CHECK calls, which resulted in confusing output like
236         “checking for the common suffixes of directories in the library
237         search path... checking for 64-bit host... no lib,lib”.
239         backupfile: tweak for better code
240         * lib/backupfile.c: Sort include directives, and remove
241         unnecessary <limits.h> include.
242         (FALLTHROUGH): New macro, copied from other modules.
243         (backupfile_internal): Use it to avoid code duplication.
244         This lets GCC 8.2.1 generate better code by inlining the
245         call to check_extension.
247 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
249         backupfile: new dir_fd args
250         New module opendirat with code taken from fts.
251         Use this module to let backupfile use a directory file descriptor.
252         * NEWS: Document the incompatible change.
253         * lib/backup-find.c (find_backup_file_name):
254         * lib/backup-rename.c (backup_file_rename):
255         New arg DIR_FD.
256         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
257         (SIZE_MAX): Remove.
258         Include opendirat.h rather than dirent--.h.
259         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
260         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
261         (backupfile_internal): New arg DIR_FD.  All callers changed.
262         * lib/fts.c: Include opendirat.h.
263         (opendirat): Move to opendirat.c.
264         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
265         * modules/backupfile (Depends-on): Remove dirfd, opendir.
266         Add opendirat.
267         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
268         Add opendirat.
270 2018-10-23  Bruno Haible  <bruno@clisp.org>
272         localename: Simplify support for per-thread locales on Solaris 11.4.
273         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
274         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
275         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
276         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
277         specific code.
278         * lib/localename-table.h: Update comments.
279         * lib/localename-table.c: Update comments.
280         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
281         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
282         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
283         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
284         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
285         HAVE_NAMELESS_LOCALES here.
286         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
287         m4/intlsolaris.m4.
288         * modules/gettext (Files): Likewise.
290 2018-10-22  Bruno Haible  <bruno@clisp.org>
292         std-gnu11: Support Autoconf versions < 2.64.
293         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
294         when _AC_DO_LIMIT does not exist.
296 2018-10-22  Bruno Haible  <bruno@clisp.org>
298         Assume Autoconf >= 2.63.
299         * DEPENDENCIES: Mention the requirement.
301         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
302         (func_get_filelist): Don't list m4/onceonly.m4 any more.
303         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
304         * m4/onceonly.m4: Remove file.
306         * m4/openmp.m4: Remove file.
307         * modules/openmp (Files): Remove m4/openmp.m4.
309         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
310         htmldir, dvidir, pdfdir, psdir, localedir.
311         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
313         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
314         Autoconf < 2.60.
315         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
316         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
318         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
319         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
320         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
322         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
323         exists.
324         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
326         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
327         Autoconf < 2.61.
329         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
330         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
331         Autoconf >= 2.52.
333         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
334         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
335         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
337 2018-10-22  Bruno Haible  <bruno@clisp.org>
339         Assume Automake >= 1.11.
340         * m4/configmake.m4: Update comments.
341         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
342         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
343         of 'eval'.
344         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
345         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
346         requires Automake >= 1.11.
348 2018-10-22  Bruno Haible  <bruno@clisp.org>
350         localename: Fix typo in comment.
351         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
353 2018-10-22  Bruno Haible  <bruno@clisp.org>
355         Fix failure of 'gnulib-tool --create-testdir' with all modules.
356         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
358 2018-10-21  Bruno Haible  <bruno@clisp.org>
360         locale: Ease integration with GNU libintl.
361         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
362         GNULIB_defined_freelocale): New macros.
364 2018-10-21  Bruno Haible  <bruno@clisp.org>
366         localename: Fine-tune support for per-thread locales on Solaris 11.4.
367         * lib/localename-table.h: New file, extracted from lib/localename.c.
368         * lib/localename-table.c: Likewise.
369         * lib/localename.c: Include localename-table.h.
370         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
371         locale_hash_function instead of pointer_hash.
372         * modules/localename (Files): Add lib/localename-table.h,
373         lib/localename-table.c.
374         (lib_SOURCES): Add localename-table.c.
375         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
376         for Solaris 11.4 locale system only on Solaris. Test for it
377         independently whether getlocalename_l exists.
378         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
379         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
380         HAVE_NAMELESS_LOCALES.
381         * modules/gettext (Files): Add m4/intlsolaris.m4.
383 2018-10-21  Bruno Haible  <bruno@clisp.org>
385         Small update from gettext.
386         * m4/intl.m4: Update from gettext:
387         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
388         mode on AIX.
389         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
390         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
392 2018-10-16  Bruno Haible  <bruno@clisp.org>
394         mountlist: Remove support for Cray with UNICOS 9.
395         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
396         MOUNTED_LISTMNTENT.
397         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
399 2018-10-16  Bruno Haible  <bruno@clisp.org>
401         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
402         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
403         STAT_STATFS2_FS_DATA.
404         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
405         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
406         MOUNTED_GETMNT.
407         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
408         * lib/getloadavg.c (decstation): Remove definition and case.
409         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
410         * lib/getgroups.c: Likewise.
411         * doc/posix-functions/getgroups.texi: Likewise.
412         * lib/time.in.h: Update comments.
414 2018-10-16  Bruno Haible  <bruno@clisp.org>
416         getloadavg: Remove support for ConvexOS.
417         * lib/getloadavg.c: Remove convex case.
419 2018-10-16  Bruno Haible  <bruno@clisp.org>
421         getloadavg: Remove support for Sony NEWS.
422         * lib/getloadavg.c: Remove sony_news case.
424 2018-10-16  Bruno Haible  <bruno@clisp.org>
426         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
427         * lib/fsusage.c: Remove _SEQUENT_ case.
428         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
429         * lib/mountlist.c: Don't test for MNTTABNAME.
430         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
431         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
432         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
433         * lib/stat-size.h: Don't mention the Sequent bug.
434         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
436 2018-10-16  Bruno Haible  <bruno@clisp.org>
438         fsusage: Remove support for AIX 3.
439         * lib/fsusage.c: Remove code for AIX 3.
440         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
442 2018-10-16  Bruno Haible  <bruno@clisp.org>
444         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
445         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
446         * lib/fsusage.c: Remove code for AIX PS/2.
447         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
448         * lib/getloadavg.c: Likewise.
450 2018-10-16  Bruno Haible  <bruno@clisp.org>
452         getloadavg: Remove support for HP-UX on m68k.
453         * lib/getloadavg.c: Remove hp9000s300 case.
455 2018-10-16  Bruno Haible  <bruno@clisp.org>
457         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
458         * lib/fsusage.c: Remove DOLPHIN case.
459         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
460         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
462 2018-10-16  Bruno Haible  <bruno@clisp.org>
464         getloadavg: Remove support for Alliant FX/2800.
465         * lib/getloadavg.c: Remove alliant case.
467 2018-10-16  Bruno Haible  <bruno@clisp.org>
469         getloadavg: Remove support for tek4300.
470         * lib/getloadavg.c: Remove tek4300 case.
472 2018-10-16  Bruno Haible  <bruno@clisp.org>
474         getloadavg: Remove support for Ardent.
475         * lib/getloadavg.c: Remove ardent case.
477 2018-10-16  Bruno Haible  <bruno@clisp.org>
479         mountlist: Remove support for SVR2.
480         Reported by Andrew Borodin <aborodin@vmail.ru> in
481         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
482         * lib/mountlist.c: Remove MOUNTED_FREAD case.
483         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
484         MOUNTED_FREAD.
486 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
488         libc-config: merge from glibc
489         * lib/cdefs.h (__glibc_has_attribute): New macro.
491         regex: depend on libc-config
492         * modules/regex (Depends-on): Add libc-config.
493         This is needed after the recent autoupdate from glibc.
495 2018-10-14  Bruno Haible  <bruno@clisp.org>
497         localename: Add support for per-thread locales on Solaris 11.4.
498         * lib/locale.in.h (newlocale, freelocale): New declarations.
499         (duplocale): Declare also when the 'localename' module requests it.
500         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
501         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
502         (struniq): Update.
503         (struct locale_categories_names, struct locale_hash_node): New types.
504         (LOCALE_HASH_TABLE_SIZE): New constant.
505         (locale_hash_table, locale_lock): New variables.
506         (pointer_hash, get_locale_t_name): New functions.
507         (newlocale, duplocale, freelocale): New overridden functions.
508         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
509         * m4/intlsolaris.m4: New file.
510         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
511         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
512         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
513         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
514         declared.
515         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
516         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
517         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
518         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
519         * modules/localename (Files): Add intlsolaris.m4.
520         (Depends-on): Add 'locale'.
521         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
522         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
523         the signatures.
525 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
527         timevar: use gethrxtime to get wall clock time
528         clock_gettime is not portable.  gethrxtime takes the best available
529         option to get the wall clock time, including clock_gettime (monotonic
530         clock), and gettime (non monotonic).
531         Also, using xtime_t instead of float preserves the precision.
532         Suggested by Bruno Haible.
533         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
534         * modules/timevar (Depends-on): We need gethrxtime.
535         We no longer use times().
536         (Link): Update.
537         * lib/timevar.h (timevar_time_def): Use xtime_t.
538         * lib/timevar.c (set_to_current_time): Use gethrxtime.
539         (timevar_print): Instead of checking whether the timings themselves
540         are large enough for the timevar to be printed, check the percentages.
542 2018-10-14  Bruno Haible  <bruno@clisp.org>
544         wcsnrtombs: Work around Solaris 11.4 bug.
545         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
546         macro.
547         (gl_FUNC_WCSNRTOMBS): Invoke it.
548         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
550 2018-10-14  Bruno Haible  <bruno@clisp.org>
552         mbsnrtowcs: Work around Solaris 11.4 bug.
553         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
554         macro.
555         (gl_FUNC_MBSNRTOWCS): Invoke it.
556         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
558 2018-10-14  Bruno Haible  <bruno@clisp.org>
560         doc: Update for Solaris 11.4.
561         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
562         mention Solaris 11.4.
563         * m4/printf.m4: Update comments about Solaris.
564         * m4/log.m4: Likewise.
565         * m4/log10.m4: Likewise.
566         * m4/logb.m4: Likewise.
567         * m4/logbf.m4: Likewise.
568         * m4/logbl.m4: Likewise.
569         * m4/rename.m4: Likewise.
570         * m4/wcrtomb.m4: Likewise.
571         * m4/hostent.m4: Likewise.
572         * m4/servent.m4: Likewise.
574 2018-10-14  Bruno Haible  <bruno@clisp.org>
576         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
577         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
578         pointer.
579         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
580         pointer.
581         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
582         pointer.
583         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
584         pointer.
585         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
586         pointer.
588 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
590         bootstrap: fix wget command for po files.
591         * build-aux/bootstrap (po_download_command_format): Fix comment,
592         and adjust callers.
594 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
596         timevar: improve the output format
597         Suggested by Bruno Haible.
598         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
599         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
600         wall, since its resolution is much higher.
602 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
604         timevar: expect that getrusage is available.
605         Don't keep both times and getrusage as backend: both are guaranteed by
606         gnulib, a single one suffices.  Using getrusage is open to possibly
607         tracking other types of resources in the future.
608         * modules/timevar (Depends-on): Add getrusage.
609         (configure.ac): Remove gl_TIMEVAR.
610         (Files): Remove m4/timevar.m4.
611         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
612         * lib/timevar.h (timevar_enabled): Clarify documentation.
613         * lib/timevar.c: Remove all the code about times.
614         Remove all the CPP guards about getrusage: expect it to be present
615         (courtesy of gnulib).
617 2018-10-12  Bruno Haible  <bruno@clisp.org>
619         mountlist: Improve support for Solaris in 64-bit mode.
620         Reported by David Wood <David.Wood@deshaw.com> in
621         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
622         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
623         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
624         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
626 2018-10-12  Bruno Haible  <bruno@clisp.org>
628         mountlist: Add support for Minix.
629         Reported by Assaf Gordon in
630         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
631         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
632         AC_CHECK_FUNCS to check for 'getmntinfo'.
633         * lib/mountlist.c: Update comments.
635 2018-10-12  Bruno Haible  <bruno@clisp.org>
637         Make better use of Autoconf.
638         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
639         * m4/manywarnings.m4: Likewise.
640         * m4/manywarnings-c++.m4: Likewise.
641         * m4/socklen.m4: Likewise.
642         * m4/sockpfaf.m4: Likewise.
643         * m4/stdarg.m4: Likewise.
644         * m4/visibility.m4: Likewise.
645         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
646         indentation.
647         * m4/ls-mntd-fs.m4: Likewise.
649 2018-10-11  Bruno Haible  <bruno@clisp.org>
651         mountlist: Modernize platform lists.
652         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
653         platforms, deemphasizing the obsolete ones.
654         * lib/mountlist.c: Likewise.
656 2018-10-11  Bruno Haible  <bruno@clisp.org>
658         getprogname: Add support for 32-bit programs on HP-UX.
659         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
660         try the similar functions 32-bit programs on 64-bit HP-UX.
662 2018-10-11  Bruno Haible  <bruno@clisp.org>
664         getprogname: Work around program name truncation when possible.
665         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
666         possibly use pst_cmd instead.
668 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
670         fts: cleanup after FTS_NOATIME removal
671         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
672         (FTS_STOP): Shrink to minimal values.  We don’t need to
673         worry about binary compatibility in Gnulib, and the old way
674         of doing things had a hole in the user options that caused
675         FTS_OPTIONMASK to not work as desired.
677 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
679         fts: remove FTS_NOATIME
680         This reverts commit da4d6974013c822af1498941e32db774b2031765.
681         We cannot guarantee that O_NOATIME works: e.g. openat fails
682         with EPERM if the effective user ID of the caller does not match
683         the owner of the file and the caller is not privileged.
684         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
685         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
686         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
687         (FTS_OPTIONMASK): Adjust.
688         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
689         (fd_ring_check): Likewise.
691 2018-10-08  Bruno Haible  <bruno@clisp.org>
693         csharpcomp*, csharpexec*: Remove support for pnet.
694         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
695         HAVE_CSCC.
696         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
697         Don't test HAVE_CSCC.
698         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
699         (compile_csharp_class): Don't invoke it.
700         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
701         HAVE_ILRUN.
702         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
703         Don't test HAVE_ILRUN.
704         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
705         (execute_csharp_program): Don't invoke it.
706         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
707         any more.
709 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
711         renameatu: prefer renameat2 to syscall
712         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
713         Use renameat2 instead of syscall (Bug#32796).
714         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
716 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
718         bootstrap, gnulib-tool: use https instead of insecure rsync
719         * build-aux/bootstrap (download_po_files, po_download_command_format):
720         Don't try using rsync; always use wget over https to fetch PO files.
721         * gnulib-tool (func_import): Likewise.
722         * pygnulib/GLImport.py (GLImport.execute): Likewise.
724 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
726         bootstrap, gnulib-tool: correct the translations wget command
727         * build-aux/bootstrap (po_download_command_format2): Restrict
728         recursion to a single level.
729         * gnulib-tool (func_import): Likewise.
730         * pygnulib/GLImport.py (GLImport.execute): Likewise.
732 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
734         doc: the gnulib snapshots are not maintained
735         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
737 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
739         timevar: add to lib_SOURCES
740         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
742 2018-10-07  Bruno Haible  <bruno@clisp.org>
744         dirent: Update documentation.
745         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
747 2018-10-05  Bruno Haible  <bruno@clisp.org>
749         strpbrk: Make it possible to namespace the defined symbol.
750         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
752 2018-10-05  Bruno Haible  <bruno@clisp.org>
754         strcspn: Make it possible to namespace the defined symbol.
755         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
757 2018-10-05  Bruno Haible  <bruno@clisp.org>
759         raise: Make it possible to namespace the defined symbol.
760         * lib/raise.c (raise): Undefine only after the replacement function has
761         been defined.
762         (raise): Renamed from rpl_raise.
763         (raise_nothrow): Move to the end of the compilation unit.
765 2018-10-05  Bruno Haible  <bruno@clisp.org>
767         memcmp: Make it possible to namespace the defined symbol.
768         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
770 2018-10-05  Bruno Haible  <bruno@clisp.org>
772         explicit_bzero: Make it possible to namespace the defined symbol.
773         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
774         glibc.
776 2018-10-05  Bruno Haible  <bruno@clisp.org>
778         mkdir-p: Depend on 'mkdir'.
779         * modules/mkdir-p (Depends-on): Add 'mkdir'.
781 2018-10-05  Bruno Haible  <bruno@clisp.org>
783         tempname: Depend on 'mkdir'.
784         Reported by Maarten Bosmans <mkbosmans@gmail.com>
785         at <https://savannah.gnu.org/bugs/?33379>.
786         * modules/tempname (Depends-on): Add 'mkdir'.
788 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
790         timevar: rely on gnulib modules for time portability.
791         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
792         * m4/timevar.m4: Don't check for clock_t and struct tms,
793         guaranteed by gnulib.
794         * lib/timevar.h: Use extern "C" protection.
795         Include <stdio.h> for FILE.
796         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
797         they are guaranteed by gnulib.
798         Remove uses of clock as (now useless) fallback.
800 2018-10-04  Bruno Haible  <bruno@clisp.org>
802         sh-filename: New module.
803         * m4/sh-filename.m4: New file.
804         * modules/sh-filename: New file.
805         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
806         "/bin/sh".
807         * tests/test-posix_spawn1.c (main): Likewise.
808         * tests/test-posix_spawn2.c (main): Likewise.
809         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
810         is_envjavac_gcj43): Likewise.
811         * lib/javaexec.c (execute_java_class): Likewise.
812         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
813         * modules/posix_spawnp-tests (Depends-on): Likewise.
814         * modules/javacomp (Depends-on): Likewise.
815         * modules/javaexec (Depends-on): Likewise.
817 2018-10-04  Bruno Haible  <bruno@clisp.org>
819         spawn-pipe tests: Avoid test failure on native Windows.
820         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
821         that fd 2 is closed.
823 2018-10-04  Bruno Haible  <bruno@clisp.org>
825         fcntl: Make it possible to namespace the defined symbol.
826         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
827         been defined.
828         (fcntl): Renamed from rpl_fcntl.
829         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
830         from fcntl.
831         (klibc_fcntl): Move to the end of the compilation unit.
833 2018-10-02  Bruno Haible  <bruno@clisp.org>
835         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
836         * tests/test-vasnprintf.c (test_function): Change the test added on
837         2018-09-23 to check only the 18 most significant digits.
839         vasnprintf tests: Avoid test failure on Cygwin.
840         * tests/test-vasnprintf.c (test_function): Change the test added on
841         2018-09-23 to check only the 42 most significant digits.
843 2018-10-01  Bruno Haible  <bruno@clisp.org>
845         mkostemp, mkostemps: Update documentation.
846         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
847         * doc/glibc-functions/mkostemps.texi: Likewise.
849 2018-10-01  Tom Tromey  <tom@tromey.com>
851         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
852         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
853         on OS X.
855 2018-09-30  Pádraig Brady  <P@draigBrady.com>
857         hmac-*: refactor to remove repetitive code
858         * lib/hmac.c: A new parameterized single implementation.
859         * lib/hmac-md5.c: Define parameters and include implementation.
860         * lib/hmac-sha1.c: Likewise.
861         * lib/hmac-sha256.c: Likewise.
862         * lib/hmac-sha512.c: Likewise.
863         * modules/crypto/hmac-md5: Reference the new implementation file.
864         * modules/crypto/hmac-sha1: Likewise.
865         * modules/crypto/hmac-sha256: Likewise.
866         * modules/crypto/hmac-sha512: Likewise.
867         * tests/test-hmac-md5.c: Refactor common code to a single function.
868         * tests/test-hmac-sha1.c: Likewise.
869         * tests/test-hmac-sha256.c: Likewise.
870         * tests/test-hmac-sha512.c: Likewise.
872 2018-09-30  Zhang Qing  <zhangqingl@126.com>
874         hmac-sha512: fix hash for keys > blocksize (128 bytes)
875         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
876         key length to that output by sha512, not the blocksize.
877         Otherwise uninitialized data from the stack
878         is used when computing the hash.
879         * tests/test-hmac-sha512.c: Add a shortened key test case.
880         Reported at https://github.com/coreutils/gnulib/pull/5
882 2018-09-30  Bruno Haible  <bruno@clisp.org>
884         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
885         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
886         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
887         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
888         'unsigned int' before comparison with an unsigned value.
890 2018-09-30  Bruno Haible  <bruno@clisp.org>
892         grantpt: Remove unnecessary dependency.
893         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
895 2018-09-30  Bruno Haible  <bruno@clisp.org>
897         timevar: Small tweaks.
898         * lib/timevar.h: Fix comments. Add parameter names to function
899         declarations.
900         * lib/timevar.c: Include timevar.h immediately after config.h.
901         * lib/timevar.def: Fix comments.
902         * modules/timevar (Maintainer): List Akim Demaille.
904 2018-09-30  Bruno Haible  <bruno@clisp.org>
906         timevar: Include documentation in gnulib manual.
907         * doc/timevar.texi: Change node and section name to 'Profiling of
908         program phases'.
909         In the code snippets, tweak the #includes and use GNU coding style.
910         * doc/gnulib.texi: Include timevar.texi.
912 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
914         timevar: import from Bison.
915         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
916         New files.
917         * lib/timevar.def: New file.
918         * doc/timevar.texi: New file.
920 2018-09-26  Bruno Haible  <bruno@clisp.org>
922         javacomp-script, javacomp: Add preliminary support for Java 12..17.
923         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
924         * lib/javacomp.c (default_target_version): Likewise.
926 2018-09-26  Bruno Haible  <bruno@clisp.org>
928         javacomp-script, javacomp: Add support for Java 11.
929         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
930         target-version 11.
931         * lib/javaversion.h: Update comments.
932         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
933         source_version_index, get_goodcode_snippet, get_failcode_snippet,
934         TARGET_VERSION_BOUND, target_version_index,
935         corresponding_classfile_version): Accept source_version 11 and
936         target_version 11.
937         * lib/javacomp.h: Update comments accordingly.
939 2018-09-23  Bruno Haible  <bruno@clisp.org>
941         vasnprintf: Fix heap memory overrun bug.
942         Reported by Ben Pfaff <blp@cs.stanford.edu> in
943         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
944         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
945         memory.
946         * tests/test-vasnprintf.c (test_function): Add another test.
948 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
950         maint: mktime.c now shared with glibc
951         * config/srclist.txt: intprops.h, timegm.c and mktime.c
952         are now the same in Gnulib and glibc.
954         mktime: fix _LIBC typo
955         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
957 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
959         dfa: optimization for state merge
960         * lib/dfa.c (merge2): New function.
961         (merge_nfa_state): Use it.
963 2018-09-18  Jim Meyering  <meyering@fb.com>
965         dfa: trivial comment fix: s/is/if/
966         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
968 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
970         dfa: use more-informative function name
971         * lib/dfa.c (maybe_disable_superset_dfa):
972         Rename from dfautf8noss.  Use change.
974         dfa: tweak allocation performance
975         * lib/dfa.c (merge_nfa_state, dfaoptimize):
976         Prefer ptrdiff_t for indexes some more.
977         Use char for flags, as it’s wide enough.
978         Allocate queue and flags together, with one malloc call.
979         No need to use xnmalloc since the multiplication and
980         addition cannot overflow (it’s already been checked by
981         earlier allocation).  Prefer memset to open-coding.
983         dfa: prune states as we go
984         * lib/dfa.c (prune): Remove.
985         dfa: reorder enum for efficiency
986         (merge_nfa_state): Prune as we go instead of at the end.
987         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
989         * lib/dfa.c (END): Now -1 again.  Reorder other elements
990         of the enumeration to make it easier for GCC to generate
991         efficient code by using fewer comparisons to check for
992         ranges of values.
993         (atom): Take advantage of the reordering.
995 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
997         dfa: optimize alternation in NFA
998         Even when similar states exist in alternation, the DFA treats them
999         as separate items, which may complicate the transition in NFA and
1000         cause slowdown.  This change assembles the states into one.  For
1001         example, ab|ac is changed into a(b|c).  This change speeds-up
1002         matching for many branched patterns.  For example, grep speeds up
1003         more than 30× in:
1005           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
1006           time -p env LC_ALL=C grep -vf in in
1008         * lib/dfa.c (prune): New function.
1009         (merge_nfa_state): New function.  It merges similar NFA states.
1010         (dfaoptimize): New function.  It seeks merged and removed nodes.
1011         (dfaanalyze): Call new function.
1012         (dfautf8noss): Change name from dfaoptimize because of addition of new
1013         function.
1014         (dfacomp): Update caller.
1016         dfa: simplify initial state
1017         Simplifying the initial state enables easier optimization of the NFA.
1018         * lib/dfa.c (enum token): Add new element BEG.
1019         (prtok): Adjust due to adding element BEG.
1020         (dfaparse): Put BEG at a head of tokens.
1021         (state_index): Adjust due to adding element BEG.
1022         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
1023         build initial state.
1024         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
1026 2018-09-18  Bruno Haible  <bruno@clisp.org>
1028         file-has-acl: Fix test failure on Cygwin 2.9.
1029         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
1030         * lib/acl-internal.h: Likewise.
1031         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
1032         * lib/acl-internal.c: Update comments regarding Cygwin.
1033         * lib/acl_entries.c: Likewise.
1034         * lib/file-has-acl.c: Likewise.
1035         (file_has_acl): For Cygwin, use a different way to determine whether
1036         the "default" ACL of a directory is nontrivial.
1037         * lib/get-permissions.c: Update comments regarding Cygwin.
1038         * lib/set-permissions.c: Likewise.
1040 2018-09-18  Bruno Haible  <bruno@clisp.org>
1042         stat-time tests: Fix test failure on Cygwin.
1043         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
1045 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1047         doc: OS X 10.11 lacked ns time functions
1048         According to <https://github.com/zeromq/libzmq/issues/2175>,
1049         nanosecond-resolution timestamp functions were introduced
1050         in macOS 10.12, so document the last version (OS X 10.11)
1051         where they were absent.
1053         gettime: nanotime never existed
1054         Problem reported by Bruno Haible in:
1055         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
1056         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
1057         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
1059 2018-09-18  Bruno Haible  <bruno@clisp.org>
1061         doc: Update statement about target platforms.
1062         Reported by Simon Sobisch.
1063         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
1064         restrictions on MSVC versions.
1066 2018-09-18  Bruno Haible  <bruno@clisp.org>
1068         posix_spawn tests: Fix link error on 64-bit Cygwin.
1069         * tests/test-posix_spawn1.c (environ): Remove declaration.
1070         * tests/test-posix_spawn2.c (environ): Likewise.
1071         * tests/test-posix_spawn3.c (environ): Likewise.
1072         * tests/test-posix_spawn4.c (environ): Likewise.
1073         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
1074         * modules/posix_spawnp-tests (Depends-on): Likewise.
1076 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1078         timespec: new function current_timespec
1079         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
1080         and don’t worry about it failing on a CLOCK_REALTIME arg.
1081         POSIX requires it to succeed and I don’t know of any
1082         counterexamples where the fallbacks would work.
1083         (current_timespec): New function, taken from Emacs.  It is more
1084         convenient than gettime, and can help register allocation.
1085         * lib/timespec.h: Include arg-nonnull.h.
1086         (current_timespec): New declaration.
1087         (gettime, settime): Declare args to be nonnull.
1088         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
1090 2018-09-16  Bruno Haible  <bruno@clisp.org>
1092         setlocale: Improve locale handling on macOS 10.12 or newer.
1093         * lib/setlocale.c: Include header files for CoreFoundation. Declare
1094         gl_locale_name_canonicalize.
1095         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
1096         and LC_MESSAGES.
1097         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
1099 2018-09-16  Bruno Haible  <bruno@clisp.org>
1101         Update list of locale names with scripts on macOS.
1102         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
1103         match Mac OS X 10.13 and recent glibc.
1105 2018-09-16  Bruno Haible  <bruno@clisp.org>
1107         gettext: Use newer macOS APIs when possible.
1108         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
1109         CFLocaleCopyPreferredLanguages.
1111 2018-09-16  Bruno Haible  <bruno@clisp.org>
1113         localename: Revisit macOS specific code.
1114         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
1115         Fix comments about Mac OS X versions.
1117 2018-09-15  Bruno Haible  <bruno@clisp.org>
1119         setlocale: Improve support for locales not supported by libc.
1120         Reported by Dapeng Gao <peter@dpgao.cc> at
1121         <https://savannah.gnu.org/bugs/?54479>.
1122         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
1123         (libintl_setlocale): Use a more error-tolerant strategy when the locale
1124         to be set is not supported by libc: Emit warnings instead of failing.
1126 2018-09-15  Bruno Haible  <bruno@clisp.org>
1128         strstr, strcasestr: Add workaround against glibc-2.28 bug.
1129         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
1130         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
1131         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
1132         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
1133         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
1134         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
1135         * doc/glibc-functions/strcasestr.texi: Likewise.
1137 2018-09-14  Bruno Haible  <bruno@clisp.org>
1139         doc: Fix bottom of top-level page.
1140         Reported by Akim Demaille <akim.demaille@gmail.com> in
1141         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
1142         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
1143         mode.
1144         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
1145         accordingly.
1147 2018-09-12  Bruno Haible  <bruno@clisp.org>
1149         Add test case from a recent glibc bug.
1150         * tests/test-strstr.c (main): Add test of long needle.
1151         * tests/test-strcasestr.c (main): Likewise.
1152         * tests/test-c-strstr.c (main): Likewise.
1153         * tests/test-c-strcasestr.c (main): Likewise.
1154         * tests/test-memmem.c (main): Likewise.
1156 2018-09-12  Bruno Haible  <bruno@clisp.org>
1158         Apply Eric Blake's improvements from 2011-02-25 to more tests.
1159         * tests/test-c-strstr.c (main): Add the same tests here as well.
1161 2018-09-12  Bruno Haible  <bruno@clisp.org>
1163         Apply Jim Meyering's fix from 2015-01-11 to more tests.
1164         * tests/test-memmem.c (main): Free haystack.
1165         * tests/test-strcasestr.c (main): Likewise.
1166         * tests/test-c-strcasestr.c (main): Likewise.
1168 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1170         xstrtol: fix missing-TYPE_SIGNED typo
1171         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
1173 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1175         timespec: fix resolution confusion
1176         In normal usage, clock resolution is given in seconds, but the
1177         code was mistakenly using inverse seconds and calling it
1178         “resolution”.  Fix this, partly by renaming two identifiers.
1179         The old names will be kept for a bit, to ease transition.
1180         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
1181         New constants, replacing TIMESPEC_RESOLUTION and
1182         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
1183         All uses changed.
1185 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1187         mktime: simplify in prep for glibc merge
1188         * lib/mktime.c, lib/timegm.c [_LIBC]:
1189         Include mktime-internal.h (a small file just for glibc)
1190         instead of using a typedef.
1192 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1194         intprops: minor clarification of code
1195         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
1196         Use _GL_INT_CONVERT rather than reinventing it.
1198 2018-09-07  Bruno Haible  <bruno@clisp.org>
1200         Fix a comment.
1201         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
1203 2018-09-07  Bruno Haible  <bruno@clisp.org>
1205         posix_spawn_file_actions_addchdir: Add tests.
1206         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
1207         * tests/test-posix_spawn4.c: New file.
1208         * modules/posix_spawn_file_actions_addchdir-tests: New file.
1210 2018-09-07  Bruno Haible  <bruno@clisp.org>
1212         posix_spawn_file_actions_addchdir: New module.
1213         Suggested by Eric Blake in
1214         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
1215         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
1216         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
1217         union member 'chdir_action'.
1218         * lib/spawn_faction_addchdir.c: New file.
1219         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
1220         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
1221         HAVE_WORKING_POSIX_SPAWN.
1222         * lib/spawn_faction_adddup2.c: Likewise.
1223         * lib/spawn_faction_addopen.c: Likewise.
1224         * m4/posix_spawn_faction_addchdir.m4: New file.
1225         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
1226         'posix_spawn_file_actions_addchdir' is present and whether
1227         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
1228         instead of HAVE_WORKING_POSIX_SPAWN.
1229         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
1230         posix_spawn_file_actions_addchdir is declared.
1231         (gl_SPAWN_H_DEFAULTS): Initialize
1232         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1233         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1234         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1235         * modules/spawn (Makefile.am): Substitute
1236         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1237         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1238         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1239         * modules/posix_spawn_file_actions_addchdir: New file.
1240         * modules/posix_spawn_file_actions_addclose (Depends-on,
1241         configure.ac): Test also REPLACE_POSIX_SPAWN.
1242         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
1243         configure.ac): Likewise.
1244         * modules/posix_spawn_file_actions_addopen (Depends-on,
1245         configure.ac): Likewise.
1246         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
1247         signature.
1248         * doc/posix-functions/posix_spawn.texi: Mention the new module.
1249         * doc/posix-functions/posix_spawnp.texi: Likewise.
1251 2018-09-06  Bruno Haible  <bruno@clisp.org>
1253         stddef: Override max_align_t on NetBSD 8.0/x86.
1254         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
1255         the value of __alignof__ (max_align_t).
1256         * doc/posix-headers/stddef.texi: Mention the issue.
1258 2018-09-06  Bruno Haible  <bruno@clisp.org>
1260         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
1261         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
1262         system fcntl.
1263         * doc/posix-functions/fcntl.texi: Document the issue.
1265 2018-09-06  Bruno Haible  <bruno@clisp.org>
1267         count-trailing-zeros tests: Rely on limits-h module.
1268         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
1269         definition.
1270         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
1272 2018-09-06  Bruno Haible  <bruno@clisp.org>
1274         count-leading-zeros tests: Rely on limits-h module.
1275         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
1276         definition.
1277         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
1279 2018-09-06  Bruno Haible  <bruno@clisp.org>
1281         count-one-bits tests: Rely on limits-h module.
1282         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
1283         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
1285 2018-09-06  Bruno Haible  <bruno@clisp.org>
1287         xstrtoll: Rely on limits-h module.
1288         * lib/xstrtol.c: Don't include intprops.h.
1289         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1290         * modules/xstrtol (Depends-on): Remove 'intprops'.
1291         * modules/xstrtoll (Depends-on): Add 'limits-h'.
1293 2018-09-06  Bruno Haible  <bruno@clisp.org>
1295         strtoll, strtoull: Rely on limits-h module.
1296         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
1297         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1298         * modules/strtoll (Depends-on): Add limits-h.
1299         * modules/strtoull (Depends-on): Likewise.
1301 2018-09-06  Bruno Haible  <bruno@clisp.org>
1303         intprops tests: Fix compilation error with pre-C99 compiler.
1304         * tests/test-intprops.c (verify_stmt): New macro.
1305         (VERIFY, main): Use it.
1307 2018-09-06  Bruno Haible  <bruno@clisp.org>
1309         limits-h: Provide numerical limits macros.
1310         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
1311         IRIX and for GCC.
1312         (WORD_BIT, LONG_BIT): Define.
1313         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
1314         <limits.h> does not define LLONG_MAX or WORD_BIT.
1315         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
1316         TYPE_MAXIMUM): New macros, from intprops.h.
1317         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
1318         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
1319         provides.
1321 2018-09-05  Bruno Haible  <bruno@clisp.org>
1323         fcntl: Don't access nonexistent optional argument.
1324         Reported by Frank Busse <f.busse@imperial.ac.uk> in
1325         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
1326         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
1327         don't consume an argument. For actions that take an 'int' argument,
1328         consume an 'int' argument.
1330 2018-09-05  Eric Blake  <eblake@redhat.com>
1332         doc: mention environ pitfall
1333         * doc/posix-functions/environ.texi (environ): Assigning NULL to
1334         environ is a glibc extension.
1336 2018-09-03  Bruno Haible  <bruno@clisp.org>
1338         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
1339         Reported by Antoine Luong <antoine.luong@c-s.fr> in
1340         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
1341         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
1342         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
1343         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
1345 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1347         mktime: fix unlikely race+overflow bug
1348         Problem reported by Alexandre Oliva in:
1349         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
1350         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
1351         to avoid an unlikely race if the compiler delays a load and
1352         if this cascades into a signed integer overflow.
1354 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1356         mktime, timegm: simplify glibc time64_t
1357         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
1358         Now long int, not time_t, since long int is the longstanding type
1359         for this in glibc and there is no need to change it even if time_t
1360         becomes 64 bits - even int would do, though this would be a change
1361         to the glibc generated code.  When this change is merged into
1362         glibc, it should simplify the time_t vs time64_t situation.
1364         mktime, timegm: simplify merge to glibc
1365         Move code around to make a merge to glibc easier to audit.
1366         This should not change behavior.
1367         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
1368         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
1369         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
1370         simplify later conditionals; default the others to zero.  In uses
1371         of these conditionals, explicitly spell out how _LIBC affects
1372         things, so it’s easier to review from a glibc viewpoint.
1373         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
1374         compartmentalize tzset issues.  Move system-dependent tzsettish
1375         code here from mktime.
1376         (mktime): Move tzsettish code to my_tzset, and move
1377         localtime_offset to within mktime so that it doesn’t
1378         need a separate ifdef.
1380 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
1382         intprops: avoid evaluation of some expressions
1383         This makes EXPR_SIGNED (e) easier to use, as it no longer
1384         evaluates the expression E.  Formerly, E was required to be free
1385         of side effects.
1386         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
1387         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
1388         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
1390 2018-08-23  Bruno Haible  <bruno@clisp.org>
1392         getcwd: Add cross-compilation guesses.
1393         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
1394         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
1395         Based on a patch by Paul Eggert.
1396         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
1397         guesses for all GNU systems.
1399 2018-08-19  Bruno Haible  <bruno@clisp.org>
1401         glob-h: Formalize side effects from other modules.
1402         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
1403         * m4/glob.m4 (gl_GLOB): Invoke it.
1405         fnmatch-h: Formalize side effects from other modules.
1406         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
1407         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
1409         limits-h: Formalize side effects from other modules.
1410         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
1411         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
1413 2018-08-19  Bruno Haible  <bruno@clisp.org>
1415         getpass: Move declaration to <unistd.h>.
1416         * lib/unistd.in.h (getpass): New declaration.
1417         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
1418         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
1419         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
1420         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
1421         On glibc systems, don't set REPLACE_GETPASS to 1.
1422         * modules/getpass (Depends-on): Add 'unistd'.
1423         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
1424         (Include): Specify <unistd.h> instead of "getpass.h".
1425         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
1426         (configure.ac): Sync with the configure.ac section of modules/getpass.
1427         (Include): Specify <unistd.h> instead of "getpass.h".
1428         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
1429         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
1430         REPLACE_GETPASS.
1431         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
1432         REPLACE_GETPASS.
1433         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
1434         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
1435         and musl.
1436         * NEWS: Mention the change.
1438 2018-08-19  Bruno Haible  <bruno@clisp.org>
1440         glob: Fix over-optimization due to attribute __nonnull__.
1441         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
1443 2018-08-19  Bruno Haible  <bruno@clisp.org>
1445         glob: Fix another compilation error when glob.h is not replaced.
1446         Reported by Reuben Thomas <rrt@sc3d.org> in
1447         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
1448         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
1449         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
1451 2018-08-18  Bruno Haible  <bruno@clisp.org>
1453         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
1454         Reported by Reuben Thomas <rrt@sc3d.org> in
1455         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
1456         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
1457         in config.h.
1459 2018-08-18  Bruno Haible  <bruno@clisp.org>
1461         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
1462         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
1463         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
1464         Solution proposed by Eli Zaretskii.
1465         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
1466         * lib/gettimeofday.c (GetProcAddress): Likewise.
1467         * lib/link.c (GetProcAddress): Likewise.
1468         * lib/physmem.c (GetProcAddress): Likewise.
1469         * lib/poll.c (GetProcAddress): Likewise.
1470         * lib/select.c (GetProcAddress): Likewise.
1471         * lib/stat-w32.c (GetProcAddress): Likewise.
1473 2018-08-18  Bruno Haible  <bruno@clisp.org>
1475         glob: Fix another compilation error when glob.h is not replaced.
1476         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1477         * lib/globfree.c: Include <libc-config.h>.
1479 2018-08-18  Bruno Haible  <bruno@clisp.org>
1481         glob: Fix compilation error when glob.h is not replaced.
1482         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1483         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1484         * lib/glob_pattern_p.c: Include <libc-config.h>.
1485         * modules/glob (Depends-on): Add libc-config.
1487 2018-08-18  Bruno Haible  <bruno@clisp.org>
1489         scratch_buffer: Add tests.
1490         * tests/test-scratch-buffer.c: New file.
1491         * modules/scratch_buffer-tests: New file.
1493 2018-08-18  Bruno Haible  <bruno@clisp.org>
1495         scratch_buffer: Fix include file.
1496         Reported by Reuben Thomas <rrt@sc3d.org> in
1497         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1498         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1499         double-inclusion guard.
1501 2018-08-18  Bruno Haible  <bruno@clisp.org>
1503         glob-h: Revert Paul Eggert's revert.
1504         * m4/glob_h.m4: Revert to previous state.
1505         * modules/glob-h: Likewise.
1507 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1509         glob-h: always build glob.h
1510         This works around a problem reported by Reuben Thomas in:
1511         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1512         This workaround always builds glob.h, even on platforms that
1513         do not need it; perhaps this could be improved someday.
1514         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1515         is always created now.
1516         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1518 2018-08-13  Bruno Haible  <bruno@clisp.org>
1520         monetary: Simplify m4 code.
1521         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1522         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1524 2018-08-13  Bruno Haible  <bruno@clisp.org>
1526         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1527         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1528         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1529         and by Paul J. Lucas <paul@lucasmail.org> in
1530         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1531         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1533 2018-08-11  Bruno Haible  <bruno@clisp.org>
1535         setlocale: Trivial simplification.
1536         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1538 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1540         verify: port 'assume' to traditional tools
1541         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1542         and other tools that use /*NOTREACHED*/ comments.
1544 2018-08-10  Bruno Haible  <bruno@clisp.org>
1546         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1547         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1548         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1549         'fnmatch-gnu' is in use.
1551 2018-08-07  Bruno Haible  <bruno@clisp.org>
1553         glob-h: Add tests.
1554         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1555         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1556         tests/test-glob-h.c.
1557         * modules/glob-h-tests: New file.
1558         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1559         conditions.
1560         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1561         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1563 2018-08-07  Bruno Haible  <bruno@clisp.org>
1565         glob-h: New module.
1566         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1567         replacements.
1568         * lib/glob.c: Include <config.h>.
1569         * m4/glob_h.m4: New file.
1570         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1571         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1572         REPLACE_GLOB_PATTERN_P as appropriate.
1573         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1574         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1575         * modules/glob-h: New file.
1576         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1577         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1578         lstat, sys_stat. Change conditions.
1579         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1580         REPLACE_GLOB_PATTERN_P. Set module indicator.
1581         (Makefile.am): Remove code that is moved to glob-h.
1582         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1583         * modules/posixcheck (Depends-on): Add glob-h.
1585 2018-08-06  Bruno Haible  <bruno@clisp.org>
1587         Force generation of substitute .h file when C++ support is enabled.
1588         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1589         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1590         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1591         FNMATCH_H to non-empty.
1592         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1593         ICONV_H to non-empty.
1594         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1595         MONETARY_H to non-empty.
1596         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1597         non-empty.
1599 2018-08-06  Bruno Haible  <bruno@clisp.org>
1601         fnmatch-h: Fix test compilation error on mingw (regression from today).
1602         * lib/fnmatch.in.h: Fix conditions.
1604 2018-08-06  Bruno Haible  <bruno@clisp.org>
1606         sys_resource: Relicense under LGPLv2+.
1607         John Malmberg's approval is in
1608         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1609         * modules/sys_resource (License): Change to LGPLv2+.
1611 2018-08-06  Bruno Haible  <bruno@clisp.org>
1613         fnmatch-h: Add tests.
1614         * tests/test-fnmatch-h.c: New file.
1615         * modules/fnmatch-h-tests: New file.
1616         * tests/test-fnmatch-h-c++.cc: New file.
1617         * modules/fnmatch-h-c++-tests: New file.
1619 2018-08-06  Bruno Haible  <bruno@clisp.org>
1621         fnmatch-h: New module.
1622         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1623         replacements.
1624         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1625         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1626         'posixcheck' warning.
1627         * m4/fnmatch_h.m4: New file.
1628         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1629         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1630         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1631         as appropriate.
1632         * modules/fnmatch-h: New file.
1633         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1634         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1635         conditions.
1636         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1637         indicator.
1638         (Makefile.am): Remove code that is moved to fnmatch-h.
1639         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1640         REPLACE_FNMATCH.
1641         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1642         * modules/posixcheck (Depends-on): Add fnmatch-h.
1644 2018-08-06  Bruno Haible  <bruno@clisp.org>
1646         Enable more C++ tests.
1647         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1648         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1649         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1650         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1651         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1653 2018-08-06  Bruno Haible  <bruno@clisp.org>
1655         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1656         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1657         getopt.h.
1658         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1660 2018-08-05  Bruno Haible  <bruno@clisp.org>
1662         utime-h: Generate header file when module 'posixcheck' is in use.
1663         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1664         UTIME_H to non-empty.
1666 2018-08-05  Bruno Haible  <bruno@clisp.org>
1668         monetary: Generate header file when module 'posixcheck' is in use.
1669         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1670         use, set MONETARY_H to non-empty.
1672 2018-08-05  Bruno Haible  <bruno@clisp.org>
1674         iconv-h: Generate header file when module 'posixcheck' is in use.
1675         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1676         set ICONV_H to non-empty.
1678 2018-08-05  Bruno Haible  <bruno@clisp.org>
1680         Optimize the "checking whether ... is declared without a macro" checks.
1681         Suggested by Paul Eggert in
1682         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1683         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1684         Gnulib module 'posixcheck' is not in use.
1686 2018-08-05  Bruno Haible  <bruno@clisp.org>
1688         iconv-h: Enable 'posixcheck' warnings.
1689         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1690         iconv_open.
1691         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1693 2018-08-05  Bruno Haible  <bruno@clisp.org>
1695         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1696         * m4/extern-inline.m4: Add more comments.
1697         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1698         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1699         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1701 2018-08-04  Bruno Haible  <bruno@clisp.org>
1703         New module 'posixcheck'.
1704         * modules/posixcheck: New file.
1705         * m4/posixcheck.m4: New file.
1706         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1707         (Which modules?): Reference it.
1709 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1711         dfa: fix memory leak
1712         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1714 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1716         ieee754-h: new module
1717         It looks like Emacs can use this for some NaN processing.
1718         Emacs uses it only on double NaNs so it should be safe.
1719         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1720         * config/srclist.txt: Mention ieee754.h in a comment.
1721         * doc/glibc-headers/ieee754.texi (ieee754.h):
1722         Gnulib now has a substitute that should work
1723         except for long double and for non-IEEE platforms.
1724         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1725         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1727 2018-07-27  Bruno Haible  <bruno@clisp.org>
1729         iswcntrl: Mention minor problem on macOS.
1730         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1732 2018-07-26  Colin Watson  <cjwatson@debian.org>
1734         bootstrap, gnulib-tool: fix translations rsync
1735         Previously, we created files such as $pobase/Makefile.in.in and then the
1736         subsequent rsync would immediately delete them.
1737         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1738         non-.po files in target directory when rsyncing translations.
1739         * gnulib-tool (func_import): Likewise.
1740         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1742 2018-07-25  Jim Meyering  <meyering@fb.com>
1744         bootstrap: reinstate definition fo gnulib_mk.
1745         That variable is used at least by cppi.
1746         * build-aux/bootstrap (gnulib_mk): Restore definition.
1747         This reverts the deletion from v0.1-1844-gc66dba9ba.
1749 2018-07-23  Bruno Haible  <bruno@clisp.org>
1751         doc: For module names, use texinfo markup @code{} or @samp{}.
1752         * doc/alloca.texi: Mark gnulib module names with @code.
1753         * doc/alloca-opt.texi: Likewise.
1754         * doc/quote.texi: Likewise.
1755         * doc/posix-functions/freopen.texi: Likewise.
1756         * doc/posix-functions/open.texi: Likewise.
1757         * doc/posix-functions/readlink.texi: Likewise.
1758         * doc/posix-functions/readlinkat.texi: Likewise.
1759         * doc/posix-functions/stdout.texi: Likewise.
1760         * doc/posix-functions/stderr.texi: Likewise.
1761         * doc/posix-functions/unlink.texi: Likewise.
1762         * doc/posix-functions/unlinkat.texi: Likewise.
1763         * doc/posix-functions/utime.texi: Likewise.
1764         * doc/posix-functions/utimensat.texi: Likewise.
1765         * doc/posix-functions/utimes.texi: Likewise.
1766         * doc/posix-headers/stdint.texi: Likewise.
1767         * doc/glibc-functions/futimesat.texi: Likewise.
1768         * doc/glibc-functions/lutimes.texi: Likewise.
1769         * doc/glibc-functions/memmem.texi: Likewise.
1771 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1773         doc: Avoid some overfull lines in the TeX output.
1774         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1775         @example.
1776         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1777         newline before the long URL.
1778         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1779         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1780         Add line breaks in code snippets.
1782 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1784         hard-locale: simplify by removing hard-locale.m4
1785         * m4/hard-locale.m4: Remove.
1786         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1787         (configure.ac): Do not call gl_HARD_LOCALE.
1789         gnulib-tool: limit line length for git send-email
1790         * gnulib-tool (func_import): Break actioncmd log line
1791         into multiple lines.
1793 2018-07-16  Bruno Haible  <bruno@clisp.org>
1795         ffs: Ensure declaration on mingw.
1796         Reported by Daniel P. Berrangé <berrange@redhat.com>
1797         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1798         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1799         also declared.
1801 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1803         regex-tests: add dependency
1804         * modules/regex-tests (Depends-on): Add gettext-h.
1805         This is needed given the recent changes to regex,
1806         which no longer depends on gettext-h.
1808 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1810         regex: now in sync with glibc
1811         * config/srclist.txt: Gnulib and glibc regex code
1812         are synchronized again.
1814 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1816         renameatu: rename from renameat2
1817         It's looking like Glibc will add a renameat2 function
1818         that is incompatible with Gnulib renameat2; see:
1819         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1820         To help avoid future confusion, rename renameat2 to something else.
1821         Use the name 'renameatu', as the Gnulib function is close to the
1822         Glibc function.  Perhaps someday there will also be a renameat2
1823         Gnulib module, which mimicks the future glibc renameat2, but that
1824         can wait as nobody seems to need such a module now.
1825         * NEWS: Mention this.
1826         * lib/renameatu.c: Rename from lib/renameat2.c.
1827         * lib/renameatu.h: Rename from lib/renameat2.h.
1828         * modules/renameatu: Rename from modules/renameat2.
1829         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1830         All uses of "renameat2" in identifiers or file name
1831         changed to "renameatu", except for two instances in
1832         lib/renameatu.c that deal with the Linux kernel's
1833         renameat2 syscall.
1835 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1837         gnulib-tool: minor tweaks for --gnu-make
1838         * gnulib-tool: Do not allow --gnu-make in test modes,
1839         since they all require automake.
1840         (func_emit_lib_Makefile_am): Don’t emit automake comment
1841         if --gnu-make.
1843         regex: work around conditional-dependencies glitch
1844         * modules/regex (Depends-on): Add langinfo.
1845         Without this change, I had problems building an experimental
1846         version of GNU Emacs.  The symptom of the bug was a message
1847         ‘./configure: line 12726: test: =: unary operator expected’.
1848         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1849         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1850         was unset.  Although gl_FUNC_NL_LANGINFO has
1851         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1852         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1853         --conditional-dependencies sometimes arranges for the
1854         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1855         code.  Since the regex code includes <langinfo.h> it should be
1856         depending on the langinfo module anyway, and this happens to work
1857         around the bug, so install that as a workaround for now.  To
1858         reproduce the original problem, run the following shell script on
1859         the version of Gnulib just before this patch was installed.
1860                 rm -fr foo
1861                 mkdir foo
1862                 cat >foo/configure.ac <<'EOF'
1863                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1864                 gl_EARLY
1865                 gl_INIT
1866                 AC_OUTPUT
1867                 EOF
1868                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1869                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1870                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1871                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1872                 cd foo
1873                 aclocal -I m4
1874                 autoconf
1875                 ./configure --with-included-regex
1877 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1879         wchar: fix bug when checking for ‘inline’
1880         I discovered this when looking into using the regex module
1881         with Emacs.
1882         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1883         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1884         conftest1.c and conftest2.c but these files were not created.
1885         As far as I can see, this check never worked and nobody reported
1886         it until now, which is a bit worrisome.
1888 2018-06-30  Jim Meyering  <meyering@fb.com>
1890         bootstrap: s/--option val/--option=val/
1891         * build-aux/bootstrap (gnulib_tool_options): Change the
1892         spelling of "--option val" pairs to "--option=val", for
1893         aesthetics, and also so that this file no longer triggers
1894         a common help2man syntax-check warning when copied into
1895         projects like grep, gzip, etc.
1897 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1899         manywarnings: omit -Wswitch-default
1900         This should make things more consistent, as we already ignore
1901         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1902         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1903         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1904         Add -Wswitch-default.
1905         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1906         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1907         Remove -Wswitch-default.
1909         regex: revert most trimming
1910         Problems reported by Bruno Haible in:
1911         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1912         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1913         and wctype back in.  lock because regex users shouldn’t
1914         need to know that regex needs locking, and the rest because
1915         gnulib-tool should ordinarily ignore them anyway.
1917 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1919         regex: trim module dependencies
1920         * modules/regex (Depends-on): Remove gettext-h and lock,
1921         since the regex code should work OK without these modules,
1922         and Emacs uses it that way.  Also remove memcmp, memmove,
1923         and wctype, as these modules are obsolete and should not be
1924         needed any more.
1926 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1928         regex: glibc does not use intprops.h
1929         Maybe we can talk glibc into using intprops.h someday, but
1930         now doesn’t seem to be a good time.
1931         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1932         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1933         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1935 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1937         regex: port to recently proposed glibc regex merge
1938         This patch is inspired by Adhemerval Zanella's recent proposal
1939         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1940         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1941         the glibc side, without keeping Gnulib portable.
1942         * lib/regex.h: Fix a problem with glibc installed-header checking,
1943         as follows:
1944         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1945         (_Restrict_arr_): Prefer __restrict_arr if defined,
1946         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1947         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1948         (build_wcs_upper_buffer, build_upper_buffer)
1949         (re_string_translate_buffer, re_string_context_at):
1950         Move decls here from lib/regex_internal.h, for glibc internal tests.
1951         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1952         glibc BZ #18496.
1953         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1954         -Wunused-value.
1955         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1956         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1957         (bitset_mask): Now static inline, and without any __attribute__
1958         ((unused)) decoration, for glibc internal tests.
1960 2018-06-25  Bruno Haible  <bruno@clisp.org>
1962         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1963         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1964         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1965         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1966         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1967         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1968         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1969         / -lthread / -lpth does not get optimized away by a preceding
1970         --as-needed option.
1972 2018-06-25  Bruno Haible  <bruno@clisp.org>
1974         Continue to use spaces for indentation, not tabs.
1975         * MODULES.html.sh: Untabify.
1976         * doc/regex.texi: Likewise.
1977         * lib/acl-internal.c: Likewise.
1978         * lib/dfa.c: Likewise.
1979         * lib/exclude.c: Likewise.
1980         * lib/exclude.h: Likewise.
1981         * lib/get-permissions.c: Likewise.
1982         * lib/gettimeofday.c: Likewise.
1983         * lib/parse-datetime.y: Likewise.
1984         * lib/pselect.c: Likewise.
1985         * lib/set-permissions.c: Likewise.
1986         * lib/time.in.h: Likewise.
1987         * m4/canonicalize.m4: Likewise.
1988         * m4/gc.m4: Likewise.
1989         * m4/gnulib-common.m4: Likewise.
1990         * m4/pthread_sigmask.m4: Likewise.
1991         * m4/vararrays.m4: Likewise.
1992         * tests/test-digest.h: Likewise.
1993         * tests/test-fcntl-h.c: Likewise.
1994         * tests/test-timespec.c: Likewise.
1995         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1997 2018-06-25  Bruno Haible  <bruno@clisp.org>
1999         manywarnings: Don't enable -Wjump-misses-init warnings by default.
2000         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
2001         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
2002         -Wjump-misses-init.
2004 2018-06-25  Jim Meyering  <meyering@fb.com>
2006         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
2007         * lib/acl-internal.h (free_permission_context): Remove that
2008         attribute directive.  Otherwise, it would provoke this from GCC 9:
2009         lib/acl-internal.h:300:3: error: 'const' attribute on function \
2010           returning 'void' [-Werror=attributes]
2012 2018-06-24  Jim Meyering  <meyering@fb.com>
2014         parse-datetime: accommodate gcc-4.8.5
2015         Bruno Haible reported the build failure in
2016         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
2017         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
2018         on declaration of new local.
2020 2018-06-24  Bruno Haible  <bruno@clisp.org>
2022         af_alg: Fail in continuable manner on Linux/powerpc64le.
2023         Reported by Assaf Gordon <assafgordon@gmail.com>
2024         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
2025         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
2026         byte send() as the first round.
2028 2018-06-24  Bruno Haible  <bruno@clisp.org>
2030         af_alg: Fix state of stream after sendfile() succeeds.
2031         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
2032         the stream is correctly positioned afterwards.
2033         * modules/crypto/af_alg (Depends-on): Add fflush.
2034         * tests/test-digest.h (test_digest_on_files): Verify that after the
2035         operation the stream is positioned at end of file.
2037 2018-06-24  Jim Meyering  <meyering@fb.com>
2039         canon-host: take GCC9's advice rather than ignoring warning
2040         Pádraig Brady suggested not to ignore this GCC9 advice.
2041         * lib/canon-host.c: Undo preceding change.
2042         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
2044         parse-datetime.y: avoid spurious GCC 9 warning
2045         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
2046         a function local prior to the first "goto fail".  The prior use would
2047         evoke this:
2048         parse-datetime.y: In function 'parse_datetime2':
2049         parse-datetime.y:1791:19: error: jump skips variable initialization \
2050           [-Werror=jump-misses-init]
2051         parse-datetime.y:2385:2: note: label 'fail' defined here
2052         parse-datetime.y:188:43: note: '({anonymous})' declared here
2053         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
2055         canon-host.c: avoid spurious GCC 9 warning
2056         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
2058         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
2059         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
2060         * m4/manywarnings.m4: Remove them.
2061         Otherwise, building coreutils, I would see this:
2062         cc1: error: deprecated command line option '-Wchkp' [-Werror]
2063         cc1: error: -Wabi won't warn about anything [-Werror=abi]
2064         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
2065           which is also used by default
2066         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
2068 2018-06-24  Bruno Haible  <bruno@clisp.org>
2070         af_alg tests: Add another test.
2071         * tests/test-digest.h (test_digest_on_files): Also check a large file
2072         with a skipped header.
2073         * tests/test-md5.c: Include macros.h.
2074         * tests/test-sha1.c: Likewise.
2075         * tests/test-sha256.c: Likewise.
2076         * tests/test-sha512.c: Likewise.
2077         * modules/crypto/md5-tests (Files): Add tests/macros.h.
2078         * modules/crypto/sha1-tests (Files): Likewise.
2079         * modules/crypto/sha256-tests (Files): Likewise.
2080         * modules/crypto/sha512-tests (Files): Likewise.
2082 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2084         maint: clarify comments about sticky EOF
2085         * lib/af_alg.c: Be more direct that we can't
2086         assume stickiness of EOF for portability reasons.
2087         * lib/md5.c: Clarify that this isn't just a glibc issue.
2088         * lib/sha1.c: Likewise.
2089         * lib/sha256.c: Likewise.
2090         * lib/sha512.c: Likewise.
2092 2018-06-24  Bruno Haible  <bruno@clisp.org>
2094         af_alg: Comment and style improvements.
2095         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
2096         (afalg_buffer, afalg_stream): Improve comments.
2098 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2100         af_alg: disable kernel hash functions by default
2101         All the kernel routines were seen to be significantly slower
2102         with these relatively recent components on an i3-2310M system:
2103           kernel-4.10.6-200.fc25.x86_64
2104           openssl-1.0.2m-1.fc25.x86_64
2105         sha1 was nearly twice as slow in the kernel for example.
2106         Further considerations why this should not be the default, at:
2107         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
2109         * m4/af_alg.m4: Require --with-linux-crypto to enable.
2110         * m4/gl-openssl.m4: Tweak accordingly.
2112 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2114         af_alg: avoid hangs when reading from streams
2115         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
2116         and thus avoid doing a fread() when feof() is set.
2117         * lib/md5.c: Ensure feof() is called before fread().
2118         * lib/sha1.c: Likewise.
2119         * lib/sha256.c: Likewise.
2120         * lib/sha512.c: Likewise.
2122 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2124         af_alg: fix error handling when hash not returned
2125         * lib/af_alg.c (afalg_stream): Handle the case where we've
2126         successfully written data to the kernel in the read/write loop,
2127         but the kernel doesn't respond with the hash.
2129 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2131         libc-config: merge from glibc
2132         * lib/cdefs.h (__inline, __restrict):
2133         Copy from current glibc.  This fixes glibc bug 17721,
2134         which Gnulib had already fixed in a different way.
2135         (__nonnull): Lessen the distance from glibc by using the
2136         glibc definition inside an ‘#ifndef __nonnull’.
2137         (__attribute_nonstring__): New macro, copied from
2138         current glibc.
2139         * lib/libc-config.h (__attribute_nonstring__): New undef.
2140         (__restrict): Remove; workaround no longer needed.
2141         Keep the __inline workaround, though, as it uses HAVE___INLINE to
2142         support more compilers than the glibc __inline can.
2144 2018-06-24  Bruno Haible  <bruno@clisp.org>
2146         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
2147         * lib/mbrtowc.c (enc_t): New enum type.
2148         (locale_enc, locale_enc_cached): New functions.
2149         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
2150         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
2151         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
2152         instead.
2153         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
2154         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
2155         * modules/wcwidth (configure.ac): Invoke it.
2157 2018-06-24  Bruno Haible  <bruno@clisp.org>
2159         wchar-single: Fix test failure in wcwidth tests.
2160         * tests/test-wcwidth.c (main): If the wchar-single module is present,
2161         skip the tests in the C locale.
2163 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2165         crypto: mention --without-linux-crypto in --with-openssl --help
2166         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
2167         routines take precedence in --with-openssl help output.
2169 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2171         wchar-single: a new module to enable optimizations in wchar replacements
2172         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
2173         GNULIB_WCHAR_SINGLE is enabled.
2174         * lib/wcwidth.c (wcwidth): Likewise.
2176 2018-06-23  Bruno Haible  <bruno@clisp.org>
2178         libc-config: Fix conflict with FreeBSD include files.
2179         * lib/cdefs.h (__nonnull): Remove definition.
2180         * lib/libc-config.h (__nonnull): Remove undefinition.
2182 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2184         random_r: do not crash if state is unaligned
2185         Problem reported by Bruce Korb in:
2186         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
2187         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
2188         with 'cc -O2 -xmemalign=8s'.
2189         * lib/random_r.c: Include string.h, for memcpy.
2190         (get_int32, set_int32): New functions.
2191         (__srandom_r, __initstate_r, __setstate_r, __random_r):
2192         Use them to avoid assumption that state pointer is aligned.
2193         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
2194         * tests/test-random_r.c (test_failed): New function.
2195         (main): Use it, to test for alignment bugs.
2197         random_r: omit unnecessary include
2198         * lib/random_r.c: Do not include limits.h.
2200         random, random_r: merge from glibc
2201         * lib/random.c, lib/random_r.c:
2202         Include libc-config.h if !_LIBC, not config.h unilaterally.
2203         * lib/random.c:
2204         Do not include stdint.h or time.h; not needed.
2205         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
2206         (unsafe_state): Rename from generator.  All uses changed.
2207         Use C99-style initializers.
2208         (__random, __srandom, __initstate, __setstate): Rename from
2209         non-underscored version, but define it to non-underscored version
2210         on Gnulib.  Add a lock.
2211         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
2212         Likewise.
2213         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
2214         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
2215         (__srandom_r): Use int32_t instead of long int where int32_t will do.
2216         (__random_r): Use uint32 to fix glibc bug 17343.
2217         * modules/random, modules/random_r (Depends-on): Add libc-config.
2218         Depend on stdint only if $HAVE_RANDOM = 0.
2220 2018-06-19  Jim Meyering  <meyering@fb.com>
2222         README-release: also run any check-very-expensive tests
2223         * top/README-release: Adjust instructions so they run the
2224         check-very-expensive tests when there is such a target.
2226 2018-06-18  Bruno Haible  <bruno@clisp.org>
2228         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
2229         * m4/pthread_rwlock_rdlock.m4: Add comment.
2230         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
2231         are reader-preferring in glibc.
2232         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
2233         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
2235 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2237         crypto: use byteswap
2238         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2239         * lib/sm3.c: Include <byteswap.h>.
2240         (SWAP): Use its macros rather than reinventing the wheel.
2241         * modules/crypto/md4, modules/crypto/md5-buffer:
2242         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
2243         * modules/crypto/sha512-buffer, modules/crypto/sm3:
2244         (Depends-on): Add byteswap.
2246 2018-06-17  Pádraig Brady  <P@draigBrady.com>
2248         gendocs.sh: fix support for legacy --texi2html
2249         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
2250         to the default makeinfo invocation.
2251         Reported by Bruce Korb
2253 2018-06-17  Bruno Haible  <bruno@clisp.org>
2255         gettext po infrastructure: Update from current gettext git.
2256         Reported by Akim Demaille <akim@lrde.epita.fr>.
2257         * build-aux/po/Makefile.in.in: Update from current gettext git.
2258         * build-aux/po/remove-potcdate.sin: Likewise.
2259         * config/srclist.txt: Temporarily disable sync for these files.
2261 2018-06-17  Bruno Haible  <bruno@clisp.org>
2263         getloadavg: Return 0 on Windows without Cygwin.
2264         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
2266 2018-06-17  Paul Smith  <psmith@gnu.org>
2268         getloadavg: Allow building on Windows without Cygwin
2269         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
2270         * m4/getloadavg.m4: Check for unistd.h.
2272 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2274         Port crypto/af_alg to GCC 4.8.4
2275         Problem reported by Peter Simons in:
2276         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
2277         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
2279 2018-05-27  Colin Watson  <cjwatson@debian.org>
2281         bootstrap: document source fetching in --help
2282         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
2284 2018-04-09  Colin Watson  <cjwatson@debian.org>
2286         bootstrap: allow non-submodule control of gnulib
2287         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
2288         bootstrap.conf when fetching gnulib using "git clone" or via
2289         GNULIB_SRCDIR.
2291 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2293         crypto: omit stream ops Emacs doesn’t need
2294         * lib/md5.c (md5_stream):
2295         * lib/sha1.c (sha1_stream):
2296         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
2297         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2298         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
2299         defined.  Emacs needs this, as it does not use the stream
2300         operations and doesn’t need all the af_alg stuff we’ve recently
2301         added.  Perhaps a similar change is needed to the other crypto
2302         modules, but this patch changes only those needed for Emacs.
2303         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
2304         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
2305         New modules, used by Emacs.
2306         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2307         * modules/crypto/sha512: Rewrite to depend on the new modules.
2309 2018-05-20  Pádraig Brady  <P@draigBrady.com>
2311         fts: avoid a memory leak edge case
2312         * lib/fts.c (fts_open): Set an appropriate fts_level
2313         so that an immediate fts_close() will free the allocation.
2314         * tests/test-fts.c (fts_dealloc): Add a test case which
2315         will trigger under valgrind or address sanitizer.
2316         Fixes https://bugs.gnu.org/31439
2318 2018-05-20  Bruno Haible  <bruno@clisp.org>
2320         wcwidth tests: Fix link error.
2321         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
2322         $(LIBUNISTRING).
2324 2018-05-20  Bruno Haible  <bruno@clisp.org>
2326         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
2327         * modules/regex (Files): Add m4/glibc21.m4.
2329 2018-05-20  Bruno Haible  <bruno@clisp.org>
2331         localcharset: Optimize.
2332         * lib/localcharset.c (alias_table): Comment out no-op mappings for
2333         platforms where these don't matter. This reduces the table size,
2334         which in turn reduces the lookup time.
2336 2018-05-19  Bruno Haible  <bruno@clisp.org>
2338         localcharset: Map the locale encodings found in newer OSes.
2339         * lib/localcharset.c (alias_table): Add mapping for locale encodings
2340         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
2341         IRIX 6.5, Minix 3.3.
2342         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
2344 2018-05-19  Bruno Haible  <bruno@clisp.org>
2346         localcharset: Move mapping tables into the code. Use a binary search.
2347         * lib/localcharset.h: Document the GNU canonical names for character
2348         encodings here.
2349         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
2350         relocatable.h, configmake.h.
2351         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
2352         macros.
2353         (charset_aliases): Remove variable.
2354         (get_charset_aliases): Remove function.
2355         (struct table_entry): New type.
2356         (alias_table, locale_table): New constants.
2357         (locale_charset): Use the alias_table or locale_table to get the
2358         canonicalized encoding name.
2359         * lib/config.charset: Remove file.
2360         * lib/ref-add.sin: Remove file.
2361         * lib/ref-del.sin: Remove file.
2362         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
2363         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
2364         * modules/localcharset (Notice): Remove.
2365         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
2366         glibc21.m4.
2367         (Depends-on): Remove configmake.
2368         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
2369         (Makefile.am): Simplify.
2370         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
2372 2018-05-19  Bruno Haible  <bruno@clisp.org>
2374         localcharset: Add a manual test.
2375         * tests/test-localcharset.c: New file.
2376         * modules/localcharset-tests: New file.
2378 2018-05-19  Bruno Haible  <bruno@clisp.org>
2380         localcharset: Remove support for obsolete platforms.
2381         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
2382         Mac OS X 10.2. Comment out dubious entry for Solaris.
2384 2018-05-19  Jim Meyering  <meyering@fb.com>
2386         gnupload: adjust comment
2387         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
2388         more likely we'll remove the just-added code in a year or two.
2390 2018-05-19  Bruno Haible  <bruno@clisp.org>
2392         gnupload: Fix "gpg-agent is not available in this session" error.
2393         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
2395 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2397         crypto/af_alg: fix --help
2398         * m4/af_alg.m4: Avoid spurious newline in --help output.
2400 2018-05-13  Bruno Haible  <bruno@clisp.org>
2402         nl_langinfo: Fix compilation error on Android.
2403         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
2404         INT_CURR_SYMBOL, etc. only if these items are defined.
2406 2018-05-13  Bruno Haible  <bruno@clisp.org>
2408         truncate: Fix compilation error on Android.
2409         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
2410         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
2411         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
2412         HAVE_TRUNCATE.
2413         * modules/truncate: Likewise.
2414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
2415         not HAVE_TRUNCATE.
2416         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
2417         HAVE_TRUNCATE.
2418         * doc/posix-functions/truncate.texi: Mention the issue.
2420 2018-05-13  Bruno Haible  <bruno@clisp.org>
2422         pthread: Fix compilation error on Android.
2423         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
2424         recursive inclusion of this file.
2426 2018-05-13  Bruno Haible  <bruno@clisp.org>
2428         posix_spawn: Fix compilation error on Android.
2429         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
2430         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
2431         (posix_spawn_file_actions_t): Consider also the case
2432         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
2434 2018-05-13  Bruno Haible  <bruno@clisp.org>
2436         tsearch: Move from K&R C to ANSI C.
2437         * lib/tsearch.c (tfind): Convert definition to ANSI C.
2439 2018-05-13  Bruno Haible  <bruno@clisp.org>
2441         tsearch: Fix compilation error on Android.
2442         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
2443         is 0.
2444         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
2445         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
2446         GNULIB_defined_tsearch is true.
2447         (twalk): Define only if GNULIB_defined_twalk is true.
2448         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
2449         is 0.
2450         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
2451         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
2452         * modules/search (Makefile.am): Substitute HAVE_TWALK.
2454 2018-05-13  Bruno Haible  <bruno@clisp.org>
2456         imaxdiv: Fix compilation error on Android.
2457         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
2458         is not defined.
2459         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
2460         HAVE_DECL_IMAXDIV, is 0.
2461         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
2462         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
2464 2018-05-13  Bruno Haible  <bruno@clisp.org>
2466         Support selective inclusion mechanism of recent mingw.org header files.
2467         Reported by Eli Zaretskii <eliz@gnu.org>.
2468         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
2469         __need_ssize_t, or __need_time_t is defined, just include the system's
2470         <sys/types.h>.
2471         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2472         include the system's <locale.h>.
2474 2018-05-13  Bruno Haible  <bruno@clisp.org>
2476         Avoid compilation error due to 'mmap' on Android.
2477         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2478         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2479         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2480         Undefine on Android.
2482 2018-05-13  Bruno Haible  <bruno@clisp.org>
2484         Add cross-compilation guesses for Linux systems without glibc.
2485         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2487         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2488         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2489         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2490         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2491         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2492         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2493         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2494         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2495         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2496         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2497         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2498         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2499         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2500         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2501         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2502         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2504 2018-05-13  Bruno Haible  <bruno@clisp.org>
2506         getpagesize: Fix compilation error on Android.
2507         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2508         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2509         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2510         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2511         HAVE_GETPAGESIZE accordingly.
2512         * modules/getcwd (Files): Add m4/getpagesize.m4.
2514 2018-05-13  Bruno Haible  <bruno@clisp.org>
2516         tcgetsid: Fix compilation error on Android.
2517         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2518         AC_CHECK_FUNC.
2520 2018-05-13  Bruno Haible  <bruno@clisp.org>
2522         getpass: Fix configure test for Android.
2523         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2524         AC_CHECK_FUNC.
2526 2018-05-13  Bruno Haible  <bruno@clisp.org>
2528         ffs: Fix compilation error on Android.
2529         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2531 2018-05-13  Bruno Haible  <bruno@clisp.org>
2533         mkfifo: Fix compilation error on Android.
2534         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2535         AC_CHECK_FUNC.
2537 2018-05-13  Bruno Haible  <bruno@clisp.org>
2539         c-strtod: Fix configure test for Android.
2540         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2541         AC_CHECK_FUNC.
2543 2018-05-13  Bruno Haible  <bruno@clisp.org>
2545         random: Fix compilation error on Android.
2546         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2547         AC_CHECK_FUNC.
2549 2018-05-13  Bruno Haible  <bruno@clisp.org>
2551         grantpt: Fix compilation error on Android.
2552         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2553         AC_CHECK_FUNC.
2555 2018-05-13  Bruno Haible  <bruno@clisp.org>
2557         stdioext: Fix compilation errors with newer Android headers.
2558         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2559         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2560         fallbacks for Android.
2561         * lib/fpending.c: Update comments.
2562         * lib/fpurge.c: Likewise.
2563         * lib/freadable.h: Likewise.
2564         * lib/freadable.c: Likewise.
2565         * lib/freadahead.c: Likewise.
2566         * lib/freading.h: Likewise.
2567         * lib/freadptr.c: Likewise.
2568         * lib/fseterr.c: Likewise.
2569         * lib/fwritable.h: Likewise.
2570         * lib/fwritable.c: Likewise.
2571         * lib/fwriting.h: Likewise.
2572         * lib/fwriting.c: Likewise.
2574 2018-05-13  Bruno Haible  <bruno@clisp.org>
2576         doc: Add info about Android versions 2.0 to 8.1.
2577         * doc/**/*.texi: Add info about functions in all released versions of
2578         Bionic.
2580 2018-05-12  Bruno Haible  <bruno@clisp.org>
2582         fseeko: On mingw, don't use the hidden function _fseeki64.
2583         Reported by Eli Zaretskii <eliz@gnu.org>.
2584         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2585         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2587 2018-05-12  Bruno Haible  <bruno@clisp.org>
2589         glob: Choose 'dirent_type' in a way that works better on mingw.
2590         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2591         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2593 2018-05-12  Bruno Haible  <bruno@clisp.org>
2595         execute, spawn-pipe: Avoid warning about redefining 'close'.
2596         Reported by Eli Zaretskii <eliz@gnu.org>.
2597         * lib/execute.c: Undefine 'close' before redefining it.
2598         * lib/spawn-pipe.c: Likewise.
2600 2018-05-12  Bruno Haible  <bruno@clisp.org>
2602         nanosleep: Avoid test failure on mingw when it has nanosleep.
2603         Reported by Eli Zaretskii <eliz@gnu.org>.
2604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2605         If it does not exist, use a simpler test program that does not call
2606         alarm().
2608 2018-05-10  Bruno Haible  <bruno@clisp.org>
2610         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2611         Reported by Devin Hussey <husseydevin@gmail.com>.
2612         Based on a patch by Paul Eggert.
2613         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2614         as witness of libpthread.
2615         * lib/glthread/cond.h (pthread_in_use): Likewise.
2616         * lib/glthread/thread.h (pthread_in_use): Likewise.
2617         * lib/glthread/tls.h (pthread_in_use): Likewise.
2619 2018-05-10  Bruno Haible  <bruno@clisp.org>
2621         cond tests: Fix compilation error on Solaris.
2622         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2623         macro.
2625 2018-05-10  Bruno Haible  <bruno@clisp.org>
2627         doc: Add partial info about Android 4.3.
2628         * doc/*-functions/*.texi: Add info about functions that were added
2629         to Bionic between Android 4.3 and Android 9.0.
2631 2018-05-10  Bruno Haible  <bruno@clisp.org>
2633         doc: Add info about Android 9.0.
2634         * doc/**/*.texi: Add info about functions and headers in Bionic from
2635         Android 9.0.
2637 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2639         af_alg: fix my typo in afalg_buffer
2640         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2641         (afalg_stream): Simplify and avoid the need for a runtime test
2642         at the end.
2644         af_alg: recover better from crypto failures
2645         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2646         input stream is seekable, by repositioning the stream back to
2647         where it was, possibly by just calling sendfile with an offset
2648         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2649         cases, which lets our callers try again with user-mode code.
2650         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2651         instead of on fflush and lseek.
2653         af_alg: distiguish I/O errors better
2654         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2655         not -EIO, if it’s OK for the caller to try again with user-mode code.
2656         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2657         some other error number) if fflush fails, as the caller should not
2658         try again that case.
2660         af_alg: avoid gotos
2661         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2662         gotos, as they were a source of unreliability and made the code a
2663         bit harder to follow.
2665         af_alg: don’t leak file descriptors into children
2666         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2667         This code should be compiled only on recent GNU/Linux platforms
2668         so we shouldn’t have to also depend on the accept4 module.
2670         af_alg: coalesce socket creation
2671         * lib/af_alg.c (alg_socket): New function.
2672         (afalg_buffer, afalg_stream): Use it.  This avoids some
2673         code duplication and gotos.
2675         af_alg: fix file descriptor leak
2676         * lib/af_alg.c (afalg_stream): Close leak.
2678         af_alg: Pacify --enable-gcc-warnings on GCC 8
2679         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2680         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2682 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2684         af_alg: Pacify --enable-gcc-warnings
2685         Problem reported by Assaf Gordon in:
2686         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2687         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2688         gcc -Wjump-misses-init.
2689         * lib/sha512.c (shaxxx_stream): Now static.
2691 2018-05-06  Bruno Haible  <bruno@clisp.org>
2693         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2694         * lib/af_alg.h (afalg_buffer): New declaration.
2695         * lib/af_alg.c (afalg_buffer): New function.
2697 2018-05-06  Bruno Haible  <bruno@clisp.org>
2699         af_alg: Avoid warnings.
2700         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2701         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2703 2018-05-06  Bruno Haible  <bruno@clisp.org>
2705         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2706         * tests/bench-digest.h: New file.
2707         * tests/bench-md5.c: New file.
2708         * tests/bench-sha1.c: New file.
2709         * tests/bench-sha224.c: New file.
2710         * tests/bench-sha256.c: New file.
2711         * tests/bench-sha384.c: New file.
2712         * tests/bench-sha512.c: New file.
2713         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2714         tests/bench-digest.h.
2715         (Depends-on): Add getrusage, gettimeofday.
2716         (Makefile.am): Add variables to build bench-md5.
2717         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2718         tests/bench-digest.h.
2719         (Depends-on): Add getrusage, gettimeofday.
2720         (Makefile.am): Add variables to build bench-sha1.
2721         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2722         tests/bench-sha256.c, tests/bench-digest.h.
2723         (Depends-on): Add getrusage, gettimeofday.
2724         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2725         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2726         tests/bench-sha512.c, tests/bench-digest.h.
2727         (Depends-on): Add getrusage, gettimeofday.
2728         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2730 2018-05-06  Bruno Haible  <bruno@clisp.org>
2732         af_alg: Fix a resource leak.
2733         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2734         New local variable 'result'.
2736 2018-05-06  Bruno Haible  <bruno@clisp.org>
2738         af_alg: Fix bug with streams that are not at position 0.
2739         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2740         assume that the stream is positioned at position 0.
2741         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2742         of the stream.
2743         * lib/md5.h (md5_stream): Likewise.
2744         * lib/sha1.h (sha1_stream): Likewise.
2745         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2746         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2747         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2749         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2750         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2751         stream that is not positioned at the beginning.
2753 2018-05-06  Bruno Haible  <bruno@clisp.org>
2755         af_alg: Add configure option to enable/disable use of Linux crypto API.
2756         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2757         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2758         USE_LINUX_CRYPTO_API.
2759         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2760         * lib/af_alg.c: Likewise.
2762 2018-05-06  Bruno Haible  <bruno@clisp.org>
2764         Followup to 'af_alg: New module.'.
2765         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2766         * modules/crypto/sha1 (Depends-on): Likewise.
2767         * modules/crypto/sha256 (Depends-on): Likewise.
2768         * modules/crypto/sha512 (Depends-on): Likewise.
2770 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2772         crypto/{md5,sha1,sha256,sha512}: simplify
2773         * lib/md5.c (md5_stream):
2774         * lib/sha1.c (sha1_stream):
2775         * lib/sha256.c (shaxxx_stream):
2776         Simplify, partly by assuming C99.
2777         * lib/sha256.c (shaxxx_stream):
2778         New function, which implements both sha256 and sha224.
2779         Simplify, partly by assuming C99.
2780         (sha256_stream, sha224_stream):
2781         Use it to avoid code duplication, removing a FIXME.
2782         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2783         Likewise.
2785         af_alg: Improve comments.
2786         * lib/af_alg.h: Use imperatives and tighten up wording.
2788 2018-05-05  Bruno Haible  <bruno@clisp.org>
2790         af_alg: Improve comments.
2791         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2793 2018-05-05  Bruno Haible  <bruno@clisp.org>
2795         af_alg: New module.
2796         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2797         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2798         * lib/md5.c: Include "af_alg.h" unconditionally.
2799         (md5_stream): Invoke afalg_stream unconditionally.
2800         * lib/sha1.c: Include "af_alg.h" unconditionally.
2801         (sha1_stream): Invoke afalg_stream unconditionally.
2802         * lib/sha256.c: Include "af_alg.h" unconditionally.
2803         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2804         * lib/sha512.c: Include "af_alg.h" unconditionally.
2805         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2806         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2807         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2808         * modules/crypto/af_alg: New file.
2809         * modules/crypto/md5 (Files): Remove files that are now in the
2810         'crypto/af_alg' module.
2811         (Depends-on): Add crypto/af_alg.
2812         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2813         (Makefile.am): Don't mention af_alg.c here.
2814         * modules/crypto/sha1 (Files): Remove files that are now in the
2815         'crypto/af_alg' module.
2816         (Depends-on): Add crypto/af_alg.
2817         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2818         (Makefile.am): Don't mention af_alg.c here.
2819         * modules/crypto/sha256 (Files): Remove files that are now in the
2820         'crypto/af_alg' module.
2821         (Depends-on): Add crypto/af_alg.
2822         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2823         (Makefile.am): Don't mention af_alg.c here.
2824         * modules/crypto/sha512 (Files): Remove files that are now in the
2825         'crypto/af_alg' module.
2826         (Depends-on): Add crypto/af_alg.
2827         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2828         (Makefile.am): Don't mention af_alg.c here.
2830 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2832         crypto tests: pacify GCC
2833         * tests/test-digest.h (test_digest_on_files):
2834         Don’t assume digest size fits in int (!).
2836         af_alg: minor style improvements
2837         * lib/af_alg.c (afalg_stream): Prefer C99 style
2838         decl-after-statement, since we’re already assuming C99.  Clarify
2839         by strengthening the bind test and omit unnecessary assignment.
2841 2018-05-05  Bruno Haible  <bruno@clisp.org>
2843         af_alg: Fix bug on empty files.
2844         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2845         stream is empty.
2847 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2849         sys-limits.h: new file for crypto and safe I/O
2850         * lib/af_alg.c: Include sys-limits.h.
2851         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2852         (afalg_stream): Also reject negative sizes for sendfile; they
2853         should not happen and the code is a bit cleaner and faster this way.
2854         * lib/safe-read.c: Include sys-limits.h.
2855         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2856         * lib/sys-limits.h: New file, with values and commentary derived
2857         from the old safe-read.c and from GNU Emacs sysdep.c.
2858         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2859         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2860         Add lib/sys-limits.h to Files section.
2862 2018-05-05  Bruno Haible  <bruno@clisp.org>
2864         af_alg: Improve function signature.
2865         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2866         * lib/af_alg.c (afalg_stream): Likewise.
2867         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2869 2018-05-05  Bruno Haible  <bruno@clisp.org>
2871         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2872         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2873         * modules/crypto/sha1 (Depends-on): Likewise.
2874         * modules/crypto/sha256 (Depends-on): Likewise.
2875         * modules/crypto/sha512 (Depends-on): Likewise.
2877 2018-05-05  Bruno Haible  <bruno@clisp.org>
2879         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2880         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2881         * modules/crypto/sha1 (Depends-on): Likewise.
2882         * modules/crypto/sha256 (Depends-on): Likewise.
2883         * modules/crypto/sha512 (Depends-on): Likewise.
2885 2018-05-05  Bruno Haible  <bruno@clisp.org>
2887         af_alg: Add documentation.
2888         * lib/af_alg.h: Add comments.
2890 2018-05-05  Bruno Haible  <bruno@clisp.org>
2892         sha512: Add tests.
2893         * tests/test-sha512.c: New file.
2894         * modules/crypto/sha512-tests: New file.
2896 2018-05-05  Bruno Haible  <bruno@clisp.org>
2898         sha256: Add tests.
2899         * tests/test-sha256.c: New file.
2900         * modules/crypto/sha256-tests: New file.
2902 2018-05-05  Bruno Haible  <bruno@clisp.org>
2904         sha1 tests: Add test for sha1_stream.
2905         * tests/test-sha1.c: Include test-digest.h.
2906         (main): Invoke test_digest_on_files on 'sha1_stream'.
2907         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2909 2018-05-05  Bruno Haible  <bruno@clisp.org>
2911         md5 tests: Add test for md5_stream.
2912         * tests/test-digest.h: New file.
2913         * tests/test-md5.c: Include test-digest.h.
2914         (main): Invoke test_digest_on_files on 'md5_stream'.
2915         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2917 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2919         md5sum: Use AF_ALG when available.
2920         * lib/md5.c: Include af_alg.h.
2921         (md5_stream): Use afalg_stream when available.
2922         * modules/crypto/md5 (Files): Add the af_alg files.
2923         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2924         (Makefile.am): Add af_alg.c.
2926 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2928         sha512sum: Use AF_ALG when available.
2929         * lib/sha512.c: Include af_alg.h.
2930         (sha512_stream, sha384_stream): Use afalg_stream when available.
2931         * modules/crypto/sha512 (Files): Add the af_alg files.
2932         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2933         (Makefile.am): Add af_alg.c.
2935 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2937         sha256sum: Use AF_ALG when available.
2938         * lib/sha256.c: Include af_alg.h.
2939         (sha256_stream, sha224_stream): Use afalg_stream when available.
2940         * modules/crypto/sha256 (Files): Add the af_alg files.
2941         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2942         (Makefile.am): Add af_alg.c.
2944 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2946         sha1sum: Use AF_ALG when available.
2947         * lib/af_alg.h: New file.
2948         * lib/af_alg.c: New file.
2949         * lib/sha1.c: Include af_alg.h.
2950         (sha1_stream): Use afalg_stream when available.
2951         * m4/linux-if-alg.m4: New file.
2952         * modules/crypto/sha1 (Files): Add the new files.
2953         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2954         (Makefile.am): Add af_alg.c.
2956 2018-05-05  Bruno Haible  <bruno@clisp.org>
2958         all: Replace more http URLs by https URLs.
2959         * lib/localename.c: Use https: URL.
2960         * lib/timespec.h: Likewise.
2962 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2964         maint: port more modules to GCC 8
2965         * lib/dirname.h (base_name):
2966         * lib/exclude.h (new_exclude):
2967         * lib/xstrndup.h (xstrndup):
2968         Add malloc attribute.
2969         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2970         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2971         This pacifies GCC 8.
2972         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2973         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2975 2018-05-03  Bruno Haible  <bruno@clisp.org>
2977         Simplify code. Drop support for Borland C++ on Windows.
2978         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2979         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2980         'defined _WIN32'.
2981         * lib/canonicalize-lgpl.c: Likewise.
2982         * lib/classpath.c: Likewise.
2983         * lib/clean-temp.c: Likewise.
2984         * lib/csharpexec.c: Likewise.
2985         * lib/ctime.c: Likewise.
2986         * lib/dosname.h: Likewise.
2987         * lib/dup2.c: Likewise.
2988         * lib/errno.in.h: Likewise.
2989         * lib/error.c: Likewise.
2990         * lib/euidaccess.c: Likewise.
2991         * lib/execute.c: Likewise.
2992         * lib/fcntl.in.h: Likewise.
2993         * lib/fcntl.c: Likewise.
2994         * lib/filename.h: Likewise.
2995         * lib/findprog.c: Likewise.
2996         * lib/flock.c: Likewise.
2997         * lib/fopen.c: Likewise.
2998         * lib/freopen.c: Likewise.
2999         * lib/fstat.c: Likewise.
3000         * lib/fsync.c: Likewise.
3001         * lib/gc-gnulib.c: Likewise.
3002         * lib/get-rusage-data.c: Likewise.
3003         * lib/getaddrinfo.c: Likewise.
3004         * lib/getdelim.c: Likewise.
3005         * lib/getdtablesize.c: Likewise.
3006         * lib/gethostname.c: Likewise.
3007         * lib/getlogin.c: Likewise.
3008         * lib/getlogin_r.c: Likewise.
3009         * lib/getopt.c: Likewise.
3010         * lib/getpagesize.c: Likewise.
3011         * lib/getpass.c: Likewise.
3012         * lib/getrusage.c: Likewise.
3013         * lib/gettimeofday.c: Likewise.
3014         * lib/glob.c: Likewise.
3015         * lib/inttypes.in.h: Likewise.
3016         * lib/isapipe.c: Likewise.
3017         * lib/javaexec.c: Likewise.
3018         * lib/link.c: Likewise.
3019         * lib/localcharset.c: Likewise.
3020         * lib/localename.h: Likewise.
3021         * lib/localename.c: Likewise.
3022         * lib/localtime.c: Likewise.
3023         * lib/lseek.c: Likewise.
3024         * lib/mbsinit.c: Likewise.
3025         * lib/mkdir.c: Likewise.
3026         * lib/msvc-nothrow.h: Likewise.
3027         * lib/nanosleep.c: Likewise.
3028         * lib/nl_langinfo.c: Likewise.
3029         * lib/nonblocking.c: Likewise.
3030         * lib/nproc.c: Likewise.
3031         * lib/open.c: Likewise.
3032         * lib/openpty.c: Likewise.
3033         * lib/pathmax.h: Likewise.
3034         * lib/pipe-filter-aux.c: Likewise.
3035         * lib/pipe-filter-gi.c: Likewise.
3036         * lib/pipe-filter-ii.c: Likewise.
3037         * lib/pipe.c: Likewise.
3038         * lib/pipe2.c: Likewise.
3039         * lib/poll.c: Likewise.
3040         * lib/popen.c: Likewise.
3041         * lib/posix_openpt.c: Likewise.
3042         * lib/printf-parse.c: Likewise.
3043         * lib/progreloc.c: Likewise.
3044         * lib/putenv.c: Likewise.
3045         * lib/read.c: Likewise.
3046         * lib/relocatable.c: Likewise.
3047         * lib/rename.c: Likewise.
3048         * lib/same-inode.h: Likewise.
3049         * lib/secure_getenv.c: Likewise.
3050         * lib/select.c: Likewise.
3051         * lib/sethostname.c: Likewise.
3052         * lib/setlocale.c: Likewise.
3053         * lib/sigaction.c: Likewise.
3054         * lib/sigprocmask.c: Likewise.
3055         * lib/sleep.c: Likewise.
3056         * lib/spawn-pipe.h: Likewise.
3057         * lib/spawn-pipe.c: Likewise.
3058         * lib/spawni.c: Likewise.
3059         * lib/stat-time.h: Likewise.
3060         * lib/stat-w32.c: Likewise.
3061         * lib/stat.c: Likewise.
3062         * lib/stdio.in.h: Likewise.
3063         * lib/stdio-impl.h: Likewise.
3064         * lib/stdio-read.c: Likewise.
3065         * lib/stdio-write.c: Likewise.
3066         * lib/stdlib.in.h: Likewise.
3067         * lib/strerror_r.c: Likewise.
3068         * lib/strftime-fixes.c: Likewise.
3069         * lib/sys_stat.in.h: Likewise.
3070         * lib/sys_types.in.h: Likewise.
3071         * lib/sys_wait.in.h : Likewise.
3072         * lib/system-quote.h: Likewise.
3073         * lib/system-quote.c: Likewise.
3074         * lib/tmpdir.c: Likewise.
3075         * lib/tzset.c: Likewise.
3076         * lib/uname.c: Likewise.
3077         * lib/unistd.in.h: Likewise.
3078         * lib/utime.in.h: Likewise.
3079         * lib/utime.c: Likewise.
3080         * lib/utimecmp.c: Likewise.
3081         * lib/utimens.c: Likewise.
3082         * lib/vasnprintf.c: Likewise.
3083         * lib/vma-iter.h: Likewise.
3084         * lib/vma-iter.c: Likewise.
3085         * lib/wait-process.c: Likewise.
3086         * lib/wcsftime.c: Likewise.
3087         * lib/wctype.in.h: Likewise.
3088         * lib/write.c: Likewise.
3089         * tests/nap.h: Likewise.
3090         * tests/test-cloexec.c: Likewise.
3091         * tests/test-dup-safer.c: Likewise.
3092         * tests/test-dup2.c: Likewise.
3093         * tests/test-dup3.c: Likewise.
3094         * tests/test-fcntl.c: Likewise.
3095         * tests/test-get-rusage-data.c: Likewise.
3096         * tests/test-getaddrinfo.c: Likewise.
3097         * tests/test-getlogin.h: Likewise.
3098         * tests/test-isatty.c: Likewise.
3099         * tests/test-localename.c: Likewise.
3100         * tests/test-mbrtowc-w32.c: Likewise.
3101         * tests/test-nonblocking.c: Likewise.
3102         * tests/test-nonblocking-pipe-main.c: Likewise.
3103         * tests/test-nonblocking-socket-main.c: Likewise.
3104         * tests/test-nonblocking-socket.h: Likewise.
3105         * tests/test-pipe.c: Likewise.
3106         * tests/test-pipe2.c: Likewise.
3107         * tests/test-poll.c: Likewise.
3108         * tests/test-pthread_sigmask1.c: Likewise.
3109         * tests/test-select.h: Likewise.
3110         * tests/test-sethostname2.c: Likewise.
3111         * tests/test-sigprocmask.c: Likewise.
3112         * tests/test-spawn-pipe-child.c: Likewise.
3113         * tests/test-stat-time.c: Likewise.
3114         * tests/test-system-quote-main.c: Likewise.
3115         * tests/test-utimens-common.h: Likewise.
3116         * tests/test-wcrtomb-w32.c: Likewise.
3117         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3118         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3119         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3120         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3121         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
3122         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3123         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3124         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3125         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3126         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3127         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
3128         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
3129         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3130         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3131         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
3132         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3134 2018-05-02  Bruno Haible  <bruno@clisp.org>
3136         localename: Fix test failures on mingw.
3137         * lib/localename.c (gl_locale_name_thread): Remove code specific to
3138         native Windows.
3139         (gl_locale_name_posix): Move code specific to native Windows here.
3140         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
3141         Accept result without charset suffix, as it appears on mingw.
3143 2018-04-28  Paul Smith  <psmith@gnu.org>
3145         bootstrap: Avoid gnulib operations if not needed
3146         * build-aux/bootstrap: Remove unused variable gnulib_mk.
3147         Set $gnulib_extra_files early so it can be overridden in .conf.
3148         Remove redundant --import flag from $gnulib_tool_options.
3149         Set $use_gnulib to false if no gnulib modules or files are needed.
3150         If $use_gnulib is false, don't do anything related to gnulib.
3151         A lot of this is just whitespace (indentation) changes.
3153 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3155         manywarnings: port to GCC 8.0
3156         * build-aux/gcc-warning.spec: Add -Wcatch-value,
3157         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
3158         fact that the GCC help message now mentions operands for
3159         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
3160         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
3161         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
3162         and -Wunused-const-variable.
3163         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
3164         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
3165         -Wmissing-attributes, -Wmultistatement-macros,
3166         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
3167         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
3169 2018-04-24  Bruno Haible  <bruno@clisp.org>
3171         sys_socket: Make SO_REUSEPORT available across platforms.
3172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3173         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
3174         * doc/posix-headers/sys_socket.texi: Mention the issue.
3175         * tests/test-poll.c (SO_REUSEPORT): Remove.
3176         * tests/test-select.h: Include <sys/socket.h>.
3177         (SO_REUSEPORT): Remove.
3178         * modules/select-tests (Depends-on): Add 'sys_socket'.
3180 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
3182         localcharset: short-circuit the search for an alias on a Mac
3183         * lib/localcharset.c (get_charset_aliases): Add a tautological
3184         UTF-8 entry to speed up the search for this case.
3185         Most machines default to a UTF-8 locale nowadays, so begin the
3186         list of aliases with a dummy UTF-8 entry so it will be found
3187         immediately and a time-consuming search through the rest of
3188         the list is avoided.
3190 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
3192         fts: add comment
3193         * lib/fts.c (fts_build): Explain why ==, not >.
3194         See remark by Bernhard Voelker in:
3195         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
3197         fts: fix bug in find across filesystems
3198         This fixes a bug I introduced last summer.
3199         Problem reported by Kamil Dudka in:
3200         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
3201         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
3202         (leaf_optimization):
3203         New arg for file descriptor.  All callers changed.
3204         (fts_build): Check for whether inodes should be sorted
3205         before closing the directory.
3207 2018-04-07  Bruno Haible  <bruno@clisp.org>
3209         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
3210         Reported by Genki Sky <sky@genki.is>.
3211         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
3212         version 0.9.10 or newer.
3213         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
3214         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
3215         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
3216         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
3217         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
3219 2018-04-07  Bruno Haible  <bruno@clisp.org>
3221         execute: Update comment.
3222         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
3224 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3226         fts: treat CIFS like NFS
3227         Problem reported by Kamil Dudka in:
3228         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
3229         * lib/fts.c (S_MAGIC_CIFS): New macro.
3230         (dirent_inode_sort_may_be_useful, leaf_optimization):
3231         Treat CIFS like NFS.
3233 2018-03-28  Bruno Haible  <bruno@clisp.org>
3235         c-stack: Fix possible build failure on some platforms.
3236         * lib/c-stack.c (die): Define whenever this function is referenced.
3238 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
3240         time_rz: fix workaround for Mac OS X 10.6 infloop
3241         Problems reported by Charles A. Roelli (Bug#27736#117).
3242         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
3243         Also, discard output, which clutters the 'configure' log.
3245 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3247         havelib: port to Solaris 10 /bin/sh
3248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
3249         instead of '! test EXPR'.
3251 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
3253         time_rz: work around Mac OS X 10.6 infloop
3254         * doc/posix-functions/localtime.texi:
3255         * doc/posix-functions/localtime_r.texi: Mention the bug.
3256         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
3257         better to fix localtime and localtime_r instead, but that would be
3258         more work and is not needed to fix the Emacs problem.
3259         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
3261 2018-03-24  Jim Meyering  <meyering@fb.com>
3263         test-version-etc.sh: don't use diff directly: use init.sh's compare
3264         We'd rather not sacrifice readable "diff -u" output even for
3265         "diff -c" output (not supported by busybox) or for even less
3266         readable ed-style "diff" output.  So use init.sh's compare function
3267         * tests/test-version-etc.sh: Source init.sh and add "." to path.
3268         Remove "./" from invocation of test-version-etc, so we use path.
3269         And s/diff/compare/.
3270         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
3271         to get init.sh.
3272         Prompted by Eric Blake's comments in
3273         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
3275 2018-03-24  Bruno Haible  <bruno@clisp.org>
3277         javacomp-script, javacomp: Add support for Java 10.
3278         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
3279         target-version 10.
3280         * lib/javaversion.h: Update comments.
3281         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3282         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3283         TARGET_VERSION_BOUND, target_version_index,
3284         corresponding_classfile_version): Accept source_version 10 and
3285         target_version 10.
3286         * lib/javacomp.h: Update comments accordingly.
3288 2018-03-24  Bruno Haible  <bruno@clisp.org>
3290         javacomp-script, javacomp: Update comments.
3291         * m4/javacomp.m4: Update comments regarding gcj.
3292         * lib/javacomp.h: Likewise.
3294 2018-03-24  Bruno Haible  <bruno@clisp.org>
3296         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
3297         * lib/javaversion.h: Update comments.
3298         * lib/javacomp.h: Likewise.
3299         * lib/javacomp.c (default_target_version, source_version_index,
3300         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
3301         "1.9".
3302         (TARGET_VERSION_BOUND): Bump to 9.
3303         (target_version_index, corresponding_classfile_version): Recognize "9"
3304         instead of "1.9".
3305         (get_source_version_for_javac): New function.
3306         (is_envjavac_nongcj_usable, is_javac_usable): Add
3307         source_version_for_javac argument.
3308         (compile_java_class): Determine and pass source_version_for_javac.
3309         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
3310         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
3311         appropriate.
3313 2018-03-23  Jim Meyering  <meyering@fb.com>
3315         test-version-etc.sh: port to diff without -c
3316         * tests/test-version-etc.sh: Don't use diff's -c option.
3317         This caused spurious test failure on Alpine Linux, which
3318         uses busybox's diff. Reported by Assaf Gordon in
3319         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
3321 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3323         c-stack: port to recent GCC build
3324         Problem reported by The Fireplace (Bug#30913).
3325         * lib/c-stack.c (die): Define only if used.
3327 2018-03-20  Bruno Haible  <bruno@clisp.org>
3329         euidaccess: Port to native Windows.
3330         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
3331         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
3333 2018-03-19  Bruno Haible  <bruno@clisp.org>
3335         javacomp: Add support for Java 7, 8, 9.
3336         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3337         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3338         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
3339         and target_version 1,7, 1.8, 1.9.
3340         * lib/javacomp.h: Update comments accordingly.
3342 2018-03-19  Bruno Haible  <bruno@clisp.org>
3344         javacomp-script: Add support for Java 9.
3345         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
3346         target-version 1.9.
3348 2018-03-16  Bruno Haible  <bruno@clisp.org>
3350         glob: Don't compile replacements on recent glibc systems.
3351         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
3352         REPLACE_GLOB is 0, include the system's <glob.h> and use
3353         _GL_CXXALIAS_SYS.
3354         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
3355         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
3356         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
3357         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
3358         Remove snippet/warn-on-use.
3359         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
3360         (Makefile.am): Create glob.h always. Update list of substitutions in
3361         glob.h. Don't depend on $(WARN_ON_USE_H).
3363 2018-03-16  Bruno Haible  <bruno@clisp.org>
3365         glob: Fix link error on native Windows.
3366         * modules/glob (Depends-on): Add 'lstat'.
3368 2018-03-15  Bruno Haible  <bruno@clisp.org>
3370         glob: Fix compilation error in C++ mode.
3371         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
3373 2018-03-15  Bruno Haible  <bruno@clisp.org>
3375         host-cpu-c-abi: Support for RISC-V CPU.
3376         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
3377         riscv32 and riscv64 ABIs.
3378         References:
3379         https://github.com/riscv/riscv-toolchain-conventions
3380         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
3381         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
3383 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3385         fflush: be more paranoid about libio.h change
3386         Suggested by Eli Zaretskii in:
3387         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
3388         * lib/fbufmode.c (fbufmode):
3389         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3390         (disable_seek_optimization, rpl_fflush):
3391         * lib/fpending.c (__fpending):
3392         * lib/fpurge.c (fpurge):
3393         * lib/freadable.c (freadable):
3394         * lib/freadahead.c (freadahead):
3395         * lib/freading.c (freading):
3396         * lib/freadptr.c (freadptr):
3397         * lib/freadseek.c (freadptrinc):
3398         * lib/fseeko.c (fseeko):
3399         * lib/fseterr.c (fseterr):
3400         * lib/fwritable.c (fwritable):
3401         * lib/fwriting.c (fwriting):
3402         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
3404 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
3406         maint: write-file-hooks -> before-save-hook
3407         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
3408         it's time to use the recommended replacement.
3409         Problem reported by Glenn Morris in:
3410         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
3411         * build-aux/announce-gen, build-aux/bootstrap:
3412         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
3413         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
3414         * build-aux/gnu-web-doc-update, build-aux/gnupload:
3415         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
3416         * build-aux/update-copyright, build-aux/useless-if-before-free:
3417         * build-aux/vc-list-files:
3418         Update hook usage for files where Gnulib is the canonical source.
3420 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
3422         binary-io: pacify gcc -Wunused-parameter
3423         Problem reported by Reuben Thomas in:
3424         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
3425         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
3426         Use _GL_UNUSED where appropriate.
3428         fflush: adjust to glibc 2.28 libio.h removal
3429         Problem reported by Daniel P. Berrangé in:
3430         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
3431         * lib/fbufmode.c (fbufmode):
3432         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3433         (disable_seek_optimization, rpl_fflush):
3434         * lib/fpending.c (__fpending):
3435         * lib/fpurge.c (fpurge):
3436         * lib/freadable.c (freadable):
3437         * lib/freadahead.c (freadahead):
3438         * lib/freading.c (freading):
3439         * lib/freadptr.c (freadptr):
3440         * lib/freadseek.c (freadptrinc):
3441         * lib/fseeko.c (fseeko):
3442         * lib/fseterr.c (fseterr):
3443         * lib/fwritable.c (fwritable):
3444         * lib/fwriting.c (fwriting):
3445         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
3446         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
3447         Define if not already defined.
3449 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
3451         environ: fix link error on 32-bit Cygwin
3452         Problem reported for GNU Emacs by Ken Brown in:
3453         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
3454         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
3456 2018-02-24  Bruno Haible  <bruno@clisp.org>
3458         mbrtowc tests: Fix regression on glibc.
3459         Reported by Bernhard Voelker.
3460         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3462 2018-02-24  Bruno Haible  <bruno@clisp.org>
3464         striconveha, uniconv/*: Avoid test failures on musl libc.
3465         * tests/iconvsupport.c: New file.
3466         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
3467         does not support the ISO-2022-JP-2 encoding.
3468         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3469         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3470         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3471         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3472         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3473         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3474         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3475         (Makefile.am): Link test-striconveha with iconvsupport.o.
3476         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3477         tests/iconvsupport.c.
3478         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3479         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3480         tests/iconvsupport.c.
3481         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3482         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3483         tests/iconvsupport.c.
3484         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3485         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3486         tests/iconvsupport.c.
3487         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3488         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3489         tests/iconvsupport.c.
3490         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3491         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3492         tests/iconvsupport.c.
3493         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3495 2018-02-24  Bruno Haible  <bruno@clisp.org>
3497         localename: Add support for musl libc.
3498         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3499         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3500         on Linux platforms which define NL_LOCALE_NAME.
3502 2018-02-24  Bruno Haible  <bruno@clisp.org>
3504         mbrtowc tests: Don't make assumptions about the charset the C locale.
3505         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3506         particular mapping in the C locale.
3508 2018-02-24  Bruno Haible  <bruno@clisp.org>
3510         ptsname_r: Don't expect that this function sets errno.
3511         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3512         from ptsname_r().
3513         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3515 2018-02-23  Bruno Haible  <bruno@clisp.org>
3517         xmalloca: pacify gcc -Wbad-function-cast
3518         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3520 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3522         nl_langinfo: pacify gcc -Wunused-function
3523         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3524         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3525         this case.  Without this change, I got a diagnostic when building
3526         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3528         same: pacify gcc -Wunused-variable
3529         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3530         Omit unused variable.
3532         malloca: pacify gcc -Wbad-function-cast
3533         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3534         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3535         To pacify GCC, I had to cast alloca’s result to some type other
3536         than void * before casting that to uintptr_t.
3538 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3540         utimecmp: new function utimecmpat
3541         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3542         Do not include utimens.h.
3543         (utimecmpat): New function, generalizing utimecmp.
3544         (utimecmp): Now a thin layer around utimecmpat.
3545         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3546         utimensat instead of on lstat and utimens.
3548         same: new function same_nameat
3549         * lib/same.c: Include fcntl.h.
3550         * lib/same.c (same_nameat): New function, generalizing same_name.
3551         (same_name): Now a thin layer around same_nameat.
3552         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3553         * modules/same (Depends-on): Depend on fstatat, openat.
3555 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3557         warnings: Add support for Objective C.
3558         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3559         macro.
3561 2018-02-17  Bruno Haible  <bruno@clisp.org>
3563         lock: Fix test-once1 crash on FreeBSD11.
3564         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3565         'pthread_create', not 'pthread_cancel'.
3567 2018-02-17  Bruno Haible  <bruno@clisp.org>
3569         lock: Add test of gl_once.
3570         * tests/test-once.c: New file.
3571         * modules/lock-tests (Files): Add it.
3572         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3574 2018-02-17  Bruno Haible  <bruno@clisp.org>
3576         thread: Fix compilation error on IRIX.
3577         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3578         needed; include it outside the C++ extern "C" {} block.
3579         * doc/posix-headers/pthread.texi: Mention the problem with
3580         pthread_atfork on IRIX.
3582 2018-02-04  Bruno Haible  <bruno@clisp.org>
3584         nl_langinfo: Override the system's nl_langinfo() when needed.
3585         Reported by Jim Meyering.
3586         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3587         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3589 2018-02-04  Bruno Haible  <bruno@clisp.org>
3591         signal-h, monetary, strings: Fix build failure in some cases.
3592         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3593         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3594         as delimiter in sed command, not '|'.
3595         * modules/monetary (Makefile.am): Likewise.
3596         * modules/strings (Makefile.am): Likewise.
3598 2018-02-03  Jim Meyering  <meyering@fb.com>
3600         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3601         * top/maint.mk (sc_file_system): Don't complain about
3602         "/proc/filesystems".
3604 2018-02-03  Bruno Haible  <bruno@clisp.org>
3606         stdlib: Fix compilation error on OpenIndiana.
3607         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3608         <sys/time.h>.
3609         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3610         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3612 2018-02-03  Bruno Haible  <bruno@clisp.org>
3614         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3615         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3616         and use $EGREP instead of 'grep -E'.
3617         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3618         'grep -E'.
3620 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3622         malloca: Add a compile-time verification.
3623         * lib/malloca.c (small_t): Verify that it is wide enough.
3624         * modules/malloca (Depends-on): Add verify.
3626 2018-02-02  Bruno Haible  <bruno@clisp.org>
3628         malloca: Add an argument check.
3629         Suggested by Paul Eggert.
3630         * lib/malloca.c (freea): Check against an invalid argument.
3632 2018-02-02  Bruno Haible  <bruno@clisp.org>
3634         localename: Add support for OpenIndiana.
3635         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3636         Solaris 11 variants with uselocale() but without getlocalename_l().
3638 2018-02-02  Bruno Haible  <bruno@clisp.org>
3640         malloca, xmalloca: Make multithread-safe.
3641         Reported by Florian Weimer <fweimer@redhat.com>.
3642         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3643         * lib/malloca.h (malloca): In the stack allocation case, return a
3644         pointer that is a multiple of 2 * sa_alignment_max.
3645         (sa_increment): Remove enum item.
3646         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3647         a pointer that is a multiple of 2 * sa_alignment_max.
3648         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3649         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3650         HASH_TABLE_SIZE, mmalloca_results): Remove.
3651         (small_t): New type.
3652         (mmalloca, free): Rewritten.
3653         * lib/malloca.valgrind: Remove file.
3654         * modules/malloca (Files): Remove it.
3655         (Depends-on): Remove verify.
3657 2018-01-31  Bruno Haible  <bruno@clisp.org>
3659         environ: Fix link error on 64-bit Cygwin.
3660         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3661         __declspec(dllimport) attribute.
3662         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3664 2018-01-30  Bruno Haible  <bruno@clisp.org>
3666         get-rusage-data: Add support for Minix 3.
3667         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3669 2018-01-30  Bruno Haible  <bruno@clisp.org>
3671         vma-iter: Add support for Minix 3.
3672         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3673         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3675 2018-01-27  Bruno Haible  <bruno@clisp.org>
3677         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3678         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3679         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3680         _HPUX_ALT_XOPEN_SOCKET_API.
3681         * modules/accept (Depends-on): Add 'extensions'.
3682         * modules/getpeername (Depends-on): Likewise.
3683         * modules/getsockname (Depends-on): Likewise.
3684         * modules/getsockopt (Depends-on): Likewise.
3685         * modules/recvfrom (Depends-on): Likewise.
3686         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3687         * doc/posix-functions/getpeername.texi: Likewise.
3688         * doc/posix-functions/getsockname.texi: Likewise.
3689         * doc/posix-functions/getsockopt.texi: Likewise.
3690         * doc/posix-functions/recvfrom.texi: Likewise.
3692 2018-01-27  Bruno Haible  <bruno@clisp.org>
3694         getsockname tests: More tests.
3695         * tests/test-getsockname.c (open_server_socket): New function, mostly
3696         copied from test-poll.c.
3697         (main): Check that getsockname fills in addr.
3698         * modules/getsockname-tests (Depends-on): Add the necessary
3699         dependencies.
3700         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3702 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3704         manywarnings: fix maintainer comment
3705         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3706         it does not mistakenly think that ‘-1)’ is an option.
3708 2018-01-26  Bruno Haible  <bruno@clisp.org>
3710         langinfo: Fix last commit.
3711         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3712         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3714 2018-01-24  Bruno Haible  <bruno@clisp.org>
3716         langinfo, nl_langinfo: Add support for alternative month names.
3717         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3718         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3719         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3720         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3721         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3722         * doc/posix-functions/nl_langinfo.texi: Likewise.
3724 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3726         Merge strftime.c changes from glibc
3727         This incorporates:
3728         2017-11-14 [BZ #10871] Implement alternative month names
3729         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3730         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3731         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3732         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3733         Use locale_t, not __locale_t.
3734         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3735         (__strftime_internal): Add support for alternate months.
3737 2018-01-23  Bruno Haible  <bruno@clisp.org>
3739         doc: Mention another prerequisite for using Gnulib.
3740         Reported at <https://stackoverflow.com/questions/48378214/>.
3741         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3742         AC_CONFIG_HEADERS.
3744 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3746         build: GuixSD doesn't have /bin/bash
3747         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3749 2018-01-21  Bruno Haible  <bruno@clisp.org>
3751         Avoid test failures on Microsoft Windows Subsystem for Linux.
3752         * tests/test-fcntl.c (main): Allow a different errno.
3753         * tests/test-rename.h (test_rename): Likewise.
3754         * tests/test-renameat.c (main): Likewise.
3755         * tests/test-renameat2.c (main): Likewise.
3757 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3759         filenamecat: make base a suffix of result
3760         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3761         (mfile_name_concat): Always make BASE a suffix of the result, as
3762         cp expects this.  To implement this, separate with '.' instead of
3763         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3764         * tests/test-filenamecat.c (main): Adjust tests to match
3765         current behavior.  Check that BASE_IN_RESULT points to
3766         a copy of BASE and is a suffix of the resultk, and that DIR
3767         is a prefix of the result that is no longer than the prefix
3768         indicated by BASE_IN_RESULT.
3770 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3772         update-copyright: Handle use of ©
3773         * build-aux/update-copyright ($circle_c_re): Update regex to
3774         handle use of © in headers.
3776 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3778         Fix -Wundef warning in user-included header lib/cdefs.h.
3779         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3781 2018-01-04  Bruno Haible  <bruno@clisp.org>
3783         pthread_sigmask: Avoid compilation error on mingw.
3784         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3785         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3786         macro.
3788 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3790         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3791         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3792         Suggested by Bob Proulx (Bug#29968).
3793         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3795 2018-01-02  Eric Blake  <eblake@redhat.com>
3797         stat-time: silence -Wunused-parameter regression
3798         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3799         Prefer attribute over cast-to-void.
3800         (stat_time_normalize): Mark st as potentially unused.
3802 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3804         test-framework-sh: avoid netstat
3805         Problem reported by Kristýna Streitová (Bug#29947).
3806         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3807         deprecated on SuSE and it's not that important anyway.
3809 2018-01-01  Jim Meyering  <meyering@fb.com>
3811         update-copyright: add code to handle more special cases
3812         After running "make update-copyright" this year, five files
3813         required additional manual changes.  Automate those adjustments
3814         for next year.
3815         * Makefile (_year_and_prev): Define.
3816         (update-copyright): Add perl commands to induce this year's post-
3817         update-copyright adjustments.
3819 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3821         version-etc: new year
3822         * build-aux/gendocs.sh (version):
3823         * doc/gendocs_template:
3824         * doc/gendocs_template_min:
3825         * doc/gnulib.texi:
3826         * lib/version-etc.c (COPYRIGHT_YEAR):
3827         Update copyright dates by hand in templates and the like.
3829         maint: fix 'make update-copyright'
3830         * Makefile (update-copyright): Adjust to 2016-11-23 change
3831         to config/srclist-update, which changed the format of srclist.txt.
3833 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3835         chdir-safer: remove this module
3836         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3837         * NEWS: Document removal.
3838         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3839         * modules/chdir-safer: Remove these files.
3841 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3843         Add cross-compilation results for GNU/Hurd.
3844         * m4/calloc.m4: Add GNU/Hurd guess.
3845         * m4/cbrtl.m4: Likewise.
3846         * m4/ceil.m4: Likewise.
3847         * m4/ceilf.m4: Likewise.
3848         * m4/ceill.m4: Likewise.
3849         * m4/chown.m4: Likewise.
3850         * m4/duplocale.m4: Likewise.
3851         * m4/exp2l.m4: Likewise.
3852         * m4/expm1.m4: Likewise.
3853         * m4/fchdir.m4: Likewise.
3854         * m4/floor.m4: Likewise.
3855         * m4/floorf.m4: Likewise.
3856         * m4/fmod.m4: Likewise.
3857         * m4/fmodf.m4: Likewise.
3858         * m4/fmodl.m4: Likewise.
3859         * m4/getcwd.m4: Likewise.
3860         * m4/getgroups.m4: Likewise.
3861         * m4/gettimeofday.m4: Likewise.
3862         * m4/hypot.m4: Likewise.
3863         * m4/hypotf.m4: Likewise.
3864         * m4/hypotl.m4: Likewise.
3865         * m4/link-follow.m4: Likewise.
3866         * m4/link.m4: Likewise.
3867         * m4/linkat.m4: Likewise.
3868         * m4/log.m4: Likewise.
3869         * m4/log10.m4: Likewise.
3870         * m4/log10f.m4: Likewise.
3871         * m4/log1p.m4: Likewise.
3872         * m4/log1pf.m4: Likewise.
3873         * m4/log1pl.m4: Likewise.
3874         * m4/log2.m4: Likewise.
3875         * m4/log2f.m4: Likewise.
3876         * m4/logf.m4: Likewise.
3877         * m4/lstat.m4: Likewise.
3878         * m4/malloc.m4: Likewise.
3879         * m4/mbrlen.m4: Likewise.
3880         * m4/mbrtowc.m4: Likewise.
3881         * m4/mkdir.m4: Likewise.
3882         * m4/mkfifo.m4: Likewise.
3883         * m4/mknod.m4: Likewise.
3884         * m4/mkstemp.m4: Likewise.
3885         * m4/modf.m4: Likewise.
3886         * m4/modff.m4: Likewise.
3887         * m4/modfl.m4: Likewise.
3888         * m4/printf.m4: Likewise.
3889         * m4/pselect.m4: Likewise.
3890         * m4/ptsname.m4: Likewise.
3891         * m4/putenv.m4: Likewise.
3892         * m4/readlink.m4: Likewise.
3893         * m4/realloc.m4: Likewise.
3894         * m4/remainder.m4: Likewise.
3895         * m4/remainderf.m4: Likewise.
3896         * m4/remainderl.m4: Likewise.
3897         * m4/rmdir.m4: Likewise.
3898         * m4/round.m4: Likewise.
3899         * m4/roundf.m4: Likewise.
3900         * m4/roundl.m4: Likewise.
3901         * m4/select.m4: Likewise.
3902         * m4/setenv.m4: Likewise.
3903         * m4/signbit.m4: Likewise.
3904         * m4/sleep.m4: Likewise.
3905         * m4/stat.m4: Likewise.
3906         * m4/strerror.m4: Likewise.
3907         * m4/strtok_r.m4: Likewise.
3908         * m4/symlink.m4: Likewise.
3909         * m4/symlinkat.m4: Likewise.
3910         * m4/trunc.m4: Likewise.
3911         * m4/truncf.m4: Likewise.
3912         * m4/truncl.m4: Likewise.
3913         * m4/tzset.m4: Likewise.
3914         * m4/ungetc.m4: Likewise.
3915         * m4/usleep.m4: Likewise.
3916         * m4/wcwidth.m4: Likewise.
3918 2017-12-28  Bruno Haible  <bruno@clisp.org>
3920         gnulib-tool: Make --conditional-dependencies work better.
3921         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3922         * gnulib-tool (Options): Don't reject the combination of
3923         --conditional-dependencies with --with-tests.
3924         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3925         Don't reference $modules.
3926         (func_import, func_create_testdir): Pass it.
3928 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3930         regex: use re_malloc etc. consistently
3931         Problem and original patch reported by Arnold Robbins in:
3932         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3933         * lib/regcomp.c (re_comp):
3934         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3935         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3937 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3938             Paul Eggert  <eggert@cs.ucla.edu>
3940         glob: Silence warning about void pointer arithmetic.
3941         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3942         arithmetic.
3944 2017-12-15  Bruno Haible  <bruno@clisp.org>
3946         spawn-pipe: Silence a clang warning.
3947         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3948         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3949         in this file.
3951 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3953         explicit_bzero: port to macOS + Clang 9.0.0
3954         Problem reported by Marcus Johnson (Bug#29658).
3955         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3956         Don’t use asm.
3958 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3960         doc: Improve explanation of supporting relocatable libraries.
3961         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3962         properly how to build the relocatable module for
3963         libraries. (Method and example code from Bruno Haible.)
3965 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3967         doc: Use better texinfo tags in a few cases.
3968         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3969         instead of @samp in a few places.
3971 2017-12-11  Bruno Haible  <bruno@clisp.org>
3973         unistr/base: Update comment.
3974         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3976 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3978         test-faccessat.c: unlink temp file to avoid subsequent test failure
3979         * tests/test-faccessat.c: Remove the file to avoid failure
3980         to open the file on subsequent runs due to being created
3981         with no permissions.
3983 2017-12-10  Bruno Haible  <bruno@clisp.org>
3985         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3986         * doc/gnulib-tool.texi (Modified build rules): New node.
3988 2017-12-10  Bruno Haible  <bruno@clisp.org>
3990         doc: Tweak wording.
3991         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3992         "binaries".
3994 2017-12-05  Sam Steingold  <sds@gnu.org>
3995             Bruno Haible  <bruno@clisp.org>
3997         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3998         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3999         AC_EGREP_CPP pattern.
4001 2017-12-03  Bruno Haible  <bruno@clisp.org>
4003         all: Replace more http URLs by https URLs.
4004         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
4005         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
4006         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
4007         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
4009 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
4011         Port better to CentOS 5
4012         Problems reported by Tom G. Christensen in:
4013         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
4014         * doc/glibc-functions/strverscmp.texi (strverscmp):
4015         Document strverscmp bug with glibc 2.9 and earlier.
4016         * doc/posix-functions/tzset.texi (tzset):
4017         Document that TZ with angle brackets is POSIX-2001 and later.
4018         * tests/test-nstrftime.c: Include unistd.h.
4019         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
4020         (TZ): Use it to skip tests with angle brackets in TZ,
4021         for older systems.
4023         stat: add missing module dependencies
4024         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
4025         Add stat-time.
4027 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
4029         stat: fix compilation failure on macOS Sierra
4030         Reported by Marius Schamschula <mschamschula@gmail.com> in:
4031         https://savannah.gnu.org/bugs/?52546
4032         * lib/stat.c: Add missing include of stat-time.h.
4034 2017-11-28  Jim Meyering  <meyering@fb.com>
4036         test-faccessat.c: correct BASE definition to avoid parallel test failure
4037         * tests/test-faccessat.c (BASE): Define using this file's name, not
4038         that of test-lstat.c.  Using the latter caused this test to fail
4039         sometimes when run concurrently with test-lstat.
4041 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4043         unicase: fix VPATH build
4044         * modules/unicase/special-casing (Makefile.am): Ensure that the
4045         base directory is created when generating
4046         unicase/special-casing.h.
4048 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4050         libunistring: update to Unicode 9.0.0
4051         * lib/gen-uni-tables.c (fill_properties): Recognize
4052         Sentence_Terminal and Prepended_Concatenation_Mark.
4053         (is_property_default_ignorable_code_point): Exclude U+08E2.
4054         (fill_arabicshaping): Allow missing whitespace when parsing;
4055         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
4056         (output_blocks): Increase the element size of the level1 table to
4057         accommodate more blocks.
4058         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
4059         Update each class according to the standard.
4060         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
4061         E_Base_GAZ characters.
4062         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
4063         Glue_After_Zwj, and E_Base_GAZ characters.
4064         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
4065         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
4066         enum value.
4067         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
4068         value.
4069         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
4070         LBP_ZWJ, LBP_EB, and LBP_EM.
4071         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
4072         enum value.
4073         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
4074         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
4075         declaration.
4076         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
4077         (uniwbrk_table): Implement WB14.
4078         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
4079         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
4080         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
4081         uc-is-grapheme-break.
4082         * modules/unigbrk/uc-grapheme-breaks: New module.
4083         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
4084         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
4085         enum value.
4086         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
4087         * lib/unigbrk/u-grapheme-breaks.h: New file.
4088         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
4089         u-grapheme-breaks.h instead of uc_is_grapheme_break.
4090         * lib/unigbrk/uc-grapheme-breaks.c: New file.
4091         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
4092         29.
4093         * tests/unigbrk/test-uc-gbrk-prop.c
4094         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4095         GBP_GAZ, and GBP_EBG.
4096         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
4097         * tests/unigbrk/test-uc-is-grapheme-break.c
4098         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4099         GBP_GAZ, and GBP_EBG.
4100         (main): Skip unsupported rules involving 3 or more characters,
4101         namely GB10, GB12, and GB13.
4102         * lib/uniwidth/width.c (nonspacing_table_data): Update.
4103         * all generated files under lib/uni* and tests/uni*: Regenerate.
4104         * all the affected modules: Bump version.
4106 2017-11-26  Bruno Haible  <bruno@clisp.org>
4108         strfmon_l: Fix compilation error with glibc 2.5.
4109         Reported by Tom G. Christensen <tgc@jupiterrise.com>
4110         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
4111         * lib/monetary.in.h: Include also <locale.h>.
4113 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4115         posixtm: remove PDS_LEADING_YEAR
4116         This changes the API slightly, in a hopefully-innocuous way.
4117         Without this change the code had undefined behavior when a
4118         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
4119         Problem reported by Pádraig Brady in:
4120         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
4121         * NEWS: Mention this.
4122         * lib/posixtm.c (posix_time_parse): Treat the absence of
4123         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
4124         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
4125         present, but define it as zero, for compatibility with existing
4126         source code).  All other PDS_* values moved up.
4127         * tests/test-posixtm.c (LY): New macro.
4128         (T): Use it.  Do not expect a particular numeric encoding
4129         for PDS_CENTURY etc.
4131 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4133         stat: work around Solaris bug with tv_nsec < 0
4134         * doc/posix-functions/fstat.texi (fstat):
4135         * doc/posix-functions/fstatat.texi (fstatat):
4136         * doc/posix-functions/lstat.texi (lstat):
4137         * doc/posix-functions/stat.texi (stat):
4138         Mention Solaris 11 bug.
4139         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
4140         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
4141         * lib/lstat.c (rpl_lstat):
4142         * lib/stat.c (rpl_stat):
4143         Normalize resulting timestamps.
4144         * lib/fstatat.c (normal_fstatat): New function.
4145         (rpl_fstatat): Use it.
4146         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
4147         (stat_time_normalize): New function.
4148         * m4/fstat.m4 (gl_FUNC_FSTAT):
4149         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
4150         * m4/lstat.m4 (gl_FUNC_LSTAT):
4151         * m4/stat.m4 (gl_FUNC_STAT):
4152         Replace on Solaris.
4153         * modules/fstat (Depends-on):
4154         * modules/fstatat (Depends-on):
4155         Add stat-time.
4156         * modules/stat-time (Depends-on): Add errno, intprops.
4158 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
4160         regex: merge from glibc
4161         * lib/regcomp.c (init_word_char): Add comments.
4163 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4165         regex: merge from glibc
4166         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
4167         * lib/regex_internal.h (internal_function): Remove.
4168         All uses removed.
4170 2017-11-20  Bruno Haible  <bruno@clisp.org>
4172         crypto/gc-sm3: Fix buffer overrun.
4173         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
4174         Reported by Coverity.
4176 2017-11-12  Jim Meyering  <meyering@fb.com>
4178         maint: shorten https://lists.gnu.org/archive/html/... links
4179         Each /archive/html/ part can be replace with /r/.
4180         Run this to induce the change:
4181         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
4182         * ChangeLog: Perform that substitution.
4183         * Makefile: Likewise.
4184         * STATUS-libposix: Likewise.
4185         * build-aux/bootstrap: Likewise.
4186         * doc/maintain.texi: Likewise.
4187         * gnulib-tool: Likewise.
4188         * lib/allocator.h: Likewise.
4189         * lib/argp-ba.c: Likewise.
4190         * lib/argp-pv.c: Likewise.
4191         * lib/canon-host.c: Likewise.
4192         * lib/canonicalize-lgpl.c: Likewise.
4193         * lib/float.in.h: Likewise.
4194         * lib/fstat.c: Likewise.
4195         * lib/getdelim.c: Likewise.
4196         * lib/getprogname.c: Likewise.
4197         * lib/glthread/thread.h: Likewise.
4198         * lib/intprops.h: Likewise.
4199         * lib/mbsrtowcs-state.c: Likewise.
4200         * lib/safe-read.c: Likewise.
4201         * lib/signal.in.h: Likewise.
4202         * lib/stat.c: Likewise.
4203         * lib/stdbool.in.h: Likewise.
4204         * lib/stdio-impl.h: Likewise.
4205         * lib/stdio.in.h: Likewise.
4206         * lib/sysexits.in.h: Likewise.
4207         * lib/timespec.h: Likewise.
4208         * lib/wcsrtombs-state.c: Likewise.
4209         * m4/alloca.m4: Likewise.
4210         * m4/extern-inline.m4: Likewise.
4211         * m4/fstatat.m4: Likewise.
4212         * m4/gnulib-common.m4: Likewise.
4213         * m4/lib-ignore.m4: Likewise.
4214         * m4/printf.m4: Likewise.
4215         * m4/regex.m4: Likewise.
4216         * m4/stat-size.m4: Likewise.
4217         * m4/std-gnu11.m4: Likewise.
4218         * m4/stdbool.m4: Likewise.
4219         * m4/sys_types_h.m4: Likewise.
4220         * m4/threadlib.m4: Likewise.
4221         * m4/vararrays.m4: Likewise.
4222         * pygnulib/GLImport.py: Likewise.
4223         * tests/test-exp.h: Likewise.
4224         * tests/test-exp2.h: Likewise.
4225         * tests/test-expm1.h: Likewise.
4226         * tests/test-fflush2.c: Likewise.
4227         * tests/test-getopt_long.h: Likewise.
4228         * tests/test-intprops.c: Likewise.
4229         * tests/test-log.h: Likewise.
4230         * tests/test-log10.h: Likewise.
4231         * tests/test-log1p.h: Likewise.
4232         * tests/test-log2.h: Likewise.
4233         * tests/test-printf-posix.h: Likewise.
4234         * tests/test-regex.c: Likewise.
4235         * tests/test-snprintf-posix.h: Likewise.
4236         * tests/test-sprintf-posix.h: Likewise.
4237         * tests/test-stdalign.c: Likewise.
4238         * tests/test-stdbool.c: Likewise.
4239         * tests/test-vasnprintf-posix.c: Likewise.
4240         * tests/test-vasprintf-posix.c: Likewise.
4241         * top/maint.mk: Likewise.
4243 2017-11-12  Bruno Haible  <bruno@clisp.org>
4245         faccessat: Make the last change more robust.
4246         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
4247         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
4249 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4251         faccessat: port to macOS (Bug#29231)
4252         macOS faccessat has the same bug that lstat does: if the file
4253         name ends in '/' it ignores the trailing slash.
4254         Problem reported for Emacs by Vincent Zhang.
4255         * doc/posix-functions/faccessat.texi (faccessat): Document this.
4256         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
4257         around the initial includes.  Include errno.h, string.h, sys/stat.h.
4258         (orig_faccessat) [HAVE_FACCESSAT]: New function.
4259         Include "unistd.h" after defining it.
4260         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
4261         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
4262         Handle in the usual way.
4263         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
4264         lstat dereferences symlinks, since faccessat is likely to
4265         have the same problem.
4266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
4267         * modules/faccessat (Depends-on): Add fstatat.
4268         Depend if REPLACE_FACCESSAT is 1, too.
4269         (configure.ac): Link if REPLACE_FACCESSAT is 1.
4270         * modules/faccessat-tests (Depends-on): Add symlink.
4271         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
4272         * tests/test-faccessat.c (main): Test for the bug.
4274 2017-11-11  Bruno Haible  <bruno@clisp.org>
4276         getprogname: Fix compilation error on IRIX.
4277         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
4278         'namesize'.
4280 2017-11-11  Bruno Haible  <bruno@clisp.org>
4282         year2038: Tweak last patch.
4283         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
4285 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4287         year2038: be more insistent about 64-bit time_t
4288         Applications requiring access to arbitrary files should not be
4289         built with 32-bit time_t on hosts that have 64-bit timestamps,
4290         as this can lead to real trouble at runtime.
4291         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
4292         Check on all systems, not just MinGW.  Use a heuristic involving
4293         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
4294         output a failure or just a warning, to make it more likely that
4295         builders will select 64-bit time_t.
4297 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
4299         havelib: fix typo in previous change
4300         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
4302         Don’t use AC_EGREP_CPP if affected by CFLAGS
4303         * m4/float_h.m4 (gl_FLOAT_H):
4304         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
4305         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
4306         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
4307         * m4/year2038.m4 (gl_YEAR2038):
4308         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
4309         likely to be affected by the choice of CFLAGS, since CFLAGS are
4310         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
4311         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
4313         fstatat: pacify GCC on unusual platform
4314         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
4315         Omit, as it’s unused in this case.
4317 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
4319         timespec: prefer ‘assume’ to ‘assure’
4320         This avoids some runtime tests.  The rest of the module makes
4321         similar assumptions and there is little point to testing here.
4322         * lib/timespec.h: Include verify.h instead of assure.h.
4323         (timespec_cmp): Use ‘assume’, not ‘assure’.
4324         Also, remove an unnecessary cast to ‘int’, as lots of other
4325         code in this module now causes -Wconversion to complain, and
4326         this is a problem with -Wconversion not with the code.
4328         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
4330         Port recent gnulib-tool change to Dash
4331         * gnulib-tool (func_create_testdir): Don't assume that the shell
4332         retokenizes after expanding "$@" inside the call to
4333         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
4335 2017-10-27  Jim Meyering  <meyering@fb.com>
4337         timespec.h: use "assure" to avoid a spurious warning
4338         * lib/timespec.h: Include "assure.h" and use it to help
4339         gcc7's -Wstrict-overflow avoid a false positive warning
4340         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
4341         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
4342         * modules/timespec (Depends-on): Add assure.
4344 2017-10-29  Bruno Haible  <bruno@clisp.org>
4346         Avoid several test failures with traditional locales on Haiku.
4347         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
4348         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
4349         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
4350         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
4351         LOCALE_ZH_CN=none.
4353 2017-10-29  Bruno Haible  <bruno@clisp.org>
4355         strerror_r-posix: Fix behaviour and test failure on Haiku.
4356         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
4357         are positive. Work around return value 0 instead of ERANGE on Haiku.
4358         For unknown error numbers, use a format string consistent with perror().
4359         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
4360         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
4361         are positive.
4363 2017-10-29  Bruno Haible  <bruno@clisp.org>
4365         get-rusage-data: Avoid crash on Haiku.
4366         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
4368 2017-10-29  Bruno Haible  <bruno@clisp.org>
4370         get-rusage-as: Avoid crash on Haiku.
4371         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
4373 2017-10-29  Bruno Haible  <bruno@clisp.org>
4375         ilogbl: Ensure replacement on Haiku.
4376         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
4377         REPLACE_ILOGBL if ilogbl does not work.
4378         (gl_FUNC_ILOGBL_WORKS): New macro.
4379         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
4380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
4381         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
4382         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
4383         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
4385 2017-10-29  Bruno Haible  <bruno@clisp.org>
4387         expl: Ensure replacement on Haiku.
4388         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
4389         zero.
4390         * doc/posix-functions/expl.texi: Mention the Haiku problem.
4392 2017-10-29  Bruno Haible  <bruno@clisp.org>
4394         math: Fix test failure on Haiku.
4395         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
4396         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
4397         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
4398         * doc/posix-headers/math.texi: Mention the Haiku problem.
4400 2017-10-29  Bruno Haible  <bruno@clisp.org>
4402         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
4403         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
4404         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
4406 2017-10-29  Bruno Haible  <bruno@clisp.org>
4408         crypto/*: Verify that the header file is self-contained.
4409         * tests/test-gc-*.c: Include the module's header file immediately after
4410         <config.h>.
4411         * tests/test-hmac-*.c: Likewise.
4412         * tests/test-arcfour.c: Likewise.
4413         * tests/test-arctwo.c: Likewise.
4414         * tests/test-des.c: Likewise.
4415         * tests/test-md2.c: Likewise.
4416         * tests/test-md4.c: Likewise.
4417         * tests/test-md5.c: Likewise.
4418         * tests/test-rijndael.c: Likewise.
4419         * tests/test-sha1.c: Likewise.
4420         * tests/test-sm3.c: Likewise.
4422 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4423             Bruno Haible  <bruno@clisp.org>
4425         crypto/gc: fix build failure with -Werror=suggest-attribute=const
4426         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
4428 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4430         New module: crypto/gc-sm3
4431         * lib/gc.h: Declare SM3-related stuffs.
4432         * lib/gc-gnulib.c: Support sm3 in internal functions.
4433         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
4434         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
4435         * modules/crypto/gc-sm3: Define gc-sm3 module.
4436         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
4437         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
4438         * MODULES.html.sh: List gc-sm3 module.
4440 2017-10-29  Bruno Haible  <bruno@clisp.org>
4442         random, random_r: Mention different prototypes on Haiku.
4443         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
4444         * doc/glibc-functions/random_r.texi: Likewise.
4445         * doc/glibc-functions/initstate_r.texi: Likewise.
4446         * doc/glibc-functions/setstate_r.texi: Likewise.
4448 2017-10-28  Bruno Haible  <bruno@clisp.org>
4450         posix_spawn: Avoid spurious message in configure output.
4451         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
4452         'cmp' command.
4454 2017-10-28  Bruno Haible  <bruno@clisp.org>
4456         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
4457         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
4458         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4460 2017-10-28  Bruno Haible  <bruno@clisp.org>
4462         ioctl: Override non-POSIX declaration on Haiku.
4463         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
4464         * lib/sys_ioctl.in.h: Add comment about Haiku.
4465         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
4466         * doc/glibc-headers/sys_ioctl.texi: Likewise.
4468 2017-10-28  Bruno Haible  <bruno@clisp.org>
4470         crypto/sm3: Add overview documentation to the .h file.
4471         * lib/sm3.h: Add comments.
4473 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4475         New module: crypto/sm3
4476         This new module can be used to compute SM3 message digest of files or
4477         memory blocks according to the specification GM/T 004-2012
4478         Cryptographic Hash Algorithm SM3, published by State Cryptography
4479         Administration, China.
4480         The official SM3 cryptographic hash algorithm specification is
4481         available at
4482         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4483         * lib/sm3.h: Declare the APIs of sm3 module.
4484         * lib/sm3.c: Implement SM3 hash algorithm.
4485         * m4/sm3.m4: m4 file for sm3 module.
4486         * modules/crypto/sm3: Define sm3 module.
4487         * tests/test-sm3.c: Implement SM3 test case.
4488         * modules/crypto/sm3-tests: Define sm3 test module.
4489         * MODULES.html.sh: List sm3 module.
4491 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4493         gc-libgcrypt: fix undefined enum type in switch statement
4494         Resolve the following build failure:
4495         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4496         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4497         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4498              case 0:
4499              ^~~~
4500         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4501         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4503 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4505         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4506         Resolve the following build failure:
4507         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4508         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4509         in signedness [-Werror=pointer-sign]
4510             digest = gcry_md_read (ctx->gch, 0);
4511                    ^
4512         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4514 2017-10-26  Bruno Haible  <bruno@clisp.org>
4516         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4517         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4518         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4520 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4522         glob: fix another heap buffer overflow
4523         Problem reported by Tim Rühsen in:
4524         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4525         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4527 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4529         quotearg: pacify compiler re unsigned
4530         * lib/quotearg.c (quotearg_n_options):
4531         Rewrite to avoid diagnostic from overly-picky compiler.
4532         Problem reported by Sami Kerola in:
4533         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4535         glob: fix heap buffer overflow
4536         * lib/glob.c (glob): Fix off-by-one error introduced into
4537         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4538         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4539         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4540         Fix suggested by Bruno Haible.
4542 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4544         glob: pacify fuzzer for mempcpy
4545         Problem reported by Tim Rühsen in:
4546         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4547         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4549 2017-10-12  Bruno Haible  <bruno@clisp.org>
4551         doc: Fix syntax error (regression from 2017-10-03).
4552         * doc/posix-functions/strncpy.texi: Fix syntax error.
4554 2017-10-12  Bruno Haible  <bruno@clisp.org>
4556         doc: Update for Solaris 11.3.
4557         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4558         mention Solaris 11.3.
4559         * m4/log2.m4: Fix comments.
4560         * m4/log2f.m4: Likewise.
4561         * m4/printf.m4: Update comments.
4562         * m4/rename.m4: Likewise.
4563         * m4/strncat.m4: Likewise.
4565         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4567 2017-10-10  Bruno Haible  <bruno@clisp.org>
4569         doc: Improve doc about ioctl.
4570         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4571         prototype.
4573 2017-10-09  Bruno Haible  <bruno@clisp.org>
4575         wcwidth: Don't use obsolete syntax of 'test'.
4576         Reported by Eric Blake.
4577         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4578         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4580 2017-10-09  Bruno Haible  <bruno@clisp.org>
4582         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4583         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4584         and Daniel P. Berrange <berrange@redhat.com>.
4585         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4586         on glibc systems. The getopt-pfx-core.h file declares exactly what
4587         unistd.h needs, nothing more.
4589 2017-10-08  Bruno Haible  <bruno@clisp.org>
4591         vma-iter: Improve support for FreeBSD.
4592         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4593         vma_iterate.
4594         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4596 2017-10-08  Bruno Haible  <bruno@clisp.org>
4598         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4599         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4601 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4603         test-framework-sh: Fix 'invalid path dir' error.
4604         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4605         separator between a drive letter and directory parts.
4606         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4607         treated as an invalid path dir.
4608         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4609         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4610         instead of hard coded ':'.
4612 2017-10-07  Bruno Haible  <bruno@clisp.org>
4614         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4615         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4616         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4617         (rof_open): On Linux, do multiple read() calls and make sure
4618         MIN_LEFTOVER bytes are left when read() returns.
4620 2017-10-07  Bruno Haible  <bruno@clisp.org>
4622         vma-iter: Improve support for GNU/Hurd.
4623         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4624         API, not the /proc file system.
4626 2017-10-07  Bruno Haible  <bruno@clisp.org>
4628         test-framework-sh: Don't require bash on Windows and OS/2.
4629         Reported by KO Myung-Hun.
4630         * tests/test-init.sh: Use 'shopt' only when running in bash.
4632 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4634         wcwidth: check a macro version of wcwidth () as well
4635         * lib/wchar.in.h: Revert commit from 2016-01-14.
4636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4638 2017-10-06  Bruno Haible  <bruno@clisp.org>
4640         getopt-posix: Clarify copyright header.
4641         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4642         * lib/getopt-pfx-core.h: Likewise.
4643         * lib/getopt-pfx-ext.h: Likewise.
4644         * lib/getopt-cdefs.in.h: Likewise.
4646 2017-10-03  Bruno Haible  <bruno@clisp.org>
4648         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4649         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4650         gl_HOST_CPU_C_ABI.
4652 2017-10-03  Bruno Haible  <bruno@clisp.org>
4654         doc: warn about misuse of strncpy and wcsncpy.
4655         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4656         memory allocation.
4657         * doc/posix-functions/wcscpy.texi: Likewise.
4658         * doc/posix-functions/strncpy.texi: Describe what this function is not
4659         useful for.
4660         * doc/posix-functions/wcsncpy.texi: Likewise.
4662 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4664         fsuage: fix typo in previous change
4665         * lib/fsusage.c: Remove stray include of full-read.h.
4666         Problem reported by Sam Steingold for macOS (Bug#28669).
4668 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4670         fsusage: remove SVR2 support
4671         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4672         and its code was getting in the way of use of this module by
4673         Emacs, which has its own ‘read’ function anyway.
4674         * lib/fsusage.c: Do not include sys/filsys.h.
4675         (get_fs_usage): Remove SVR2-specific code.
4676         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4677         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4678         * modules/fsusage (Depends-on): Do not depend on full-read.
4680         Simplify autoupdate of licenses
4681         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4682         place.
4684 2017-10-01  Bruno Haible  <bruno@clisp.org>
4686         vma-iter: Add support for GNU/Hurd.
4687         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4688         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4690 2017-09-30  Bruno Haible  <bruno@clisp.org>
4692         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4693         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4694         fail when module 'largefile' is in use.
4695         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4696         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4697         Don't test HAVE_SYS_PROCFS_H.
4699 2017-09-30  Bruno Haible  <bruno@clisp.org>
4701         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4702         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4703         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4704         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4706 2017-09-30  Bruno Haible  <bruno@clisp.org>
4708         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4709         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4710         scope of local variables.
4712 2017-09-28  Bruno Haible  <bruno@clisp.org>
4714         string: code style
4715         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4716         substitutable variables.
4717         * modules/string (Makefile.am): Likewise.
4719 2017-09-26  Bruno Haible  <bruno@clisp.org>
4721         uniname/uniname-tests: Tighten code.
4722         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4723         local variables into one.
4725 2017-09-26  Bruno Haible  <bruno@clisp.org>
4727         vma-iter: Improvements for Linux and BSD platforms.
4728         - Add support for DragonFly BSD.
4729         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4730         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4731         Read the entire file into memory in a single system call.
4732         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4733         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4735 2017-09-26  Bruno Haible  <bruno@clisp.org>
4737         vma-iter: Provide the protection flags on FreeBSD.
4738         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4739         skip three fields between the addresses and the protection flags.
4741 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4743         glob: remove bogus extern decl
4744         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4745         extern declaration.  Problem reported by Adhemerval Zanella in:
4746         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4748 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4750         uniname/uniname-tests: integer overflow fix
4751         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4752         Check for integer overflow.
4754         duplocale-tests: fix unlikely crash
4755         * tests/test-duplocale.c (get_locale_dependent_values):
4756         Don’t crash with absurdly long month names.
4758         maint: fix overflow checking in nap.h
4759         * modules/chown-tests:
4760         * modules/fchownat-tests, modules/fdutimensat-tests:
4761         * modules/futimens-tests, modules/lchown-tests:
4762         * modules/stat-time-tests, modules/utime-tests:
4763         * modules/utimens-tests, modules/utimensat-tests:
4764         Depend on intprops.
4765         * tests/nap.h: Include intprops.h.
4766         (diff_timespec): Handle overflow properly.
4768         sys_types: update URL
4769         * m4/sys_types_h.m4: Use https: URL.
4771         parse-datetime: fix dependency
4772         * modules/parse-datetime (Depends-on): Depend
4773         on nstrftime, not strftime.
4775         parse-datetime, posixtm: avoid uninit access
4776         * lib/parse-datetime.y (parse_datetime2):
4777         * lib/posixtm.c (posixtime):
4778         Do not access uninitialized storage, even though the resulting
4779         value is never used.
4781 2017-09-25  Bruno Haible  <bruno@clisp.org>
4783         vma-iter: Improvements for BSD platforms.
4784         - Add support for GNU/kFreeBSD.
4785         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4786         - Speed up on OpenBSD.
4787         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4788         (vma_iterate_bsd): New function.
4789         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4790         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4791         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4792         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4794 2017-09-23  Bruno Haible  <bruno@clisp.org>
4796         strfmon_l: New module.
4797         * modules/strfmon_l: New file.
4798         * lib/strfmon_l.c: New file.
4799         * m4/strfmon_l.m4: New file.
4800         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4801         * modules/strfmon_l-tests: New file.
4802         * tests/test-strfmon_l.c: New file.
4804         monetary: New module.
4805         * modules/monetary: New file.
4806         * lib/monetary.in.h: New file.
4807         * m4/monetary_h.m4: New file.
4808         * doc/posix-headers/monetary.texi: Mention the new module.
4809         * modules/monetary-tests: New file.
4810         * tests/test-monetary.c: New file.
4811         * modules/monetary-c++-tests: New file.
4812         * tests/test-monetary-c++.cc: New file.
4813         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4815 2017-09-23  Bruno Haible  <bruno@clisp.org>
4817         duplocale tests: Fix test crash on Linux/x86.
4818         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4819         locale from the current thread before freeing it.
4821 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4823         mktime: port to OpenVMS
4824         Problem reported by John E. Malmberg in:
4825         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4826         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4828 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4830         manywarnings: port to GCC on 64-bit MS-Windows
4831         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4832         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4833         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4835 2017-09-13  Bruno Haible  <bruno@clisp.org>
4837         all: Replace many more http URLs by https URLs. Update stale URLs.
4838         * users.txt: Remove mention of 'newts'.
4839         * lib/localename.c: Update comment about LANG_SOTHO.
4841 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4843         all: Replace many http URLs by https URLs.
4845 2017-09-12  Bruno Haible  <bruno@clisp.org>
4847         doc: Prefer https URLs where possible.
4848         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4849         * doc/ld-output-def.texi: Remove unavailable URL.
4851 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4853         maintainer-makefile: FTP -> HTTPS
4854         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4855         of FTP, which is planned to be decommissioned on 2017-11-01.
4857 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4859         libc-config: Fix __GNUC_PREREQ macro.
4860         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4861         __GNUC_MINOR.
4863 2017-09-09  Bruno Haible  <bruno@clisp.org>
4865         gnulib-tool: Simplify commit from 2015-08-20.
4866         * gnulib-tool (func_add_or_update): Remove local variable
4867         is_binary_file.
4869 2017-09-08  Bruno Haible  <bruno@clisp.org>
4871         stddef: Avoid conflict with system-defined max_align_t.
4872         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4873         Reported by Werner Lemberg <wl@gnu.org> in
4874         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4875         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4876         (max_align_t): Define as a macro.
4877         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4878         definitions of rpl_max_align_t in different copies of gnulib-generated
4879         <stddef.h>.
4881 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4883         libc-config: port to MSVC
4884         Problems reported by Gisle Vanem in:
4885         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4886         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4887         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4888         * m4/__inline.m4: New file.
4889         * modules/libc-config (Files): Add it.
4890         (Depends-on): Use it.
4892         glob: Use enum for __glob_pattern_type result
4893         From a patch proposed by Adhemerval Zanella in:
4894         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4895         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4896         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4897         * lib/glob_internal.h (__glob_pattern_type):
4898         * lib/glob.c (glob):
4899         * lib/glob_pattern_p.c (__glob_pattern_p):
4900         Use them.
4902         glob: fix for use in glibc
4903         Problem reported by Adhemerval Zanella in:
4904         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4905         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4906         Do not redefine if _LIBC.
4908 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4910         glob: fix bugs with long login names
4911         Problem reported by Adhemerval Zanella in:
4912         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4913         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4914         (glob): Use the same scratch buffer for both getlogin_r and
4915         getpwnam_r.  Don’t require preallocation of the login name.  This
4916         simplifies storage allocation, and corrects the handling of
4917         long login names.
4919 2017-09-02  Bruno Haible  <bruno@clisp.org>
4921         dirent: Update doc.
4922         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4924 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4926         glob: fix getpwnam_r errno typo
4927         * lib/glob.c (glob): Fix longstanding misuse of errno after
4928         getpwnam_r, which returns an error number rather than setting
4929         errno.
4931         glob: fix typo in recent change
4932         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4933         Fix recently-introduced typo.
4935 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4937         glob: don't save and restore errno unnecessarily
4938         * lib/glob.c (glob): Don't save and restore errno
4939         merely because we have getpwnam_r.
4941         glob: don't assume getpwnam_r
4942         * lib/glob.c (glob): Port recent patches to platforms
4943         lacking getpwnam_r.
4945         scratch_buffer: don’t use private glibc API
4946         Suggested by Florian Weimer in:
4947         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4948         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4949         * lib/scratch_buffer_grow.c: Rename to
4950         lib/malloc/scratch_buffer_grow.c.
4951         * lib/scratch_buffer_grow_preserve.c: Rename to
4952         lib/malloc/scratch_buffer_grow_preserve.c.
4953         * lib/scratch_buffer_set_array_size.c: Rename to
4954         lib/malloc/scratch_buffer_set_array_size.c.
4955         * lib/scratch_buffer.h: New file.
4956         * modules/scratch_buffer (Files, Makefile.am):
4957         Adjust to source-file renaming.
4959 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4961         glob: use scratch_buffer instead of extend_alloca
4962         Much of the lib/glob.c part of this patch comes from a glibc patch
4963         proposed by Adhemerval Zanella in:
4964         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4965         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4966         included via glob.h, does this for us now.
4967         (__set_errno): Remove, as libc-config does this for us now.
4968         Include <scratch_buffer.h>.
4969         (GETPW_R_SIZE_MAX): Remove.
4970         (glob): Use struct scratch_buffer instead of extend_alloca.
4971         * lib/glob.in.h: Include libc-config.h rather than
4972         including <sys/cdefs.h> conditionally.
4973         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4974         (__glibc_unlikely, __restrict, weak_alias):
4975         Remove, as libc-config does this for us now.
4976         * m4/glob.m4 (gl_PREREQ_GLOB):
4977         Remove sys/cdefs.h tests; no longer needed.
4978         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4979         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4981         scratch_buffer: new module
4982         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4983         * lib/scratch_buffer_grow_preserve.c:
4984         * lib/scratch_buffer_set_array_size.c:
4985         New files, copied from glibc with very minor changes that can be
4986         copied back.
4987         * modules/scratch_buffer: New file.
4989         libc-config: new module
4990         * MODULES.html.sh: Add libc-config.
4991         * lib/cdefs.h: New file, copied from the GNU C Library with very
4992         minor changes that can be copied back.
4993         * lib/libc-config.h, modules/libc-config: New files.
4995 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4997         glob: match dangling symlinks
4998         This fixes a bug I inadvertently introduced to Gnulib when I
4999         merged glibc glob back into gnulib on 2007-10-16.  This fix is
5000         inspired by a patch proposed for glibc by Adhemerval Zanella in:
5001         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
5002         * doc/posix-functions/glob.texi: Update list of affected platforms.
5003         * lib/glob.c (__lstat64): New macro.
5004         (is_dir): New function.
5005         (glob, glob_in_dir): Match symlinks even if they are dangling.
5006         (link_stat, link_exists_p): Remove.  All uses removed.
5007         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
5008         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
5009         * modules/glob-tests (Depends-on): Add symlink.
5010         * tests/test-glob.c: Include errno.h, unistd.h.
5011         (BASE): New macro.
5012         (main): Test dangling symlinks, if symlinks are supported.
5014         glob, backupfile: inode 0 is a valid inode number
5015         * doc/posix-functions/readdir.texi (readdir):
5016         * doc/posix-headers/dirent.texi (dirent.h):
5017         Document more readdir portability issues.
5018         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
5019         (numbered_backup): Don’t treat inode 0 any differently from
5020         other inode values.
5021         * lib/glob.c (struct readdir_result): Remove skip_entry member.
5022         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
5023         All uses removed.
5024         * modules/glob (Depends-on): Remove d-ino.
5026         glob: simplify symlink detection
5027         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
5028         uint8_t, as C99 does not require uint8_t.
5029         (struct readdir_result): Use it.  Do not define skip_entry unless
5030         it is needed; this saves a byte on platforms lacking d_ino.
5031         (readdir_result_type, readdir_result_skip_entry):
5032         New functions, replacing ...
5033         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
5034         ... these functions, which were removed.  This makes the callers
5035         easier to read.  All callers changed.
5036         (D_INO_TO_RESULT): Now empty if there is no d_ino.
5038 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5040         fts-tests: tag as a longrunning-test so not included by default
5041         * modules/fts-tests: This test takes about 20s on current systems,
5042         and uses about 285M of space on ext4.
5044 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5046         renameat2: fix compilation on alpine linux
5047         * m4/renameat.m4: Check for <linux/fs.h> presence.
5048         * lib/renameat2.h: Only include <linux/fs.h> if present.
5049         Reported by Assaf Gordon on Alpine Linux.
5051 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5053         glob: try to port recent changes to MS-Windows
5054         Problem reported by Bruno Haible in:
5055         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
5056         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
5057         * lib/glob.in.h (__glob_pattern_p): ... to here.
5059 2017-08-24  Eric Blake  <eblake@redhat.com>
5061         warnings: fix compilation with old autoconf
5062         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
5063         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
5064         AC_DEFUN.
5065         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
5066         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
5068 2017-08-24  Bruno Haible  <bruno@clisp.org>
5070         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
5071         * modules/glob (Depends-on): Add c99.
5073 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5075         glob: fix typo that broke platforms lacking d_ino
5076         This typo also hurt performance on GNU/Linux and similar hosts.
5077         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
5078         in previous change.
5080 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5082         glob: merge from glibc with Zanella glob changes
5083         Merge glob from glibc, with changes for glob proposed
5084         by Adhemerval Zanella in the thread starting here:
5085         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
5086         plus some fixes for this merge.
5087         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
5088         New files, ported from glibc.
5089         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
5090         with __restrict.
5091         (__size_t): Remove.  All uses replaced by size_t.
5092         (size_t): Define by defining __need_size_t and including <stddef.h>.
5093         This should work even in non-glibc platforms, where any name
5094         pollution is OK.
5095         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
5096         (struct stat64): Don’t worry about __GLOB_GNULIB.
5097         (glob, globfree, glob_pattern_p): Remove macros for
5098         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
5099         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
5100         but set errno.
5101         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
5102         removed since the glibc behavior works on null pointers.
5103         Do not include stdio.h; old SunOS is irrelevant now.
5104         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
5105         Include glob_internal.h.
5106         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
5107         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
5108         worked only coincidentally.
5109         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
5110         Remove macros; now done in glob.in.h.
5111         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
5112         (glob): Properly initialize glob structure with
5113         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
5114         Remove old code using SHELL since Bash no longer
5115         uses this.
5116         (glob, prefix_array): Separate MS code better.
5117         (glob, glob_in_dir): Use C99 decls before statements when glibc
5118         does.
5119         (glob_in_dir): Remove old Amiga and VMS code.
5120         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
5121         separate files.
5122         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
5123         (__glibc_unlikely):
5124         Move here from glob.c.
5125         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
5126         (weak_alias): New macro.
5127         (__size_t): Remove.  All uses replaced by size_t.
5128         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
5129         * modules/glob (Files): Add +lib/glob_internal.h,
5130         lib/glob_pattern_p.c, lib/globfree.c.
5131         (Depends-on): Remove snippet/arg-nonnull.
5133 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5135         glob: port to clang's Undefined Sanitizer
5136         Problem reported by Tim Rühsen in:
5137         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
5138         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
5139         (glob_in_dir): Do not rely on undefined behavior in accessing
5140         struct members beyond their bounds.  Use a flexible array member
5141         instead.
5143 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5145         vc-list-files: port to Solaris 10
5146         * build-aux/vc-list-files: Don't assume test -e works.
5148 2017-08-21  Karl Berry  <karl@freefriends.org>
5150         * doc/posix-functions/srandom.texi (srandom): typo }.
5152 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5154         git-version-gen: port to Solaris 10
5155         Problem reported by Dagobert Michelsen in:
5156         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
5157         * build-aux/git-version-gen (v_from_git):
5158         Use expr instead of shell substitution.
5160 2017-08-19  Bruno Haible  <bruno@clisp.org>
5162         host-cpu-c-abi: Improve detection of MIPS ABI.
5163         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
5164         _MIPS_SIM.
5166 2017-08-17  Bruno Haible  <bruno@clisp.org>
5168         hypot tests: Fix test failure on FreeBSD 11.0/x86.
5169         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
5171 2017-08-17  Bruno Haible  <bruno@clisp.org>
5173         float: Fix LDBL_MIN value on FreeBSD/x86.
5174         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
5176 2017-08-17  Bruno Haible  <bruno@clisp.org>
5178         random: Fix test compilation failure on Cygwin 1.5.25.
5179         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
5180         HAVE_DECL_SETSTATE.
5181         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
5182         declared.
5183         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
5184         HAVE_DECL_SETSTATE.
5185         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
5186         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
5187         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
5188         * doc/posix-functions/random.texi: Likewise.
5189         * doc/posix-functions/setstate.texi: Likewise.
5190         * doc/posix-functions/srandom.texi: Likewise.
5192 2017-08-16  Bruno Haible  <bruno@clisp.org>
5194         stdnoreturn: Fix test compilation failure on Cygwin.
5195         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
5196         <stdnoreturn.h> replacement.
5197         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
5198         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
5200 2017-08-16  Bruno Haible  <bruno@clisp.org>
5202         thread: Fix conflict with pthread_sigmask module.
5203         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
5204         it's defined as a macro.
5205         * modules/thread (Depends-on): Add pthread_sigmask.
5207 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5209         rename: port better to NetBSD
5210         * doc/posix-functions/rename.texi (rename): NetBSD 7
5211         does not have the link-count bug.
5212         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
5213         broken merely because rename ("a", "b") removes "a" when the two
5214         names are hard links to the same file.
5216 2017-08-16  Bruno Haible  <bruno@clisp.org>
5218         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
5219         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
5220         the target file names with '$(srcdir)/'.
5221         * modules/unicase/locale-language (Makefile.am): Likewise.
5222         * modules/unicase/special-casing (Makefile.am): Likewise.
5223         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
5224         * modules/unictype/category-byname (Makefile.am): Likewise.
5225         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
5226         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
5227         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
5228         * modules/unictype/property-byname (Makefile.am): Likewise.
5229         * modules/unictype/scripts (Makefile.am): Likewise.
5230         * modules/uninorm/composition (Makefile.am): Likewise.
5232 2017-08-16  Bruno Haible  <bruno@clisp.org>
5234         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
5235         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
5236         value for OpenBSD.
5238 2017-08-16  Bruno Haible  <bruno@clisp.org>
5240         rename, renameat: Update doc regarding NetBSD.
5241         * doc/posix-functions/rename.texi: Clarify that when using
5242         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
5243         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
5244         version.
5246 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5248         renameat2: port better to macOS
5249         * lib/renameat2.c (renameat2): Use renameatx_np if available.
5251         futimens: don’t assume struct timespec layout
5252         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
5253         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
5254         * tests/test-fdutimensat.c (main):
5255         * tests/test-futimens.h (test_futimens):
5256         * tests/test-lutimens.h (test_lutimens):
5257         * tests/test-utimens.h (test_utimens):
5258         * tests/test-utimensat.c (main):
5259         Don’t assume that struct timespec is a two-member structure in
5260         tv_sec, tv_nsec order.  Although this is true on all platforms we
5261         know about, POSIX does not guarantee it.
5263         rename: document+test NetBSD rename
5264         Test failure reported by Bruno Haible in:
5265         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
5266         This is an area where NetBSD is better-behaved than POSIX,
5267         so allow the NetBSD behavior in tests.
5268         * doc/posix-functions/rename.texi:
5269         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
5270         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
5272 2017-08-15  Bruno Haible  <bruno@clisp.org>
5274         renameat: Ensure declaration in <stdio.h> on NetBSD.
5275         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
5276         * doc/posix-functions/renameat.texi: Mention this problem.
5278 2017-08-15  Bruno Haible  <bruno@clisp.org>
5280         duplocale: Work around NetBSD 7.0 bug.
5281         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
5282         * lib/duplocale.c: Add comment about NetBSD problem.
5283         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
5285 2017-08-15  Bruno Haible  <bruno@clisp.org>
5287         duplocale tests: Verify use with *_l functions.
5288         * modules/duplocale-tests (configure.ac): Test for uselocale and
5289         some *_l functions.
5290         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
5291         from main.
5292         (get_locale_dependent_values_from, test_with_locale_parameter): New
5293         functions.
5294         (main): Test both test_with_uselocale and test_with_locale_parameter.
5296 2017-08-15  Bruno Haible  <bruno@clisp.org>
5298         extensions: Enable NetBSD specific extensions.
5299         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
5301 2017-08-14  Bruno Haible  <bruno@clisp.org>
5303         open, openat: Update doc about O_CLOEXEC.
5304         * doc/posix-functions/open.texi: More concrete list of platforms.
5305         * doc/posix-functions/openat.texi: Likewise.
5307 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5309         open: support O_CLOEXEC
5310         * NEWS, doc/posix-functions/open.texi:
5311         * doc/posix-functions/openat.texi: Document this.
5312         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
5313         (GNULIB_defined_O_CLOEXEC): New symbol.
5314         * lib/open.c: Include cloexec.h.
5315         (open): Support O_CLOEXEC.
5316         * lib/openat.c: Include cloexec.h.
5317         (rpl_openat): Support O_CLOEXEC.
5318         * lib/popen-safer.c: Do not include cloexec.h.
5319         (open_noinherit): Remove.
5320         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
5321         * lib/save-cwd.c: Do not include cloexec.h.
5322         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
5323         * m4/open-cloexec.m4: New file.
5324         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
5325         Replace 'open' if O_CLOEXEC is not present.
5326         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
5327         Replace 'openat' if O_CLOEXEC is not present.
5328         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
5329         * modules/open (Files): Add m4/open-cloexec.m4.
5330         (Depends-on): Depend on cloexec if replacing 'open'.
5331         * modules/openat (Files): Add m4/open-cloexec.m4.
5332         (Depends-on): Depend on cloexec if replacing openat.
5333         * modules/popen-safer (Depends-on): Remove cloexec.
5334         * modules/save-cwd (Depends-on): Remove cloexec, and add
5335         fd-safer-flag and 'open'.
5337 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5339         reallocarray: minor fixes
5340         * doc/glibc-functions/reallocarray.texi: Update version numbers.
5341         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
5342         * modules/reallocarray (License): Change from GPL to LGPL.
5343         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
5344         Indent properly and don't use tabs.
5346 2017-08-13  Darshit Shah  <darnir@gnu.org>
5348         reallocarray: New module
5349         reallocarray is a new function in glibc 2.26 to safely allocate an array
5350         of memory locations with integer overflow protection.
5351         * MODULES.html.sh: Add reallocarray.
5352         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
5353         * lib/reallocarray.c: New file to implement module reallocarray.
5354         * lib/stdlib.in.h: Add function declarations for reallocarray.
5355         * m4/reallocarray.m4: New file.
5356         * m4/stdlib_h.m4: Declare reallocarray.
5357         * modules/reallocarray: New file.
5358         * modules/reallocarray-test: New file.
5359         * modules/stdlib: Coerce stdlib.h to export reallocarray.
5360         * tests/test-reallocarray.c: New test.
5362 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5364         dirent-safer: fix cloexec race
5365         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
5366         (opendir_safer): Use F_DUPFD_CLOEXEC.
5367         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
5368         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
5369         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
5370         instead of dup_safer.
5372         fts: fix cloexec races
5373         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
5374         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
5375         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
5376         (fd_ring_check): Set cloexec flag on new file descriptors.
5377         (fts_build, fd_ring_check): While we’re at it, make sure the
5378         resulting file descriptor is not 0, 1, or 2, since that is easy.
5380 2017-08-11  Bruno Haible  <bruno@clisp.org>
5382         fts tests: Fix link error.
5383         Reported by Tom G. Christensen in
5384         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
5385         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
5387 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5389         fts: port recent changes to CentOS 6
5390         Problem reported by Tom G. Christensen in:
5391         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
5392         * lib/fts.c (fsword): New type.
5393         (struct dev_type, filesystem_type): Use it.
5394         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
5395         Also, check for f_type only if fstatfs and sys/vfs.h work.
5397 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5399         tempname: do not depend on secure_getenv
5400         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
5401         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
5402         * modules/tempname (Depends-on): Remove secure_getenv.
5404 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5406         extensions: add _OPENBSD_SOURCE
5407         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
5409 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
5410             Bruno Haible  <bruno@clisp.org>
5412         manywarnings: Add support for C++.
5413         * build-aux/g++-warning.spec: New file.
5414         * m4/manywarnings-c++.m4: New file.
5415         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
5416         redirects to manywarnings-c++.m4.
5417         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
5419 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5421         git-version-gen: another fix for tags with "-"
5422         * build-aux/git-version-gen: Improve fix for tags containing "-".
5423         Suggested by Markus Armbruster in:
5424         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
5426 2017-08-06  Bruno Haible  <bruno@clisp.org>
5428         warnings, manywarnings: Add support for multiple languages, not just C.
5429         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
5430         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
5431         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
5432         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
5433         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
5434         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
5435         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
5436         of the current language. If C++ is the current language, modify
5437         WARN_CXXFLAGS instead of WARN_CFLAGS.
5438         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
5439         gl_MANYWARN_ALL_GCC.
5440         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
5442 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
5444         git-version-gen: Fix for tags containing '-'
5446         Really old versions of git-describe (before v1.5.0, Feb 2007)
5447         don't have the number of commits in their long format output,
5448         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
5449         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
5450         recognizes both patterns, and normalizes the old format to the new one.
5452         Unfortunately, this normalization code gets confused when the tag
5453         contains '-'.  Reproducer:
5455             $ git-tag -m test v0.2-rc1
5456             $ build-aux/git-version-gen .tarball-version; echo
5457             build-aux/git-version-gen: WARNING: git rev-list failed
5458             UNKNOWN
5460         We take exact tag "v0.2-rc1" for the old format, extract the presumed
5461         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
5462         commits since tha tag.  Fails, because tag "v0.2" does not exist.
5464         * git-version-gen: We could perhaps drop support for versions from
5465         more than a decade ago.  But tightening the pattern match is easy
5466         enough, so do that.  Still breaks when you use version tags ending in
5467         something matching -g????, but you arguably get what you deserve then.
5469 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5471         valgrind-tests: use ls, and cache
5472         * m4/valgrind-tests.m4: Test ls, not bash.
5473         Problem reported by Reuben Thomas.
5474         Also, cache the result so that it can be overridden.
5476 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5478         manywarnings: port to 64-bit GCC builds of Emacs
5479         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5480         object size rather than hardwiring 2147483647.  This is needed to
5481         build GNU Emacs, which has one conditional (and used
5482         only-in-theory) call to malloc with a literal greater than
5483         2147483647.
5485 2017-08-04  Bruno Haible  <bruno@clisp.org>
5487         Relax the license of some modules with no runtime code.
5488         * modules/std-gnu11 (License): Set to 'unlimited'.
5489         * modules/c99 (License): Likewise.
5490         Reported by Reuben Thomas <rrt@sc3d.org>.
5491         * modules/d-ino (License): Set to 'LGPL'.
5492         * modules/host-os (License): Likewise.
5493         * modules/longlong (License): Likewise.
5495 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5497         renameat2: port to RHEL 7 + NFS
5498         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5499         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5500         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5502 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5504         renameat2: port to non-renameat platforms
5505         Problem reported for MSVC-2015 by Gisle Vanem in:
5506         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5507         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5508         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5510 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5512         manywarnings: port to 32-bit GCC bug
5513         Problem reported by Pino Toscano in:
5514         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5515         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5516         not 2**63 - 1, to work around the following GCC bug:
5517         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5519 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5521         backupfile: new function to validate backup suffix
5522         * lib/backupfile.c (set_simple_backup_suffix): New function.
5523         (backupfile_internal): Use it.
5525         canonicalize: fix EOVERFLOW commentary
5526         Problem reported by Bruno Haible in:
5527         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5528         * lib/canonicalize.c (canonicalize_filename_mode):
5529         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5531         Don't interpret EOVERFLOW to mean nonexistence
5532         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5533         may be EOVERFLOW; this is likely more useful than reporting the
5534         stat errno.
5535         * lib/glob.c (link_stat): Rename from link_exists2_p and
5536         return -1/0 instead of 0/1.  Caller changed.
5537         * lib/glob.c (link_exists_p):
5538         * lib/renameat2.c (rename_noreplace, renameat2):
5539         * lib/tempname.c (try_nocreate):
5540         If errno == EOVERFLOW then the directory entry exists, so do not
5541         act as if it does not exist.
5543         backup-rename: new module
5544         It is like backupfile, except it avoids some race conditions,
5545         and it does not output to stderr or exit.
5546         * MODULES.html.sh: Add backup-rename.
5547         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5548         * modules/backup-rename: New files.
5549         * lib/backupfile.c: Turn this into an internals file, which
5550         contains code common to backupfile and backup_rename.  Include
5551         backupfile-internal.h instead of backupfile.h.  Do not include
5552         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5553         renameat2.h and fcntl.h.
5554         (BACKUP_NOMEM): New constant.
5555         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5556         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5557         (backupfile_internal): Rename from find_backup_file_name.
5558         Support new arg RENAME.
5559         (backup_args, backup_types, get_version, xget_version):
5560         Move to lib/backup-find.c.
5561         * lib/backupfile.h (backup_file_rename): New decl.
5562         * modules/backupfile (Files): Add lib/backup-internal.h,
5563         lib/backup-find.c.
5564         (Depends-on): Add dirfd, fcntl, renameat2.
5565         (lib_SOURCES): Add backup-find.c.
5567         renameat2: port better to older Solaris
5568         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5569         Add goto to use a label, to silence picky compilers.
5571         fts-tests: port to gcc -Wwrite-strings
5572         * tests/test-fts.c (base, base_d): New static vars.
5573         (argv, remove_tree, main): Use them.
5575 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5577         relocatable-lib{,-lgpl}: improve documentation
5578         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5579         Various other updates.
5581 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5582             Bruno Haible  <bruno@clisp.org>
5584         relocatable-lib{,-lgpl}: add Valgrind suppressions
5585         * lib/relocatable.valgrind: New file.
5586         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5587         * modules/relocatable-lib-lgpl: Likewise.
5589 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5591         relocatable: Make the license on the sources the GPL.
5592         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5593         LGPL, which was a special case so that the relocatable source files
5594         could be used without gnulib-tool, to GPL. They can still be used under
5595         the LGPL, using the --lgpl option to gnulib-tool.
5597 2017-07-30  Bruno Haible  <bruno@clisp.org>
5599         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5600         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5601         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5602         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5603         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5605 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5607         faccessat: document AT_SYMLINK_NOFOLLOW issue
5608         * doc/posix-functions/faccessat.texi: Modernize platform list.
5609         Document AT_SYMLINK_NOFOLLOW limitation.
5611         renameat2: port to Solaris 10
5612         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5613         with AT_SYMLINK_NOFOLLOW (which is not portable).
5614         (renameat): Undef before using, to avoid endless recursion when
5615         the replacement renameat calls renameat2 which calls the
5616         replacement renameat.
5617         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5618         * modules/renameat2 (Depends-on): Remove faccessat.
5619         * modules/renameat-tests (test_renameat_LDADD):
5620         * modules/renameat2-tests (test_renameat2_LDADD):
5621         Remove $(LIB_EACCESS).
5623         renameat2: new module
5624         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5625         useful to have access to its RENAME_NOREPLACE flag.
5626         * MODULES.html.sh (func_all_modules): Add renameat2.
5627         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5628         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5629         * lib/renameat.c (renameat): Move most of the implementation
5630         to renameat2, and just call renameat2.
5631         * modules/renameat (Files): Remove lib/at-func2.c.
5632         (Depends-on): Depend only on renameat2.
5633         (Include): Remove <fcntl.h>.
5634         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5635         since renameat (via renameat2) might use faccessat.
5637 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5639         vc-list-files: Adjust the script to support git worktrees
5640         * build-aux/vc-list-files: Require existence, not directory.
5642 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5644         doc: bring MODULES.html.sh up to date
5645         Somehow a few months ago we stopped updating MODULES.html.sh.
5646         I don’t recall explicitly deciding this, so I updated it now.
5647         Alternatively I suppose we could remove it.
5648         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5649         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5650         truncate, utime, utime-h, windows-stat-inodes,
5651         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5653 2017-07-26  Jim Meyering  <meyering@fb.com>
5655         fprintftime: fix build-break caused by recent renaming
5656         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5657         "strftime.c".
5658         * modules/fprintftime: Depend directly on nstrftime.
5660 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5662         regex: work with GCC7's -Werror=implicit-fallthrough=
5663         * lib/regex_internal.h (FALLTHROUGH): New macro.
5664         * lib/regcomp.c (peek_token_bracket, parse_expression):
5665         * lib/regexec.c (check_node_accept): Use it.
5667 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5669         fts: simplify fts_build
5670         * lib/fts.c (fts_build): Simplify, and be lazier about
5671         calling leaf_optimization.
5673         fts: three levels of leaf optimization
5674         * lib/fts.c (enum leaf_optimization): New type with three values.
5675         (S_MAGIC_AFS): New macro.  Sort them.
5676         (leaf_optimization): Rename from leaf_optimization_applies, and
5677         return enum leaf_optimization instead of bool.  All uses changed.
5678         Add cases for unknown type and for AFS.
5679         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5681         fts: cache dirent_inode_sort_may_be_useful too
5682         * lib/fts.c (struct dev_type): New struct.
5683         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5684         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5685         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5686         Now takes FTSENT const *, not int.  All uses changed.  Use
5687         filesystem_type to cache.
5688         (link_count_optimize_ok): Remove.  Caller changed to use
5689         leaf_optimization_applies, which now uses shared cache.
5691         fts: introduce MIN_DIR_NLINK
5692         * lib/fts.c (MIN_DIR_NLINK): New constant.
5693         Use it instead of 2, whenever we are talking about link counts.
5695         fts: nlink_t signedness fixups
5696         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5697         so that root need not be a special case later.
5698         (fts_read): Remove now-redundant test for fts_level.
5699         Do not assume that nlink_t is signed.
5700         (fts_build): Remove useless decrement of nlinks.
5701         (fts_stat): Avoid unlikely signed integer overflow later, if
5702         nlink_t is signed.
5704         fts-tests: new module
5705         * modules/fts-tests, tests/test-fts.c: New files.
5707 2017-07-23  Bruno Haible  <bruno@clisp.org>
5709         Rename module 'strftime' to 'nstrftime'.
5710         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5711         * lib/nstrftime.c: Renamed from lib/strftime.c.
5712         * modules/nstrftime: Renamed from modules/strftime.
5713         (Files, Makefile.am): Update.
5714         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5715         Fix comment.
5716         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5717         (Files, Makefile.am): Update.
5718         * modules/strftime: New file, an obsolete indirection.
5719         * doc/posix-functions/strftime.texi: Update reference.
5720         * config/srclist.txt: Update info.
5721         * NEWS: Mention the change.
5723 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5725         malloca: Silence a warning from clang's memory sanitizer.
5726         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5727         (freea): Use it.
5729 2017-07-18  Bruno Haible  <bruno@clisp.org>
5731         host-cpu-c-abi: Fix detection of MIPS ABI.
5732         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5733         ABI, not the CPU instruction set.
5735 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5737         explicit_bzero: new module
5738         The explicit_bzero function has been added to glibc.
5739         This module is intended to supports its use in GNU programs.
5740         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5741         * m4/explicit_bzero.m4, modules/explicit_bzero:
5742         New files.
5743         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5744         * lib/string.in.h (explicit_bzero): Declare.
5745         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5746         * modules/string (string.h): Substitute its vars.
5748 2017-07-16  Bruno Haible  <bruno@clisp.org>
5750         threadlib: Support static linking.
5751         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5752         set gl_cv_have_weak to 'no'.
5754 2017-07-16  Bruno Haible  <bruno@clisp.org>
5756         unicase/locale-language: Fix link dependencies.
5757         * modules/unicase/locale-language (Link): New section.
5758         * modules/unicase/locale-language-tests (Makefile.am): Link
5759         test-locale-language program with $(LIBTHREAD).
5761 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5763         sys_socket: Add support for OpenVMS.
5764         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5765         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5767 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5769         sys_resource: Add support for OpenVMS.
5770         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5771         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5773 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5774             Bruno Haible  <bruno@clisp.org>
5776         math: Add support for OpenVMS.
5777         * lib/math.in.h [__VMS]: Include <fp.h>.
5778         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5780 2017-07-15  Bruno Haible  <bruno@clisp.org>
5782         getdtablesize: Add minimal support for OpenVMS.
5783         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5784         * modules/getdtablesize (Description): Fix.
5785         * lib/getdtablesize.c: Fix comment.
5786         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5787         getdtablesize() function, even though the test fails.
5788         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5789         limitation on OpenVMS.
5791 2017-07-13  Bruno Haible  <bruno@clisp.org>
5793         Revisit cross-compilation guesses.
5794         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5796 2017-07-13  Bruno Haible  <bruno@clisp.org>
5798         Improve cross-compilation guesses for native Windows.
5799         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5800         Windows.
5801         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5802         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5803         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5804         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5805         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5806         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5807         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5808         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5809         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5810         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5811         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5812         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5813         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5814         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5815         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5816         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5817         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5818         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5819         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5820         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5821         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5822         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5823         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5824         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5825         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5826         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5827         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5828         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5829         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5830         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5831         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5832         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5833         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5834         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5835         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5836         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5837         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5838         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5839         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5840         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5841         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5842         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5843         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5844         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5845         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5846         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5847         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5848         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5849         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5850         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5851         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5852         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5853         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5854         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5855         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5856         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5857         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5858         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5859         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5860         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5861         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5862         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5863         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5864         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5865         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5866         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5867         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5868         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5869         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5870         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5871         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5872         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5873         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5874         * m4/regex.m4 (gl_REGEX): Likewise.
5875         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5876         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5877         gl_FUNC_REMAINDERF_WORKS): Likewise.
5878         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5879         gl_FUNC_REMAINDERL_WORKS): Likewise.
5880         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5881         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5882         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5883         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5884         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5885         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5886         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5887         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5888         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5889         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5890         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5891         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5892         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5893         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5894         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5895         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5896         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5897         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5898         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5899         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5900         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5901         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5902         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5903         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5904         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5905         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5906         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5907         Likewise.
5908         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5909         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5910         Windows. Enable also on Autoconf 2.70.
5911         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5912         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5913         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5914         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5915         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5916         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5917         for native Windows.
5918         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5919         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5921 2017-07-13  Bruno Haible  <bruno@clisp.org>
5923         Improve cross-compilation guesses for native Windows.
5924         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5925         Windows.
5926         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5927         memchr.m4.
5928         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5930 2017-07-13  Bruno Haible  <bruno@clisp.org>
5932         Improve cross-compilation guesses for native Windows.
5933         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5934         native Windows.
5935         (gl_FUNC_FFLUSH): Update accordingly.
5936         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5937         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5939 2017-07-11  Bruno Haible  <bruno@clisp.org>
5941         More systematic m4 quoting and indentation.
5942         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5943         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5944         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5945         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5946         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5947         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5948         gl_WINSIZE_IN_PTEM): Likewise.
5949         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5950         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5951         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5952         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5953         Correct indentation.
5954         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5955         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5956         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5957         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5958         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5959         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5961 2017-07-10  Bruno Haible  <bruno@clisp.org>
5963         round, roundf: Avoid compiler warning in configure test.
5964         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5965         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5967 2017-07-10  Bruno Haible  <bruno@clisp.org>
5969         getlogin tests: Avoid #ifdefs when sharing code between modules.
5970         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5971         * modules/getlogin-tests (Files): Likewise. Remove
5972         tests/test-getlogin_r.c.
5973         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5974         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5975         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5976         getlogin().
5978 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5980         getlogin: don’t assume one name per uid
5981         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5982         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5983         (ttyname): Remove test.
5984         * modules/getlogin_r-tests (ttyname): Remove test.
5985         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5986         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5987         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5988         getlogin rather than getlogin_r.  This avoids code duplication.
5989         (main): Use isatty and fstat rather than ttyname and stat.
5990         Use getpwnam instead of getpwuid, to be portable to test platforms
5991         that have multiple login names for the same uid.
5993 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5994             Bruno Haible  <bruno@clisp.org>
5996         glob: Fix more memory leaks.
5997         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5998         returning.
5999         Reported by Tim Rühsen.
6001 2017-07-10  Bruno Haible  <bruno@clisp.org>
6003         Make sure $host and $host_os are defined when used.
6004         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
6005         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
6006         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
6007         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6008         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6009         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
6010         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
6011         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
6012         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6013         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
6014         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
6015         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
6016         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
6017         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
6018         m4_ifdef block.
6020 2017-07-09  Bruno Haible  <bruno@clisp.org>
6022         *printf: Fix cross-compilation guess for Solaris.
6023         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
6024         2010-12-21.
6026 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
6027             Bruno Haible  <bruno@clisp.org>
6029         vasnprintf: port to macOS 10.13
6030         Problem reported by comex in:
6031         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
6032         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
6034 2017-07-06  Bruno Haible  <bruno@clisp.org>
6036         imaxdiv tests: Fix logic.
6037         * tests/test-imaxdiv.c (main): Use == instead of =.
6038         Reported by Coverity.
6040 2017-07-06  Bruno Haible  <bruno@clisp.org>
6042         uninorm/filter: Fix use-after-free bug.
6043         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
6044         sortbuf == filter->sortbuf invariant.
6045         Reported by Coverity.
6047 2017-07-06  Bruno Haible  <bruno@clisp.org>
6049         glob: Fix more memory leaks.
6050         * lib/glob.c (glob): Free dirname before returning.
6051         Reported by Coverity and Tim Rühsen.
6053 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6055         parse-datetime: fix uninit var bug
6056         Reported by Bruno Haible in:
6057         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
6058         * lib/parse-datetime.y (parse_datetime2): Do not use
6059         uninitialized.
6061 2017-07-05  Bruno Haible  <bruno@clisp.org>
6063         doc: Update for MSVC 14.
6064         * doc/posix-headers/*.texi: Add info about MSVC 14.
6065         * doc/posix-functions/*.texi: Likewise.
6066         * doc/pastposix-functions/*.texi: Likewise.
6067         * doc/glibc-headers/*.texi: Likewise.
6068         * doc/glibc-functions/*.texi: Likewise.
6070 2017-07-05  Bruno Haible  <bruno@clisp.org>
6072         sched: Fix build failure on native Windows (regression from 2017-06-19).
6073         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
6075 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
6077         stdioext: Port to OpenVMS.
6078         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
6079         * lib/fpending.c (fpending): Remove non-working VMS specific code.
6080         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
6081         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
6082         * lib/fpurge.c (fpurge): Likewise.
6083         * lib/freadable.c (freadable): Likewise.
6084         * lib/freadahead.c (freadahead): Likewise.
6085         * lib/freading.c (freading): Likewise.
6086         * lib/freadptr.c (freadptr): Likewise.
6087         * lib/freadseek.c (freadseek): Likewise.
6088         * lib/fseeko.c (fseeko): Likewise.
6089         * lib/fseterr.c (fseterr): Likewise.
6090         * lib/fwritable.c (fwriteable): Likewise.
6091         * lib/fwriting.c (fwriting): Likewise.
6093 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
6095         glob: Declare variables at the very start of their scope.
6096         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
6097         its separate scope, so the functions will compile on Haiku.
6099 2017-07-01  Bruno Haible  <bruno@clisp.org>
6101         logbl: Work around a glibc bug on PowerPC64LE.
6102         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
6103         numbers.
6104         * doc/posix-functions/logbl.texi: Update.
6106 2017-06-29  Bruno Haible  <bruno@clisp.org>
6108         stat, fstat: Compile stat-w32.c only on platforms that need it.
6109         Suggested by Paul Eggert.
6110         * modules/stat (configure.ac): Request stat-w32.o only on native
6111         Windows.
6112         * modules/fstat (configure.ac): Likewise.
6114 2017-06-25  Bruno Haible  <bruno@clisp.org>
6116         stat: Improve last change.
6117         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
6119 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6121         stat: port to xlc 12.01
6122         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
6123         12.01 complains "Compilation unit is empty."
6125 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6127         xalloc-oversized: port to icc
6128         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
6129         __builtin_mul_overflow if ICC is defined, as this results in
6130         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
6131         20170213.
6133 2017-06-19  Bruno Haible  <bruno@clisp.org>
6135         classpath: Avoid including config.h twice, as it produces warnings.
6136         Reported by John E. Malmberg <wb8tyw@gmail.com>.
6137         * lib/classpath.h: Conditionalize the include of config.h.
6139 2017-06-19  Bruno Haible  <bruno@clisp.org>
6140             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
6142         sched: Fix compilation failure on OpenVMS.
6143         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
6144         test whether <pthread.h> exists and defines struct sched_param.
6145         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
6147 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
6149         diffseq: port to GCC 7 with --enable-gcc-warnings
6150         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
6151         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
6152         not complain about big_snake being defined but not used.
6154 2017-06-15  Bruno Haible  <bruno@clisp.org>
6156         gettext-h: Update theoretical condition for use of variable size arrays.
6157         Reported by Paul Eggert.
6158         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
6159         to include the theoretical condition for availability of variable size
6160         arrays, if we could trust the value of __STDC_VERSION__.
6162 2017-06-12  Bruno Haible  <bruno@clisp.org>
6164         Relicense some modules under LGPLv2+.
6165         Daiki Ueno's approval is in
6166         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
6167         * modules/uniwidth/base (License): Change to LGPLv2+.
6168         * modules/uniwidth/width (License): Likewise.
6170 2017-06-11  Bruno Haible  <bruno@clisp.org>
6172         localename: Fix test failure on DragonFly BSD.
6173         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
6174         like FreeBSD.
6176 2017-06-11  Bruno Haible  <bruno@clisp.org>
6178         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
6179         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
6180         * lib/float.in.h: Likewise.
6181         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
6183 2017-06-11  Bruno Haible  <bruno@clisp.org>
6185         gnulib-tool: Clean up after autotools.
6186         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
6187         useless directory left over by the Autotools.
6189 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6191         getopt-posix: port to glibc 2.25.90
6192         Problem reported by Daniel P. Berrange in:
6193         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
6194         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
6195         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
6196         #undef if __GETOPT_PREFIX is defined.
6198 2017-06-11  Bruno Haible  <bruno@clisp.org>
6200         strtod-obsolete: Fix license.
6201         * modules/strtod-obsolete (License): Change to LGPL.
6203 2017-06-10  Jim Meyering  <meyering@fb.com>
6205         maint: update to work with GCC7's -Werror=implicit-fallthrough=
6206         * lib/savewd.c (FALLTHROUGH): Define.
6207         (savewd_save, savewd_restore): Use this, rather than a comment,
6208         whenever one switch case falls through into the next.
6210 2017-06-08  Bruno Haible  <bruno@clisp.org>
6212         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
6213         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
6214         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
6215         case.
6217 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
6219         doc: remove robots, add prereqs
6220         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
6221         builds.  Simon's robot site does not seem to be up, so remove
6222         mentions of it for now.
6224 2017-06-08  Bruno Haible  <bruno@clisp.org>
6226         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
6227         * gnulib-tool (func_symlink_target): New function, extracted from
6228         func_symlink.
6229         (func_symlink, func_symlink_if_changed): Use it.
6231 2017-06-08  Bruno Haible  <bruno@clisp.org>
6233         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
6234         * gnulib-tool (func_ln_s): Determine cp_src correctly.
6236 2017-06-07  Bruno Haible  <bruno@clisp.org>
6238         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
6239         Reported by John E. Malmberg <wb8tyw@gmail.com> in
6240         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
6241         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
6242         override, pass 2 arguments to getcwd, not 3.
6244 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6246         same-inode: port better to VMS 8.2 and later
6247         Problem reported by John E. Malmberg in:
6248         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
6249         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
6250         Use the usual POSIX definition.
6251         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
6253 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6255         error: fix POSIX violation for va_end
6256         Problem reported by Bruno Haible in:
6257         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
6258         * lib/error.c (error_tail): Do not call va_end here.
6259         (error, error_at_line): Call it here instead.
6261 2017-05-28  Bruno Haible  <bruno@clisp.org>
6263         c-strtod: Make it usable in C++ mode.
6264         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
6266 2017-05-25  Jim Meyering  <meyering@fb.com>
6268         quotearg: fix compilation failure due to FALLTHROUGH misuse
6269         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
6270         macro back to /* fall through */ comment.  The macro can apply only
6271         to a following case statement.  Reported by Assaf Gordon.
6273 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6275         intprops: port to recent icc
6276         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
6277         but does not support __builtin_add_overflow etc.
6278         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
6279         Define to 0.
6281 2017-05-23  Karl Berry  <karl@freefriends.org>
6283         * config/srclist.txt (iconv.m4): sync broken, comment out
6284         until (hopefully) the next gettext release.
6286 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
6288         Remove repeated words in comments.
6290 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
6292         fallthrough: reinstate a FALLTHROUGH instance in quotearg
6293         quotearg.c: Reinstate this instance which is significant
6294         when the if branch is not taken.
6296 2017-05-21  Bruno Haible  <bruno@clisp.org>
6298         gnulib-tool: Add options to create hard links.
6299         * gnulib-tool (func_usage): Document options --hardlink,
6300         --local-hardlink, --more-hardlinks.
6301         (func_symlink): Renamed from func_ln.
6302         (func_symlink_if_changed): Renamed from func_ln_if_changed.
6303         (func_hardlink): New function.
6304         (copymode, lcopymode): New variables.
6305         (symbolic, lsymbolic): Remove variables.
6306         (Options): Implement options --hardlink, --local-hardlink,
6307         --more-hardlinks.
6308         (func_should_link): Renamed from func_should_symlink. Set copyaction.
6309         (func_add_file, func_update_file): Update invocation of
6310         func_should_link. Invoke func_hardlink when appropriate.
6311         (func_import): Update comments.
6312         (func_create_testdir): Update invocation of func_should_link. Invoke
6313         func_hardlink when appropriate.
6314         Finally, invoke 'git update-index --refresh' to mitigate the effects of
6315         the hard links on git.
6317 2017-05-20  Bruno Haible  <bruno@clisp.org>
6319         argp: Simplify bit manipulation.
6320         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
6321         on a signed integer type.
6323 2017-05-20  Bruno Haible  <bruno@clisp.org>
6325         Avoid wrong configure results with gcc -fsanitize=address.
6326         This completes the work done on 2016-02-06 on this topic.
6327         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
6328         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6329         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6330         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6331         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
6332         returning.
6333         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
6334         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
6335         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6336         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6337         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6338         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
6339         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
6340         free allocated memory before returning.
6341         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6342         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
6343         objects before returning.
6344         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
6345         returning.
6347 2017-05-20  Bruno Haible  <bruno@clisp.org>
6349         gnulib-tool: Don't create hard links between gnulib and its testdirs.
6350         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
6352 2017-05-20  Bruno Haible  <bruno@clisp.org>
6354         argp, tsearch tests: Fix file list.
6355         * modules/argp-tests (Files): Add tests/macros.h.
6356         * modules/tsearch-tests (Files): Likewise.
6358 2017-05-20  Bruno Haible  <bruno@clisp.org>
6360         getopt-posix tests: Remove redundant include.
6361         * tests/test-getopt.h: Don't include "macros.h". It's already included
6362         by tests/test-getopt-main.h.
6364 2017-05-19  Jim Meyering  <meyering@fb.com>
6366         dfa: two small simplifications
6367         * lib/dfa.c (build_state): Avoid repeating longer expressions.
6369 2017-05-18  Jim Meyering  <meyering@fb.com>
6371         fallthrough: update for GCC 7/8
6372         * lib/quotearg.c (FALLTHROUGH): New macro.
6373         Use it whenever one switch case falls through into the next,
6374         replacing "/* Fall through */" comments.  This exposed one
6375         instance of an unwarranted "fall through" comment: unwarranted
6376         because it preceded a "goto" label not a case statement.
6377         * lib/freopen-safer.c (freopen_safer): Likewise.
6378         * lib/fts.c (leaf_optimization_applies): Likewise.
6379         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
6380         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
6381         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
6382         tests/macros.h for the definition.
6383         * tests/test-argp.c (group1_parser): Likewise.
6384         * tests/test-getopt.h (getopt_loop): Likewise.
6386 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6388         argp: fix shift bug
6389         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
6390         behavior on shift overflow, caught by gcc -fsanitize=undefined.
6392         argp: fix pointer-subtraction bug
6393         * lib/argp-help.c (hol_append): Don’t subtract pointers to
6394         different arrays, as this can run afoul of -fcheck-pointer-bounds.
6395         See the thread containing Bruno Haible’s report in:
6396         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
6398 2017-05-19  Bruno Haible  <bruno@clisp.org>
6400         printf-posix tests: Avoid test failure with "gcc --coverage".
6401         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6402         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
6403         than 5000000.
6404         * tests/test-fprintf-posix2.c (main): Likewise.
6406 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6408         closeout: don’t close stderr when sanitizing
6409         * NEWS: Document this.
6410         * lib/closeout.c (__has_feature): New macro, if not already defined.
6411         (SANITIZE_ADDRESS): New constant.
6412         (close_stdout): Don’t close stderr if sanitizing addresses.
6414 2017-05-19  Bruno Haible  <bruno@clisp.org>
6416         get-rusage-data tests: Avoid failure on Linux/glibc.
6417         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
6418         on glibc systems.
6420 2017-05-18  Bruno Haible  <bruno@clisp.org>
6422         localename: Include necessary header files on Cygwin.
6423         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
6424         where NL_LOCALE_NAME is defined.
6426 2017-05-18  Bruno Haible  <bruno@clisp.org>
6428         gettext: Update macros from gettext git.
6429         * m4/intldir.m4: Require Autoconf >= 2.60.
6430         * m4/progtest.m4: Fix typos in copyright notice.
6432 2017-05-18  Bruno Haible  <bruno@clisp.org>
6434         copy-file tests: Fix link error (regression from 2017-05-01).
6435         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6436         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
6437         $(LIB_CLOCK_GETTIME).
6439 2017-05-18  Bruno Haible  <bruno@clisp.org>
6441         unicase/special-casing: Fix incompatibility with gperf-3.0.4
6442         (regression from 2017-02-13).
6443         * lib/unicase/special-casing.in.h: Renamed from
6444         lib/unicase/special-casing.h.
6445         * modules/unicase/special-casing (Files): Add
6446         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
6447         (Makefile.am): Add rule for generating unicase/special-casing.h.
6448         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
6449         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
6450         not "special-casing.h".
6451         * lib/unicase/u*.c: Likewise.
6453 2017-05-17  Bruno Haible  <bruno@clisp.org>
6455         README: Don't ask people to read a TeXinfo file.
6456         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6457         * README: Tell people how to read the HTML formatted manual.
6459 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6461         parse-datetime: Fix memleak
6462         * lib/parse-datetime.y (parse_datetime2): Cleanup on
6463         localtime_rz() failure.
6465 2017-05-16  Bruno Haible  <bruno@clisp.org>
6467         javacomp: Fix handle leak.
6468         Found by Coverity.
6469         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6471 2017-05-16  Bruno Haible  <bruno@clisp.org>
6473         relocate: Make it easier to reclaim allocated memory.
6474         * lib/relocatable.h (relocate2): New declaration/macro.
6475         * lib/relocatable.c (relocate2): New function.
6476         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6477         relocate2 function.
6478         * lib/localcharset.c (relocate2): Define fallback.
6479         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6480         allocated memory.
6481         * lib/javaversion.c (relocate2): Define fallback.
6482         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6483         allocated memory.
6485 2017-05-16  Bruno Haible  <bruno@clisp.org>
6487         relocate: Simplify EMX specific code.
6488         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6489         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6491 2017-05-16  Bruno Haible  <bruno@clisp.org>
6493         sigpipe tests: Fix file list.
6494         * modules/sigpipe-tests (Files): Add tests/macros.h.
6496 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6498         manywarnings: update for GCC 7
6499         * build-aux/gcc-warning.spec:
6500         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6501         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6502         requires a non-comment fallthrough attribute.  This is a bit
6503         cleaner than the comment versions.
6504         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6505         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6506         Use it whenever one switch case falls through into the next.
6507         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6508         Use FALLTHROUGH macro.
6510 2017-05-15  Bruno Haible  <bruno@clisp.org>
6512         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6513         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6514         @ALLOCA@, not @LTALLOCA@.
6516 2017-05-15  Bruno Haible  <bruno@clisp.org>
6518         sys_select: Avoid "was expanded before it was required" warning.
6519         * modules/sys_select (configure.ac): Require, not invoke,
6520         gl_HEADER_SYS_SELECT.
6522 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6524         gnulib-tool: improve GNU Make debugging
6525         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6526         Report autoconf diagnostics when it fails, in the output makefile.
6528 2017-05-14  Bruno Haible  <bruno@clisp.org>
6530         stat-time tests: Improve comment.
6531         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6533 2017-05-14  Bruno Haible  <bruno@clisp.org>
6535         same-inode: Adapt for windows-stat-inodes.
6536         * lib/same-inode.h: Include <sys/types.h>.
6537         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6538         * modules/same-inode (Depends-on): Add sys_types.
6540 2017-05-14  Bruno Haible  <bruno@clisp.org>
6542         windows-stat-inodes: New module.
6543         * m4/windows-stat-inodes.m4: New file.
6544         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6545         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6546         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6547         (_GL_WINDOWS_STAT_INODES): New macro.
6548         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6549         (GetFileInformationByHandleExFunc): New variable.
6550         (initialize): Initialize it.
6551         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6552         st_ino appropriately.
6553         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6554         a fallback, because it does not provide st_dev and st_ino values.
6555         * modules/fstat (Depends-on): Add 'verify'.
6556         * modules/windows-stat-inodes: New file.
6557         * doc/windows-stat-inodes.texi: New file.
6558         * doc/gnulib.texi: Include it.
6559         * doc/posix-headers/sys_stat.texi: Mention the new module.
6561 2017-05-14  Bruno Haible  <bruno@clisp.org>
6563         stat-time tests: Workaround for native Windows.
6564         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6565         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6566         New variables.
6567         (initialize_filenames): New function.
6568         (main): Invoke it.
6569         (cleanup, prepare_test): Update.
6571 2017-05-14  Bruno Haible  <bruno@clisp.org>
6573         stat-time: Adapt for windows-stat-timespec.
6574         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6575         entire st_ctim field.
6577 2017-05-13  Jim Meyering  <meyering@fb.com>
6579         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6580         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6581         file that uses the assume macro, claiming that verify.h is unused.
6583 2017-05-13  Bruno Haible  <bruno@clisp.org>
6585         Use symbolic values for _WIN32_WINNT.
6586         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6587         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6589 2017-05-13  Bruno Haible  <bruno@clisp.org>
6591         year2038: New module.
6592         * m4/year2038.m4: New file.
6593         * modules/year2038: New file.
6594         * doc/year2038.texi: New file.
6595         * doc/gnulib.texi: Include it.
6597 2017-05-13  Bruno Haible  <bruno@clisp.org>
6599         largefile: Simplify.
6600         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6601         of _GL_WINDOWS_64_BIT_ST_SIZE.
6603 2017-05-13  Bruno Haible  <bruno@clisp.org>
6605         largefile: Improve and document.
6606         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6607         the mingw headers already define 'stat' appropriately.
6608         * modules/largefile (Description): Clarify.
6609         * doc/largefile.texi: New file.
6610         * doc/gnulib.texi: Include it.
6611         * doc/posix-headers/sys_types.texi: Update.
6613 2017-05-13  Bruno Haible  <bruno@clisp.org>
6615         truncate: New module.
6616         * lib/unistd.in.h (truncate): New declaration.
6617         * lib/truncate.c: New file.
6618         * m4/truncate.m4: New file.
6619         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6620         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6621         REPLACE_TRUNCATE.
6622         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6623         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6624         * modules/truncate: New file.
6625         * tests/test-unistd-c++.cc (truncate): Test signature.
6626         * doc/posix-functions/truncate.texi: Mention the new module.
6628         * tests/test-truncate.c: New file.
6629         * modules/truncate-tests: New file.
6631 2017-05-13  Bruno Haible  <bruno@clisp.org>
6633         windows-stat-timespec: New module.
6634         * modules/windows-stat-timespec: New file.
6635         * m4/windows-stat-timespec.m4: New file.
6636         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6637         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6638         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6639         fields st_atim, st_mtim, st_ctim.
6640         (st_atime, st_mtime, st_ctime): Define as macros.
6641         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6642         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6643         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6644         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6645         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6646         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6647         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6648         FILETIME to 'struct timespec', not 'time_t'.
6649         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6650         FILETIME to 'struct timespec', not 'time_t'.
6651         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6652         _GL_WINDOWS_STAT_TIMESPEC.
6653         * doc/windows-stat-timespec.texi: New file.
6654         * doc/gnulib.texi: Include it.
6656 2017-05-13  Bruno Haible  <bruno@clisp.org>
6658         windows-stat-override: New module.
6659         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6660         definition. Define GNULIB_defined_struct_stat.
6661         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6662         link error if this symbol is used and the corresponding module is not
6663         in use.
6664         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6665         GNULIB_OVERRIDES_STRUCT_STAT.
6666         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6667         GNULIB_OVERRIDES_STRUCT_STAT.
6668         * modules/sys_stat (Makefile.am): Substitute
6669         GNULIB_OVERRIDES_STRUCT_STAT.
6670         * modules/windows-stat-override: New file.
6672 2017-05-13  Bruno Haible  <bruno@clisp.org>
6674         fstat: Fix module dependency conditions.
6675         * modules/fstat (Depends-on): Fix typo.
6677 2017-05-13  Bruno Haible  <bruno@clisp.org>
6679         stat, fstat: Complete removal of old native Windows code.
6680         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6681         * lib/fstat.c: Likewise.
6682         * lib/stat-w32.c: Likewise.
6684 2017-05-13  Bruno Haible  <bruno@clisp.org>
6686         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6687         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6689 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6691         getopt-posix: port to mingw
6692         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6693         Problem reported by Daniel P. Berrage in:
6694         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6696 2017-05-11  Bruno Haible  <bruno@clisp.org>
6698         gettimeofday: Increase precision on mingw.
6699         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6700         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6701         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6702         GetSystemTimePreciseAsFileTime based implementation always.
6703         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6704         mingw.
6706 2017-05-11  Bruno Haible  <bruno@clisp.org>
6708         poll: Fix confusion between SOCKETs and FDs on native Windows.
6709         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6710         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6712 2017-05-11  Bruno Haible  <bruno@clisp.org>
6714         doc: Clarify doc about socket functions on native Windows.
6715         This reworks doc that was added on 2008-09-29.
6716         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6717         clearer wording.
6718         * doc/posix-functions/accept.texi: Use clearer wording.
6719         * doc/posix-functions/bind.texi: Likewise.
6720         * doc/posix-functions/connect.texi: Likewise.
6721         * doc/posix-functions/getpeername.texi: Likewise.
6722         * doc/posix-functions/getsockname.texi: Likewise.
6723         * doc/posix-functions/getsockopt.texi: Likewise.
6724         * doc/posix-functions/ioctl.texi: Likewise.
6725         * doc/posix-functions/listen.texi: Likewise.
6726         * doc/posix-functions/recv.texi: Likewise.
6727         * doc/posix-functions/recvfrom.texi: Likewise.
6728         * doc/posix-functions/send.texi: Likewise.
6729         * doc/posix-functions/sendto.texi: Likewise.
6730         * doc/posix-functions/setsockopt.texi: Likewise.
6731         * doc/posix-functions/shutdown.texi: Likewise.
6732         * doc/posix-functions/socket.texi: Likewise.
6734 2017-05-10  Bruno Haible  <bruno@clisp.org>
6736         poll: Fix link error on native Windows.
6737         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6739 2017-05-10  Bruno Haible  <bruno@clisp.org>
6741         time: Fix missing initialization of HAVE_TIMEZONE_T.
6742         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6743         here...
6744         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6745         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6746         gl_HEADER_SYS_TIME_H_DEFAULTS.
6747         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6748         (configure.ac): Remove useless quoting.
6750 2017-05-10  Bruno Haible  <bruno@clisp.org>
6752         Implement a way to opt out from MSVC support, part 2.
6753         * modules/msvc-inval (Include): Document recommended idiom.
6754         * modules/msvc-nothrow (Include): Likewise.
6756         Implement a way to opt out from MSVC support.
6757         This is useful for Emacs.
6758         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6759         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6760         * lib/error.c: Likewise.
6761         * lib/fcntl.c: Likewise.
6762         * lib/flock.c: Likewise.
6763         * lib/fstat.c: Likewise.
6764         * lib/fsync.c: Likewise.
6765         * lib/ioctl.c: Likewise.
6766         * lib/isapipe.c: Likewise.
6767         * lib/lseek.c: Likewise.
6768         * lib/nonblocking.c: Likewise.
6769         * lib/poll.c: Likewise.
6770         * lib/select.c: Likewise.
6771         * lib/sockets.h: Likewise.
6772         * lib/sockets.c: Likewise.
6773         * lib/stdio-read.c: Likewise.
6774         * lib/stdio-write.c: Likewise.
6775         * lib/utimens.c: Likewise.
6776         * lib/w32sock.h: Likewise.
6777         * lib/w32spawn.h: Likewise.
6778         * tests/test-cloexec.c: Likewise.
6779         * tests/test-dup-safer.c: Likewise.
6780         * tests/test-dup2.c: Likewise.
6781         * tests/test-dup3.c: Likewise.
6782         * tests/test-fcntl.c: Likewise.
6783         * tests/test-pipe.c: Likewise.
6784         * tests/test-pipe2.c: Likewise.
6785         * lib/ftruncate.c: Likewise.
6786         (chsize_nothrow): Renamed from chsize.
6787         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6788         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6789         * lib/close.c: Likewise.
6790         * lib/dup.c: Likewise.
6791         * lib/fclose.c: Likewise.
6792         * lib/raise.c: Likewise.
6793         * tests/test-fgetc.c: Likewise.
6794         * tests/test-fputc.c: Likewise.
6795         * tests/test-fread.c: Likewise.
6796         * tests/test-fwrite.c: Likewise.
6797         * lib/getdtablesize.c: Likewise.
6798         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6799         * lib/isatty.c: Don't include msvc-inval.h if
6800         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6801         Include <io.h> as an alternative to msvc-nothrow.h.
6802         * lib/read.c: Likewise.
6803         * lib/write.c: Likewise.
6804         * lib/dup2.c: Likewise.
6805         (dup2_nothrow): New function.
6806         (ms_windows_dup2): Use it.
6807         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6808         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6809         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6810         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6811         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6812         * m4/read.m4 (gl_FUNC_READ): Likewise.
6813         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6814         * doc/windows-without-msvc.texi: New file.
6815         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6816         section.
6818 2017-05-10  Bruno Haible  <bruno@clisp.org>
6820         wait-process: Adjust native Windows support.
6821         * lib/wait-process.c: Use the usual condition for recognizing a native
6822         Windows platform.
6824 2017-05-10  Bruno Haible  <bruno@clisp.org>
6826         doc: New chapter "Native Windows Support".
6827         * doc/gnulib.texi (Native Windows Support): New chapter.
6828         * doc/windows-libtool.texi: Small wording changes.
6829         * doc/windows-sockets.texi: Small wording and formatting changes.
6831 2017-05-10  Bruno Haible  <bruno@clisp.org>
6833         doc: Move section "Library version handling".
6834         * doc/gnulib.texi: Move section "Library version handling"
6835         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6837 2017-05-10  Bruno Haible  <bruno@clisp.org>
6839         doc: Move section "Running self-tests under valgrind".
6840         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6841         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6843 2017-05-10  Bruno Haible  <bruno@clisp.org>
6845         doc: New chapter "Build Infrastructure Modules".
6846         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6848 2017-05-10  Bruno Haible  <bruno@clisp.org>
6850         Prepare for reordering sections in the manual.
6851         * doc/gnulib.texi: Move several sections to separate files. Include
6852         these files.
6853         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6854         * doc/obsolete.texi: Likewise.
6855         * doc/extra-tests.texi: Likewise.
6856         * doc/transversal.texi: Likewise.
6857         * doc/namespace.texi: Likewise.
6858         * doc/check-version.texi: Likewise.
6859         * doc/windows-sockets.texi: Likewise.
6860         * doc/windows-libtool.texi: Likewise.
6861         * doc/licenses-texi.texi: Likewise.
6862         * doc/build-automation.texi: Likewise.
6863         * doc/c-locale.texi: Likewise.
6865 2017-05-10  Bruno Haible  <bruno@clisp.org>
6867         Fix instructions how to update manual on www.gnu.org.
6868         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6870 2017-05-09  Bruno Haible  <bruno@clisp.org>
6872         tzset: Expand comment about TZ problem on native Windows.
6873         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6874         Paul Eggert.
6875         * lib/ctime.c (rpl_ctime): Likewise.
6876         * lib/localtime.c (rpl_localtime): Likewise.
6877         * lib/mktime.c (mktime): Likewise.
6878         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6879         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6881 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6883         intprops: don’t depend on ‘verify’
6884         Problem reported by Ævar Arnfjörð Bjarmason in:
6885         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6886         * lib/intprops.h: Do not include verify.h, and move compile-time
6887         checks from here ...
6888         * tests/test-intprops.c (main): ... to here, if they’re not here
6889         already.  Check widths of other standard integer types.
6890         * modules/intprops (Depends-on): Remove ‘verify’.
6892 2017-05-07  Bruno Haible  <bruno@clisp.org>
6894         utimens: On native Windows, support 100ns resolution also if fd < 0.
6895         * lib/utime.in.h: Include <time.h>.
6896         (_gl_utimens_windows): New declaration.
6897         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6898         (utime): Invoke it.
6899         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6900         instead of utime.
6901         * modules/utime (Depends-on): Add 'time'.
6903 2017-05-07  Bruno Haible  <bruno@clisp.org>
6905         utimens: Improve error code on native Windows.
6906         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6907         error code EACCES, not EINVAL.
6909 2017-05-07  Bruno Haible  <bruno@clisp.org>
6911         utime: Handle more Windows error codes.
6912         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6913         Based on explanations by Billy O'Neal.
6915 2017-05-05  Bruno Haible  <bruno@clisp.org>
6917         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6918         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6919         union.
6920         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6921         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6922         value of cipher->IV.
6924 2017-05-05  Bruno Haible  <bruno@clisp.org>
6926         wctype-h-c++-tests: Update.
6927         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6929 2017-05-05  Bruno Haible  <bruno@clisp.org>
6931         wchar-c++-tests: Update.
6932         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6934 2017-05-05  Bruno Haible  <bruno@clisp.org>
6936         utime-h-c++-tests: New module.
6937         * tests/test-utime-h-c++.cc: New file.
6938         (utime): Declare, missing since 2017-04-30.
6939         * modules/utime-h-c++-tests: New file.
6941 2017-05-05  Bruno Haible  <bruno@clisp.org>
6943         unistd-c++-tests: Update.
6944         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6945         (read): Declare, missing since 2011-04-15.
6946         (sethostname): Declare, missing since 2011-12-03.
6948 2017-05-05  Bruno Haible  <bruno@clisp.org>
6950         time-c++-tests: Update.
6951         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6952         (localtime, gmtime): Declare, missing since 2017-04-30.
6953         (ctime): Declare, missing since 2017-04-30.
6954         (strftime): Declare, missing since 2017-04-30.
6955         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6956         2015-07-24.
6958 2017-05-05  Bruno Haible  <bruno@clisp.org>
6960         sys_resource-c++-tests: New module.
6961         * tests/test-sys_resource-c++.cc: New file.
6962         (getrusage): Declare, missing since 2012-04-13.
6963         * modules/sys_resource-c++-tests: New file.
6965 2017-05-05  Bruno Haible  <bruno@clisp.org>
6967         strings-c++-tests: New module.
6968         * tests/test-strings-c++.cc: New file.
6969         (ffs): Declare, missing since 2011-07-12.
6970         * modules/strings-c++-tests: New file.
6972 2017-05-05  Bruno Haible  <bruno@clisp.org>
6974         string-c++-tests: Update.
6975         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6976         (ffsll): Declare, missing since 2011-07-15.
6978 2017-05-05  Bruno Haible  <bruno@clisp.org>
6980         stdlib-c++-tests: Update.
6981         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6982         2011-10-18.
6983         (ptsname_r): Declare, missing since 2011-11-07.
6984         (qsort_r): Declare, missing since 2014-08-29.
6985         (random, srandom, initstate, setstate): Declare, missing since
6986         2012-01-14.
6987         (secure_getenv): Declare, missing since 2013-02-05.
6989 2017-05-05  Bruno Haible  <bruno@clisp.org>
6991         stdio-c++-tests: Update.
6992         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6994 2017-05-05  Bruno Haible  <bruno@clisp.org>
6996         signal-h-c++-tests: Update.
6997         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6999 2017-05-05  Bruno Haible  <bruno@clisp.org>
7001         math-c++-tests: Update.
7002         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
7003         (fma): Declare, missing since 2011-10-17.
7004         (fmal): Declare, missing since 2011-10-17.
7006 2017-05-05  Bruno Haible  <bruno@clisp.org>
7008         locale-c++-tests: Update.
7009         * tests/test-locale-c++.cc (localeconv): Declare, missing since
7010         2012-03-25.
7012 2017-05-05  Bruno Haible  <bruno@clisp.org>
7014         inttypes-c++-tests: New module.
7015         * tests/test-inttypes-c++.cc: New file.
7016         (strtoimax): Declare, missing since 2012-01-05.
7017         (strtoumax): Declare, missing since 2012-01-05.
7018         * modules/inttypes-c++-tests: New file.
7020 2017-05-05  Bruno Haible  <bruno@clisp.org>
7022         dirent-c++-tests: Update.
7023         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
7024         (rewinddir): Declare, missing since 2011-09-13.
7025         (dirfd): Declare, missing since 2010-03-08.
7027 2017-05-04  Bruno Haible  <bruno@clisp.org>
7029         argp: Fix mistake in 2017-04-23 commit.
7030         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
7031         assume that strerror_r returns 'int', not 'char *'.
7033 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
7035         argp: Fix typo.
7036         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
7038 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7040         utimens: port to Emacs + MS-Windows
7041         Skip the new MS-Windows-specific code if Emacs.
7042         * lib/utimens.c [EMACS_CONFIGUATION]:
7043         Avoid new MS-Windows-specific code.
7044         (USE_SETFILETIME): New macro.
7045         (fdutimens): Use it.
7047 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7049         tzset: update doc for TZ problems on MS-Windows
7050         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
7051         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
7052         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
7053         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
7054         * doc/posix-functions/wcsftime.texi:
7055         Mention some issues with TZ under MS-Windows.
7057 2017-05-01  Bruno Haible  <bruno@clisp.org>
7059         copy-file: Fix build error on mingw.
7060         * modules/copy-file (Depends-on): Add 'close'.
7062 2017-05-01  Bruno Haible  <bruno@clisp.org>
7064         tzset: Work around TZ problem on native Windows.
7065         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
7066         Windows, set REPLACE_TZSET to 1.
7067         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
7068         invoke '_tzset' instead of 'tzset'.
7069         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
7071         * modules/time_rz (Depends-on): Add tzset.
7072         * lib/time_rz.c (tzset): Remove fallback definition.
7073         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
7075 2017-05-01  Bruno Haible  <bruno@clisp.org>
7077         mktime: Fix dependencies.
7078         * modules/mktime (Depends-on): Add 'time'.
7080 2017-05-01  Bruno Haible  <bruno@clisp.org>
7082         New module 'localtime-buffer', split off from module 'gettimeofday'.
7083         * lib/localtime-buffer.h: New file.
7084         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
7085         * lib/time.in.h (tzset): New declaration.
7086         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
7087         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
7088         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
7089         moved to lib/localtime-buffer.c or lib/tzset.c.
7090         * m4/localtime-buffer.m4: New file.
7091         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
7092         HAVE_TZSET, REPLACE_TZSET.
7093         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
7094         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
7095         gl_LOCALTIME_BUFFER_NEEDED.
7096         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
7097         since 2007-01-18.
7098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
7099         tzset.
7100         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
7101         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
7102         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
7103         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
7104         * modules/localtime-buffer: New file.
7105         * modules/time (Depends-on): Remove 'gettimeofday'.
7106         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
7107         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
7108         * modules/tzset (Description): Enable hyperlink to POSIX spec.
7109         (Files): Add lib/tzset.c.
7110         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
7111         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
7112         gl_TIME_MODULE_INDICATOR.
7113         * modules/gettimeofday (Depends-on): Add localtime-buffer.
7115 2017-05-01  Bruno Haible  <bruno@clisp.org>
7117         copy-file: Preserve sub-second time stamps.
7118         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
7119         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
7120         transport the time stamps from the original file to the destination
7121         file.
7122         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
7123         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
7124         utime-h.
7126 2017-05-01  Bruno Haible  <bruno@clisp.org>
7128         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
7129         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
7130         also on MSVC.
7131         Reported by Eli Zaretskii <eliz@gnu.org>.
7133 2017-05-01  Bruno Haible  <bruno@clisp.org>
7135         wchar: Fix compilation error with the original mingw.org mingw.
7136         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7137         <stddef.h> instead.
7138         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
7139         gl_WCTYPE_H.
7140         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
7141         gl_TYPE_WINT_T_PREREQ instead.
7142         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
7143         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
7144         Reported by Eli Zaretskii <eliz@gnu.org>.
7146 2017-04-30  Bruno Haible  <bruno@clisp.org>
7148         utimecmp: Add support for native Windows.
7149         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
7151 2017-04-30  Bruno Haible  <bruno@clisp.org>
7153         utimens: Add support for native Windows.
7154         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
7155         (fdutimens): Provide a native Windows implementation, like utime.c with
7156         added tv_nsec support.
7157         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
7158         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
7160 2017-04-30  Bruno Haible  <bruno@clisp.org>
7162         wcsftime: New module.
7163         * lib/wchar.in.h (wcsftime): New declaration.
7164         * lib/wcsftime.c: New file.
7165         * m4/wcsftime.m4: New file.
7166         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
7167         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
7168         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7169         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
7170         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7171         * modules/wcsftime: New file.
7172         * doc/posix-functions/wcsftime.texi: Mention the new module.
7174 2017-04-30  Bruno Haible  <bruno@clisp.org>
7176         strftime-fixes: New module.
7177         * lib/time.in.h (strftime): New declaration.
7178         * lib/strftime-fixes.c: New file.
7179         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
7180         (gl_FUNC_STRFTIME): Remove macro.
7181         * m4/strftime-fixes.m4: New file.
7182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
7183         REPLACE_STRFTIME.
7184         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
7185         REPLACE_STRFTIME.
7186         * modules/strftime-fixes: New file.
7187         * doc/posix-functions/strftime.texi: Mention the new module.
7189 2017-04-30  Bruno Haible  <bruno@clisp.org>
7191         mktime: Work around TZ problem on native Windows.
7192         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
7193         from the native Windows workaround.
7194         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
7195         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
7196         'guessing no'.
7197         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
7198         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
7199         NEED_MKTIME_WINDOWS.
7200         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
7201         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
7202         NEED_MKTIME_INTERNAL.
7203         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
7204         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
7205         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
7206         not REPLACE_MKTIME.
7207         * doc/posix-functions/mktime.texi: Mention the native Windows
7208         workaround.
7210 2017-04-30  Bruno Haible  <bruno@clisp.org>
7212         localtime: New module.
7213         * lib/time.in.h (localtime): Declare also if requested by module
7214         'localtime'.
7215         * lib/localtime.c: New file.
7216         * m4/localtime.m4: New file.
7217         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
7218         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
7219         * modules/localtime: New file.
7220         * doc/posix-functions/localtime.texi: Mention the new module.
7222 2017-04-30  Bruno Haible  <bruno@clisp.org>
7224         ctime: New module.
7225         * lib/time.in.h (ctime): New declaration.
7226         * lib/ctime.c: New file.
7227         * m4/ctime.m4: New file.
7228         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
7229         REPLACE_CTIME.
7230         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
7231         * modules/ctime: New file.
7232         * doc/posix-functions/ctime.texi: Mention the new module.
7234 2017-04-30  Bruno Haible  <bruno@clisp.org>
7236         gettimeofday: Provide higher resolution on native Windows.
7237         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
7238         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
7239         (initialize): Initialize it.
7240         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
7241         'struct timeval'. Don't use _ftime().
7242         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
7243         <sys/timeb.h> and _ftime.
7245 2017-04-30  Bruno Haible  <bruno@clisp.org>
7247         Document the problem with the Cygwin environment variable TZ.
7248         * doc/posix-functions/tzset.texi: Add note about TZ.
7249         * doc/posix-functions/ctime.texi: Likewise.
7250         * doc/posix-functions/localtime.texi: Likewise.
7251         * doc/posix-functions/mktime.texi: Likewise.
7252         * doc/posix-functions/strftime.texi: Likewise.
7253         * doc/posix-functions/wcsftime.texi: Likewise.
7254         * doc/pastposix-functions/ftime.texi: Likewise.
7256 2017-04-30  Bruno Haible  <bruno@clisp.org>
7258         utime-tests: New module.
7259         * tests/test-utime.c: New file, based on tests/test-utimens.h.
7260         * tests/test-utimens-common.h: Include <sys/stat.h>.
7261         * modules/utime-tests: New file.
7263 2017-04-29  Bruno Haible  <bruno@clisp.org>
7265         utime: New module.
7266         * lib/utime.in.h: Add comment for snippets.
7267         (utime): New declaration.
7268         * lib/utime.c: New file.
7269         * m4/utime.m4: New file.
7270         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
7271         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
7272         REPLACE_UTIME.
7273         * modules/utime-h (Depends-on): Add snippets.
7274         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
7275         Insert snippets.
7276         * modules/utime: New file.
7277         * doc/posix-functions/utime.texi: Mention the new module.
7279 2017-04-29  Bruno Haible  <bruno@clisp.org>
7281         utime-h: Modernize handling of 'struct utimbuf'.
7282         * lib/utime.in.h: Include next <utime.h> if it exists.
7283         (utimbuf): Define to _utimbuf on native Windows.
7284         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
7285         Set UTIME_H on native Windows.
7286         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
7287         * modules/utime-h (Depends-on): Add include_next.
7288         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
7289         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
7291         * lib/utimens.c (utimbuf): Remove fallback definition.
7292         * m4/utimens.m4 (gl_UTIMENS): Don't require
7293         gl_CHECK_TYPE_STRUCT_UTIMBUF.
7294         * m4/utimbuf.m4: Remove file.
7295         * modules/utimens (Files): Remove m4/utimbuf.m4.
7297 2017-04-29  Bruno Haible  <bruno@clisp.org>
7299         Make use of module 'utime-h'.
7300         * modules/copy-file (Depends-on): Add utime-h.
7301         * lib/copy-file.c: Assume that <utime.h> exists.
7302         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
7304         * modules/utimens (Depends-on): Add utime-h.
7305         * lib/utimens.c: Assume that <utime.h> exists.
7307 2017-04-29  Bruno Haible  <bruno@clisp.org>
7309         utime-h: New module.
7310         * m4/utime_h.m4: New file.
7311         * lib/utime.in.h: New file.
7312         * modules/utime-h: New file.
7313         * doc/posix-headers/utime.texi: Mention the new module.
7315         * tests/test-utime-h.c: New file.
7316         * modules/utime-h-tests: New file.
7318 2017-04-30  Bruno Haible  <bruno@clisp.org>
7320         Fix a few typos.
7321         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
7322         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
7323         * doc/posix-functions/fstat.texi: Fix a plural typo.
7324         * doc/posix-functions/stat.texi: Likewise.
7325         * m4/include_next.m4: Update comments.
7327 2017-04-29  Bruno Haible  <bruno@clisp.org>
7329         error: Fix mistake in 2017-04-23 commit.
7330         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
7331         assume that strerror_r returns 'int', not 'char *'.
7333 2017-04-29  Bruno Haible  <bruno@clisp.org>
7335         stat: Fix time_t values and other problems on native Windows platforms.
7336         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
7337         implementations of stat().
7338         * lib/stat.c: Include filename.h instead of dosname.h. Include
7339         malloca.h, stat-w32.h.
7340         (is_unc_root): New function.
7341         (rpl_stat): New implementation for native Windows. Remove
7342         REPLACE_FUNC_STAT_DIR code.
7343         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
7344         Don't define REPLACE_FUNC_STAT_DIR.
7345         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
7346         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7347         (Depends-on): Remove dosname. Add filename, malloca.
7348         (configure.ac): Also compile lib/stat-w32.c.
7350 2017-04-29  Bruno Haible  <bruno@clisp.org>
7352         fstat: Fix time_t values on native Windows platforms.
7353         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
7354         * lib/stat-w32.h: New file.
7355         * lib/stat-w32.c: New file.
7356         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
7357         stat-w32.h instead.
7358         (fstat_nothrow): Remove function.
7359         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
7360         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
7361         always.
7362         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
7363         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7364         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
7365         (configure.ac): Also compile lib/stat-w32.c.
7367 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7369         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
7370         Problem reported by Assaf Gordon and Gavin Smith in:
7371         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
7372         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
7373         #define this, too.
7375 2017-04-29  Bruno Haible  <bruno@clisp.org>
7377         strerror_r-posix: Fixes for MSVC 14.
7378         * lib/strerror_r.c: Include <stdarg.h>.
7379         (strerror_r): Provide error messages for errno values 100...140.
7380         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
7382 2017-04-28  Bruno Haible  <bruno@clisp.org>
7384         noreturn: New module.
7385         * lib/noreturn.h: New file.
7386         * modules/noreturn: New file.
7387         * tests/test-noreturn.c: New file.
7388         * modules/noreturn-tests: New file.
7389         * tests/test-noreturn-c++.cc: New file.
7390         * modules/noreturn-c++-tests: New file.
7392 2017-04-27  Bruno Haible  <bruno@clisp.org>
7394         wctype-h: Fix compilation error with the original mingw.org mingw.
7395         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
7396         HAVE_CRTDEFS_H.
7397         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
7398         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7399         <stddef.h> instead.
7400         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
7402 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7404         nap.h: Fix compilation on non windows platforms
7405         * tests/nap.h: Move misplaced endif.
7407 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7408         and Paul Eggert  <eggert@cs.ucla.edu>
7410         time_rz: fix heap buffer overflow vulnerability
7411         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
7412         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
7413         whether there is enough buffer space available, thus avoiding
7414         the problematic promotion of signed to unsigned causing an invalid
7415         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
7416         the start of the buffer.
7417         * tests/test-parse-datetime.c (main): Add a test case written by
7418         Paul Eggert, which overwrites enough of the heap so that
7419         standard glibc will fail with "free(): invalid pointer"
7420         without the patch applied.
7422 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7424         xalloc: add missing integer overflow check
7425         * lib/xalloc.h (x2nrealloc): Also check for multiplication
7426         overflow when P is null.
7428 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7430         parse-datetime: make it standalone
7431         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
7432         (_GL_ATTRIBUTE_FORMAT): New macro.
7433         These are needed to get './gnulib-tool --test parse-datetime' to work.
7435 2017-04-23  Bruno Haible  <bruno@clisp.org>
7437         nap.h: Port to native Windows.
7438         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
7439         use nap_fd instead. On native Windows, close and reopen nap_fd.
7440         (nap_works): Don't compare the ctimes, because on native Windows, these
7441         are the creation times.
7442         (nap): Update.
7444 2017-04-23  Bruno Haible  <bruno@clisp.org>
7446         nap.h: Fix logic.
7447         * tests/nap.h (nap): Avoid signed integer overflow in loop.
7449 2017-04-23  Bruno Haible  <bruno@clisp.org>
7451         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
7452         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
7453         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
7454         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
7455         * lib/argp-help.c (__argp_failure): Likewise.
7457 2017-04-23  Bruno Haible  <bruno@clisp.org>
7459         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
7460         * m4/strerror_r.m4: Revert changes since 2016-10-16.
7461         * lib/strerror_r.c: Likewise.
7463 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
7465         Target a C99 subset, not a C89 subset
7466         For many years Gnulib has targeted C89 and has resisted using C99
7467         features, as some Gnulib-using programs still wanted to target
7468         C89.  As this no longer seems to be the case, relax the porting
7469         requirements to allow some C99 features.  This is merely a change
7470         to the documentation, to give other Gnulib developers a chance to
7471         weigh in on the topic.
7472         * doc/extern-inline.texi (extern inline):
7473         * doc/gnulib-readme.texi (Portability guidelines):
7474         * doc/gnulib-tool.texi (Initial import):
7475         * doc/gnulib.texi (Header files):
7476         Modernize to talk about C99 and C11 instead of C89 and C99.
7477         * doc/gnulib-readme.texi (Portability guidelines):
7478         Now a section, not merely a subsection, so that it
7479         can be split up.  Modernize a bit.
7480         (C language versions, C99 features assumed)
7481         (C99 features avoided):
7482         New sections.
7484 2017-04-23  Bruno Haible  <bruno@clisp.org>
7486         doc: New section "Modules that modify the way other modules work".
7487         * doc/gnulib.texi (Modules that modify the way other modules work): New
7488         section.
7490 2017-04-23  Bruno Haible  <bruno@clisp.org>
7492         stat-time: Update comments.
7493         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7494         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7495         Windows.
7497 2017-04-01  Bruno Haible  <bruno@clisp.org>
7499         glob: Fix more memory leaks.
7500         * lib/glob.c (glob): Free allocated memory before returning.
7501         Reported by Coverity via Tim Rühsen.
7503 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7505         poll: improve fast check for out-of-range NFD
7506         * lib/poll.c: Do not include intprops.h.
7507         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7508         * modules/poll (Depends-on): Remove intprops.
7510         ftoastr: cite a newer paper
7511         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7512         instead of Loitsch 2010.
7514 2017-04-22  Bruno Haible  <bruno@clisp.org>
7516         poll: Enable argument check also in the Windows implementation.
7517         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7518         Reported by Paul Eggert.
7520 2017-04-22  Bruno Haible  <bruno@clisp.org>
7522         getlogin_r: Work around bug in Mac OS X 10.12.
7523         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7524         bug.
7525         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7526         given size minus 1, call getlogin_r a second time, on a larger buffer.
7527         * modules/getlogin_r (Depends-on): Add malloca.
7528         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7530 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7532         parse-datetime: fix %z and prefer signed int
7533         %z problem reported by Pádraig Brady in:
7534         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7535         While fixing it, I decided to prefer signed ints to size_t, as
7536         they are less error-prone (e.g., ubsan catches overflow).
7537         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7538         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7539         counts, since signed integers make for better debugging.
7540         (date): Don’t assume %z works in printf formats.
7541         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7542         sizes of buffers known to be small, e.g., because we’re using snprintf.
7543         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7545 2017-04-22  Bruno Haible  <bruno@clisp.org>
7547         *printf: Work around rounding bug on Mac OS X.
7548         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7549         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7550         Mac OS X and FreeBSD.
7551         * doc/glibc-functions/*printf.texi: Likewise.
7553 2017-04-22  Bruno Haible  <bruno@clisp.org>
7555         vasnprintf tests: Avoid warnings.
7556         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7557         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7558         test.
7560 2017-04-22  Bruno Haible  <bruno@clisp.org>
7562         sys_file tests: Avoid warning.
7563         * tests/test-sys_file.c (main): Add a default clause to the switch
7564         statement.
7566 2017-04-22  Bruno Haible  <bruno@clisp.org>
7568         sethostname: Update doc.
7569         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7570         Mac OS X.
7572 2017-04-22  Bruno Haible  <bruno@clisp.org>
7574         quotearg tests: Avoid warnings.
7575         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7576         false.
7578 2017-04-22  Bruno Haible  <bruno@clisp.org>
7580         poll: Enable argument check.
7581         * lib/poll.c: Include intprops.h.
7582         (poll): Check value of nfd correctly.
7583         * modules/poll (Depends-on): Add intprops.
7585 2017-04-22  Bruno Haible  <bruno@clisp.org>
7587         get-rusage-data: Avoid warnings on Mac OS X.
7588         * lib/get-rusage-data.c: On Mac OS X, don't define
7589         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7590         (get_rusage_data) [Mac OS X]: Just return 0.
7592 2017-04-22  Bruno Haible  <bruno@clisp.org>
7594         xbinary-io: Fix build error.
7595         * modules/xbinary-io (Depends-on): Add gettext-h.
7596         * lib/xbinary-io.c: Include gettext.h and define _().
7597         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7598         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7600 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7602         parse-datetime: overflow and debug cleanups
7603         This long patch was triggered by this bug report from Ruediger Meier:
7604         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7605         I fixed the bug he noted, then found some others nearby, and then
7606         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7607         up some of the code to follow GNU standards while I was at it.
7608         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7609         use c_isdigit.
7610         (EPOCH_YEAR): Remove; unused.
7611         (TM_YEAR_BASE): Now an enum rather than a macro.
7612         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7613         time zone offset, since timezones now are in terms of seconds and
7614         not minutes.
7615         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7616         appropriate.  Verify that intmax_t is wide enough.
7617         (time_overflow, time_zone_str): New functions, used to deal
7618         more reliably with overflow.
7619         (dbg_printf): Add printf attribute, to help catch integer width errors.
7620         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7621         (%union, to_hour, yylex, parse_datetime2):
7622         Use intmax_t instead of long int and/or long_time_t.
7623         All uses changed.
7624         (DBGBUFSIZE): Move earlier.
7625         (relative_time, set_hhmmss, parser_control):
7626         Just use int for nanoseconds and for time zones; that’s wide enough.
7627         (parser_control): Use bool for members like year_seen that can
7628         be booleans instead of counters.  All uses changed.
7629         Remove debug_default_input_timezone; no longer needed.
7630         All uses removed.
7631         (apply_relative_time): Return a bool overflow flag.
7632         All uses changed to check for overflow.
7633         (apply_relative_time, zone, date, relunit, relunit_snumber)
7634         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7635         Check for integer overflow portably.
7636         (str_days): Use just int for N, as it’s wide enough.
7637         Prefer 2D char arrays to arrays of char * when it looks like
7638         2D is a win on typical platforms.
7639         Prefer snprintf to strncpy/strncat, for simplicity;
7640         all buffers are smaller than INT_MAX so this is safe.
7641         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7642         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7643         as this is not true on x32.  Output "." before any nanoseconds.
7644         (debug_print_current_time, parse_datetime2):
7645         Output local zones using a more-consistent format.
7646         (debug_print_current_time, date, parse_datetime2):
7647         (main) [TEST]:
7648         Don’t assume time_t is the same width as long.
7649         (print_rel_part): New function, replacing ...
7650         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7651         (debug_print_relative_time): Use bool for boolean.
7652         (local_zone): dsts_seen now counts only tDST instances.
7653         (date): Fix printf of size_t to use %z.  Do not assume numeric
7654         tokens have negative values merely because the context suggests
7655         a syntax with "-" separating tokens.
7656         (time_zone_hhmm): Return bool success indicator, which checks for
7657         overflow.  Store result into PC->time_zone instead.  All callers
7658         changed.
7659         (tm_year_str): New function.  Return a bool success indicator and
7660         store the result into a buffer.  All callers changed.  Output the
7661         numerically correct string even if adding 1900 to the year would
7662         overflow.
7663         (to_tm_year): New function, replacing the old to_year.  All
7664         callers changed.
7665         (tm_diff): Sync with glibc.
7666         (lookup_word): Use to_uchar instead of doing it by hand.
7667         (TZBUFSIZE): Now local to the only function that needs it.
7668         (debug_strfdatetime): Simplify now that time zones are int seconds.
7669         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7670         (get_effective_timezone): Remove.  All uses removed.
7671         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7672         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7673         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7674         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7675         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7676         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7677         * modules/parse-datetime (Depends-on): Add inttypes.
7679 2017-04-21  Bruno Haible  <bruno@clisp.org>
7681         gettext-h: Avoid -Wundef warning.
7682         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7683         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7684         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7686 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7688         error: Avoid "function declaration isn't a prototype" warning.
7689         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7691 2017-04-21  Bruno Haible  <bruno@clisp.org>
7693         vasnprintf: Fix for MSVC 14.
7694         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7695         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7696         of !HAVE_SNPRINTF_RETVAL_C99.
7698 2017-04-21  Bruno Haible  <bruno@clisp.org>
7700         mbrtowc tests: Fix test failures on MSVC 14.
7701         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7702         behaviour for invalid input.
7704 2017-04-21  Bruno Haible  <bruno@clisp.org>
7706         mbsinit: Fix for MSVC 14.
7707         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7708         implementation that is in sync with mbrtowc.c. On other platforms, use
7709         an adequate ad-hoc implementation.
7711 2017-04-21  Bruno Haible  <bruno@clisp.org>
7713         Fix test-mbrtowc5.sh failure on native Windows.
7714         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7715         "C".
7717 2017-04-21  Bruno Haible  <bruno@clisp.org>
7719         Avoid accidental use of native Windows APIs on Cygwin.
7720         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7721         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7722         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7724 2017-04-20  Bruno Haible  <bruno@clisp.org>
7726         Remove red warnings from the generated MODULES.html.
7727         * modules/fcntl (Description): Disambiguate function references.
7728         * modules/getcwd-lgpl (Description): Likewise.
7729         * modules/hostent (Description): Likewise.
7730         * modules/servent (Description): Likewise.
7731         * modules/tempname (Description): Likewise.
7733 2017-04-20  Bruno Haible  <bruno@clisp.org>
7735         verify tests: Fix spurious failure with parallel make.
7736         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7737         EXTRA_PROGRAMS.
7738         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7739         * tests/test-verify-try.c: New file.
7740         * modules/verify-tests (Files): Add it.
7741         (EXTRA_PROGRAMS): Add test-verify-try.
7742         (MOSTLYCLEANFILES): Update accordingly.
7743         Reported by Adam James Stewart <ajstewart@anl.gov>.
7745 2017-04-18  Bruno Haible  <bruno@clisp.org>
7747         vma-iter: Fix compilation error on Solaris 7.
7748         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7749         like on IRIX, OSF/1.
7750         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7752 2017-04-18  Bruno Haible  <bruno@clisp.org>
7754         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7755         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7756         included.
7757         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7758         <sys/procfs.h>.
7759         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7760         <sys/procfs.h> cannot be included.
7761         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7763 2017-04-18  Bruno Haible  <bruno@clisp.org>
7765         getopt-gnu: Add comments.
7766         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7767         * modules/getopt-gnu (configure.ac): Likewise.
7769 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7771         regex: port better to Solaris 10
7772         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7773         gettext, and this causes a double #define.
7774         Problem reported by Gavin Smith in:
7775         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7776         * lib/regex_internal.h (gettext): #undef before #defining.
7778 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7780         intprops: improve comments
7781         * lib/intprops.h: Improve and shorten commentary.
7782         For the record, if we ever run into a pedantic compiler that
7783         behaves differently from GCC when converting an out-of-range value
7784         to a signed integer, we can work around the problem with something
7785         like the following code, where UCT is the signed counterpart of T
7786         (UCT is sometimes narrower than UT) and all callers are changed
7787         accordingly:
7788         #if __SUNPRO_C <= 0x5120
7789         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7790            ((t) ((ut) (a) op (ut) (b)))
7791         #else
7792         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7793            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7794             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7795                + TYPE_MINIMUM (t)) \
7796             : (t) (uct) ((ut) (a) op (ut) (b)))
7797         #endif
7799 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7801         intprops: try to avoid tickling similar bugs
7802         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7803         needs to be the same width as T; it can be wider.
7804         Change callers so that UT is at least as wide as unsigned int,
7805         as I suspect that this is less likely to run into compiler bugs.
7807         intprops: port to Oracle Studio 12.3 x86
7808         Problem reported by Gavin Smith in:
7809         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7810         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7811         Convert unsigned to signed via the usual rather than the standard way,
7812         to avoid a compiler bug in Oracle Studio 12.3 x86.
7814 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7816         getopt: prefer - to _ in new file names
7817         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7818         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7819         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7820         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7821         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7822         All uses changed.
7824         getopt: port recent getopt changes to macOS
7825         Problem reported by Harald Maier (Bug#26398).
7826         The macOS C compiler uses __nonnull for its own purposes and that
7827         clashes with glibc's __nonnull.
7828         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7829         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7830         * lib/getopt_core.h (getopt):
7831         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7832         Use _GL_ARG_NONNULL, not __nonnull.
7833         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7834         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7835         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7836         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7838 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7840         getopt-gnu: omit some duplicate code
7841         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7842         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7843         gnulib-tool already does this.
7844         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7845         getopt-posix, which we depend on.
7847         getopt-posix: use angle-bracket include
7848         * lib/getopt1.c: Include <config.h>, not "config.h".
7850 2017-04-06  Zack Weinberg  <zackw@panix.com>
7852         getopt: annotate files with relationship to glibc
7854         As the final act in this patchset, adjust the message at the top of
7855         each file to indicate which files are synced with glibc.  (This has
7856         already been done for most of the headers.)
7858         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7859         Mention in top-of-file boilerplate that these files are shared
7860         between glibc and gnulib.
7863         getopt: split up getopt.in.h and eliminate __need_getopt
7865         Over in glibc, all of the __need macros are being phased out in favor
7866         of small headers that declare only the necessary components, as this
7867         is much simpler and less prone to bugs.  As getopt is shared with
7868         glibc, gnulib needs to do the same for __need_getopt.
7870         __need_getopt is misnamed; what it really means is "we want only the
7871         getopt features specified in POSIX, not the GNU extensions".  glibc
7872         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7873         these files can be shared verbatim with gnulib.  The portability
7874         wrapper, on the other hand, they have renounced altogether; glibc's
7875         getopt.h will no longer be shared with gnulib at all.  In exchange,
7876         certain glibc-specific quirks (having to do with __posix_getopt) no
7877         longer need appear in gnulib's headers at all.
7879         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7880         splits up the current gnulib-side portability wrapper into three
7881         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7882         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7883         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7884         unistd.in.h just use them.  All new files are clearly marked with
7885         whether they are shared with glibc.
7887         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7888         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7889         with glibc, and ...
7890         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7891         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7892         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7893         instead of defining __need_getopt and including the full getopt.h.
7895         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7896         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7897         * modules/getopt-posix (Files): Add new headers and sort list.
7898         (Depends-on): No longer need snippet/arg-nonnull.
7899         (Makefile.am): Generate getopt_cdefs.h.
7902         getopt: better handling of ambiguous options
7904         glibc's getopt uses alloca to construct a linked list of possibilities
7905         for an "ambiguous" long option.  In gnulib, malloc should be used
7906         instead.  Providing for both cases complicates things a fair bit.
7908         This patch rewrites ambiguous-option handling to use a boolean vector
7909         instead of a linked list.  There is then only one allocation that
7910         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7911         and in gnulib we define __libc_use_alloca to always be false, so we
7912         don't need ifdefs in the middle of the function.  This should also be
7913         slightly more efficient in the normal case of long options being fully
7914         spelled out -- I think most people aren't even aware they _can_
7915         sometimes abbreviate long options.
7917         One interesting consequence is that the list of possibilities is now
7918         printed in exactly the order they appear in the list of long options,
7919         instead of the first possibility being shuffled to the end.
7921         (The patch looks bigger than it really is because there's a fair bit
7922         of reindentation and code rearrangement.)
7924         * lib/getopt.c: When used standalone, define __libc_use_alloca
7925         as always false and alloca to abort if called.
7926         (process_long_option): Rewrite handling of ambiguous long options
7927         to use a single boolean vector, not a linked list; use
7928         __libc_use_alloca to decide whether to allocate this using alloca.
7931         getopt: refactor long-option handling
7933         There were two copies of the bulk of the code to handle long options.
7934         Now there is only one.
7936         This change temporarily removes the logic to avoid using alloca when
7937         standalone; the next patch in the series will restore it.
7939         * lib/getopt.c (process_long_option): New function split out
7940         from _getopt_internal_r.
7941         (_getopt_internal_r): Replace both copies of the long-option
7942         processing code with calls to process_long_option.
7945         getopt: tidy up _getopt_initialize a bit
7947         _getopt_data.__posixly_correct is completely redundant to
7948         _getopt_data.__ordering, and some work that logically belongs in
7949         _getopt_initialize was being done by _getopt_internal_r, making the
7950         code harder to understand.
7952         As a side effect, getenv will no longer be called if the first
7953         character of the options string is '+' or '-', which is probably a
7954         Good Thing.  (Perhaps we should have a flag character that
7955         specifically asks for the permutation behavior?)
7957         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7958         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7959         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7962         getopt: merge from glibc: repetition reduction
7964         The definitions of the entry point functions 'getopt' and
7965         '__posix_getopt' can be made substantially less repetitive with a
7966         helper macro.
7968         While I was merging the const-correctness changes from gnulib into
7969         glibc I noticed there are still some unnecessary casts in
7970         _getopt_internal_r.
7972         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7973         a macro.  Consistently cast 'argv' to 'char **' when calling
7974         _getopt_internal.
7975         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7978         getopt: clean up error reporting
7980         getopt can print a whole bunch of error messages, and when used
7981         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7982         cancellation point and getopt isn't, and also applying fprintf to a
7983         stream in wide-character mode is not allowed.  So every single error
7984         reporting case has an #ifdef _LIBC block in which it calls internal
7985         libc functions instead.  The counterpart patch series in glibc makes
7986         it possible to simplify all of that down to a set of #defines at the
7987         top of the file; core code is written as if it is safe to just call
7988         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7989         call any *other* stdio functions.)
7991         * lib/getopt.c: When _LIBC is defined, define fprintf to
7992         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7993         to _IO_funlockfile.  When neither _LIBC nor
7994         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7995         funlockfile as no-ops.
7996         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7997         standalone error-printing code can now be used for libc as well.
7998         Add an flockfile/funlockfile pair around one case where the error
7999         message is printed in several chunks.  Don't use fputc.
8002         getopt: fix fencepost error in ambiguous-W-option handling
8004         getopt_long contains an undocumented (AFAICT) feature in which, if you
8005         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
8006         treated as equivalent to '--foo'.  This is implemented with a partial
8007         second copy of the code for handling long options, and that code
8008         increments optind one too many times when recovering from an ambiguous
8009         abbreviated option, which can cause the main loop to walk past the end
8010         of argv and crash.
8012         I discovered this while writing a test case that tries to exercise all
8013         of getopt's error reporting paths; I wouldn't be surprised to learn
8014         that this feature is never used by real applications.
8016         * lib/getopt.c (_getopt_internal_r): Don't increment
8017         d->optind a second time when reporting ambiguous -W options.
8020         getopt: clean up getopt.c and getopt1.c file headers
8022         In getopt.c, there is no need to include wchar.h at all, and it is
8023         safe nowadays to assume that stdlib.h does declare getenv (several
8024         other gnulib modules make this assumption).
8026         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
8027         by using "" inclusions consistently, and there is no actual need to
8028         include stdlib.h (except in the #ifdef TEST block, where it should be
8029         unconditional), nor to provide a backup definition of NULL at all.
8031         * lib/getopt1.c: Simplify #ifdeffage at top of file.
8032         Move inclusion of stdlib.h to #ifdef TEST block and make
8033         unconditional.  Do not define NULL.
8034         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
8035         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
8036         * modules/getopt-gnu, modules/getopt-posix: Don't call
8037         gl_PREREQ_GETENV.
8040         getopt: harmonize comments with glibc
8042         The comments explaining how the behavior of 'getopt' varies depending
8043         on whether it's the standalone version and whether there are special
8044         characters at the beginning of the options string were inconsistent
8045         between gnulib and glibc, and also out of sync with the code.
8047         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
8050         getopt: remove USE_NONOPTION_FLAGS
8052         getopt includes code to parse an environment variable named
8053         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
8054         in decimal); but all of it has been #ifdefed out since 2001, with no
8055         official way to turn it back on.
8057         According to commentary in glibc's config.h.in, bash version 2.0
8058         set this environment variable to indicate argv elements that were
8059         the result of glob expansion and therefore should not be treated
8060         as options, but the feature was "disabled later" because "it
8061         caused problems".  According to bash's CHANGES file, "later" was
8062         release 2.01; it gives no more detail about what the problems
8063         were.
8065         Version 2.0 of bash was released on the last day of 1996, and version
8066         2.01 in June of 1997.  Twenty years later, I think it is safe to
8067         assume that this environment variable isn't coming back.
8069         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
8070         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
8071         __libc_argc and __libc_argv externs, which were only used by
8072         #ifdef USE_NONOPTION_FLAGS blocks.
8075         getopt: tabify, in preparation for merge with glibc
8077         glibc sticks to the GNU default of indenting with a mix of
8078         8-column tabs and spaces; make the gnulib copy match.
8080         getopt.h is not included because it is *not* going to be merged in its
8081         present form.
8083         * getopt.c, getopt1.c, getopt_int.h: Tabify.
8085 2017-04-02  Bruno Haible  <bruno@clisp.org>
8087         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
8088         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
8089         like it was done in modules/relocatable-lib on 2011-05-21 and in
8090         modules/relocatable-prog on 2011-08-15.
8091         Reported by Reuben Thomas <rrt@sc3d.org>.
8093 2017-03-31  Bruno Haible  <bruno@clisp.org>
8095         glob: Fix invalid free() call.
8096         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
8097         static storage to home_dir.
8098         Reported by Coverity via Tim Rühsen.
8100 2017-03-31  Bruno Haible  <bruno@clisp.org>
8102         glob: Fix memory leaks.
8103         * lib/glob.c (glob): Free allocated memory before returning.
8104         Reported by Coverity via Tim Rühsen.
8106 2017-03-31  Bruno Haible  <bruno@clisp.org>
8108         md5, sha1, sha256, sha512: Add comments regarding correctness.
8109         * lib/md5.h (buflen): Add comments regarding range.
8110         * lib/sha1.h (buflen): Likewise.
8111         * lib/sha256.h (buflen): Likewise.
8112         * lib/sha512.h (buflen): Likewise.
8113         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
8114         * lib/sha1.c (sha1_process_bytes): Likewise.
8115         * lib/sha256.c (sha256_process_bytes): Likewise.
8116         * lib/sha512.c (sha512_process_bytes): Likewise.
8117         Reported by Coverity via Tim Rühsen.
8119 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
8121         getopt: merge from glibc
8122         This does not change anything substantial; it merely simplifies
8123         hypothetical merges back to glibc.
8124         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
8125         Change copyright notice to match what is in glibc.
8126         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
8127         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
8128         __open_memstream rather than open_memstream and __glibc_likely
8129         instead of __builtin_expect.
8130         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
8132 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8134         dfa: make [0-9] faster in non-C locales
8135         Problem reported by John P. Linderman (Bug#26193).
8136         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
8137         If both ends of the range are ASCII digits, do not worry about
8138         multi-character collating sequences and the like.  Be consistent
8139         about using isalpha as a precondition for setbit_case_fold_c.
8141 2017-03-19  Bruno Haible  <bruno@clisp.org>
8143         lock: Fix compilation error with HP-UX IA64 cc.
8144         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
8145         weak on non-glibc platforms.
8147 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8149         stdalign: tweak version# and test for HP-UX IA64
8150         Problems reported by Bruno Haible in:
8151         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
8152         * lib/stdalign.in.h (_Alignas):
8153         * m4/stdalign.m4 (gl_STDALIGN_H):
8154         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
8155         used octal (as that is how they document it), but it is decimal in
8156         practice now and the ancient implementations no longer matter.
8157         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
8159 2017-03-19  Bruno Haible  <bruno@clisp.org>
8161         vma-iter: Add support for Solaris.
8162         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
8163         approach.
8164         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
8165         * lib/get-rusage-as.c: Update comment about Solaris.
8166         * lib/get-rusage-data.c: Likewise.
8168 2017-03-19  Bruno Haible  <bruno@clisp.org>
8170         vma-iter: Prefer HP-UX specific API on HP-UX.
8171         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
8172         * lib/vma-iter.h: Update.
8173         Just in case HP-UX ever implements mquery().
8175 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
8177         stdalign: restore previous behavior for HP-UX IA64
8178         See Bruno Haible's email in:
8179         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8180         which cites p 150 of a manual saying that 'aligned' works on Itanium.
8181         * lib/stdalign.in.h (_Alignas):
8182         Assume the '061200' applies to Itanium, not to PA-RISC.
8183         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
8185 2017-03-17  Bruno Haible  <bruno@clisp.org>
8187         stat-time, timespec: Support use of the header files in C++ mode.
8188         * lib/stat-time.h: Add "C" linkage declaration.
8189         * lib/timespec.h: Likewise.
8191 2017-03-17  Bruno Haible  <bruno@clisp.org>
8193         stdalign: Make it work with HP-UX cc.
8194         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
8195         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
8196         for HP-UX cc.
8198 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8200         flexmember: try to detect HP-UX 11.31 cc bug
8201         Problem reported by Bruno Haible in:
8202         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8203         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8204         Attempt to detect bug in HP-UX 11.31 cc.
8206 2017-03-16  Bruno Haible  <bruno@clisp.org>
8208         stdint: Fix test compilation failure with HP-UX 11 cc.
8209         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
8210         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
8211         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
8212         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
8214 2017-03-14  Bruno Haible  <bruno@clisp.org>
8216         gnulib-tool: Don't produce a tests directory with only snippet .h files.
8217         * gnulib-tool (func_modules_transitive_closure_separately): If
8218         testsrelated_modules ends up with no "real" modules, aside from
8219         modules with applicability 'all', set it to empty.
8221 2017-03-14  Bruno Haible  <bruno@clisp.org>
8223         vma-iter: Add support for HP-UX.
8224         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
8225         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
8226         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
8227         * lib/get-rusage-as.c: Update comment about HP-UX.
8228         * lib/get-rusage-data.c: Likewise.
8229         (get_rusage_data): Use get_rusage_data_via_setrlimit.
8231 2017-03-14  Bruno Haible  <bruno@clisp.org>
8233         limits-h: Make it work with HP-UX cc.
8234         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
8235         defined.
8237 2017-03-14  Bruno Haible  <bruno@clisp.org>
8239         Fix test failures on DragonFlyBSD.
8240         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
8241         * tests/test-select.h (test_bad_fd): Likewise.
8242         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
8244 2017-03-14  Bruno Haible  <bruno@clisp.org>
8246         freadahead: Silence warning on DragonFlyBSD.
8247         * lib/freadahead.c (__sreadahead): Declare ourselves.
8249 2017-03-14  Bruno Haible  <bruno@clisp.org>
8251         vma-iter: Add comment about AIX.
8252         * lib/vma-iter.c: Add comment about why this module is not implemented
8253         on AIX.
8255 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8257         snippets: move unadjusted snippet sources to lib
8258         Problem reported by Michal Privoznik in:
8259         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
8260         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
8261         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
8262         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
8263         * lib/unused-parameter.h: Rename from
8264         build-aux/snippet/unused-parameter.h.
8265         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
8266         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
8267         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
8268         * modules/snippet/c++defs (Files:, CXXDEFS_H):
8269         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
8270         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
8271         Adjust to file renamings.
8273 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
8275         gnulib-tool: don't automatically distribute files from top/
8276         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
8277         not distribute top/README-release by default, don't distribute files
8278         from top/ unconditionally.
8279         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
8280         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
8282 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8284         gnulib-tool: fix typo in comment output
8285         * gnulib-tool (func_import): Fix typo with previous change.
8287         snippets: work around GNU Make 3.82 VPATH
8288         When using 'gnulib-tool --gnu-make' on Emacs, and building
8289         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
8290         an out-of-source (VPATH) build failed because the sans-copyright
8291         snippet file was not built before the file that used it.
8292         Presumably this is some sort of VPATH thing.  Work around the
8293         problem by using the original snippet, i.e., don’t bother to
8294         remove its copyright notice.
8295         * modules/snippet/_Noreturn, modules/snippet/link-warning:
8296         Don’t assume Automake in comments.  Omit long-incorrect comment.
8297         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
8298         (MOSTLYCLEANFILES):
8299         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
8300         (MOSTLYCLEANFILES):
8301         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
8302         (MOSTLYCLEANFILES):
8303         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
8304         (MOSTLYCLEANFILES):
8305         Remove.
8306         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
8307         * modules/snippet/c++defs (CXXDEFS_H):
8308         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
8309         * modules/snippet/warn-on-use (WARN_ON_USE_H):
8310         Don’t bother to remove the copyright notice; just use the
8311         original snippet as-is.
8313 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
8315         gnulib-tool: minor --gnu-make fixups
8316         * gnulib-tool (func_emit_lib_Makefile_am):
8317         Remove useless code that was a blind alley during implementation.
8318         Problem reported by Thien-Thi Nguyen in:
8319         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
8320         (func_import): Note the "--gnu-make" option in the output comment.
8322 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
8324         gnulib-tool: new option --gnu-make
8325         This is for applications like GNU Emacs that use GNU Make
8326         features instead of Automake.
8327         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
8328         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
8329         Do not assume Automake.
8330         * gnulib-tool (func_determine_path_separator)
8331         (func_modules_transitive_closure, func_update_file)
8332         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
8333         (func_import): Add support for --gnu-make.
8335 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8337         gnulib-common.m4: avoid aclocal.m4 bloat
8338         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
8339         Hide AM_PROG_AR from aclocal, so that aclocal does not
8340         install irrelevant macro definitions into aclocal.m4.
8342 2017-03-10  Bruno Haible  <bruno@clisp.org>
8344         vma-iter: Let callers know about error.
8345         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
8346         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
8348 2017-03-05  Bruno Haible  <bruno@clisp.org>
8350         Fix value of LD for 64-bit compilers on AIX.
8351         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
8352         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
8354 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
8356         dtotimespec: simplify
8357         * lib/dtotimespec.c (dtotimespec): Simplify.
8359 2017-03-04  Bruno Haible  <bruno@clisp.org>
8361         test-calloc-gnu: Reenable test also for GCC 7.
8362         * tests/test-calloc-gnu.c (eight): New function.
8363         (main): Don't skip test; use eight() instead.
8365 2017-03-04  Jim Meyering  <meyering@fb.com>
8367         test-calloc-gnu: port to GCC7
8368         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
8369         that attempts to calloc more than SIZE_MAX bytes, because GCC7
8370         and newer would detect that at compilation time.
8372 2017-03-04  Bruno Haible  <bruno@clisp.org>
8374         tests: Avoid compiler warning about uses of null_ptr.
8375         * tests/null-ptr.h: New file.
8376         * tests/test-canonicalize.c: Include null-ptr.h.
8377         (null_ptr): Remove function.
8378         * tests/test-canonicalize-lgpl.c: Likewise.
8379         * tests/test-memmem.c: Likewise.
8380         * tests/test-ptsname_r.c: Likewise.
8381         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
8382         * modules/canonicalize-lgpl-tests: Likewise.
8383         * modules/memmem-tests: Likewise.
8384         * modules/ptsname_r-tests: Likewise.
8385         Reported by Jim Meyering.
8387 2017-03-03  Bruno Haible  <bruno@clisp.org>
8389         doc: Mention Mac OS X deficiencies regarding semaphores.
8390         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
8391         * doc/posix-functions/sem_destroy.texi: Likewise.
8392         * doc/posix-functions/sem_getvalue.texi: Likewise.
8394 2017-03-03  Bruno Haible  <bruno@clisp.org>
8396         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
8397         Reported by Assaf Gordon <assafgordon@gmail.com> via
8398         Pádraig Brady <P@draigBrady.com>.
8399         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
8400         semaphores.
8401         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
8402         (atomic_int_semaphore): New macro.
8404 2017-02-28  Bruno Haible  <bruno@clisp.org>
8406         perror tests: Tweak for z/OS.
8407         Reported by Daniel Richard G. <skunk@iskunk.org>.
8408         * tests/test-perror.sh: Don't fail z/OS style perror output.
8410 2017-02-26  Bruno Haible  <bruno@clisp.org>
8412         nproc: Refactor large function.
8413         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
8414         from num_processors.
8415         (num_processors): In this function, only deal with OMP.
8417 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8419         nproc: adjust handling of OpenMP environment variables
8420         to match the return value from omp_get_num_threads(), i.e.:
8421          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
8422          - Treat 0 as an invalid value and ignore
8423         Also remove the call to omp_get_num_threads() because
8424         it's ineffective without the omp pragmas in place.
8425         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
8426         so that it can be ignored.
8427         (num_processors): Honor OMP_THREAD_LIMIT even without
8428         OMP_NUM_THREADS being set.  Also fix a typo in the environment
8429         variable being checked, from the previous recent commit.
8431 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8433         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
8434         * lib/nproc.c (parse_omp_threads): A new function refactored
8435         from num_processors() to support parsing both of the
8436         above environment variables.
8437         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
8438         to accurately reflect the current OpenMP nesting level.
8439         Also support the OMP_THREAD_LIMIT environment variable
8440         to limit the max value determined from OMP_NUM_THREADS.
8441         * modules/nproc: Depend on minmax header.
8442         Suggested by Oliver Heimlich.
8444 2017-02-25  Bruno Haible  <bruno@clisp.org>
8446         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
8447         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
8449 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8451         ftoastr: port to -Wdouble-promotion
8452         Work around -Wdouble-promotion false alarm in recent GCCs.
8453         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
8454         (ftoastr_snprintf, FTOASTR): Use it.
8456 2017-02-21  Bruno Haible  <bruno@clisp.org>
8458         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
8459         Reported by Rene Saavedra <rennes@openmailbox.org> in
8460         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
8461         * lib/glthread/lock.h: On glibc systems without
8462         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
8463         implementation of rwlocks.
8464         * lib/glthread/lock.c: Likewise.
8466 2017-02-20  Bruno Haible  <bruno@clisp.org>
8468         lock tests: Fix build failure on z/OS.
8469         Reported by Daniel Richard G. <skunk@iskunk.org>.
8470         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8471         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8472         exist.
8474 2017-02-19  Bruno Haible  <bruno@clisp.org>
8476         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8477         This helps when CC=clang.
8478         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8479         of /usr/bin/gcc.
8481         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8482         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8484 2017-02-19  Bruno Haible  <bruno@clisp.org>
8486         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8487         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8488         --with-tests --single-configure is specified.
8490 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8492         users.txt: Update links, use HTTPS where possible
8493         * users.txt: Updated to HTTPS where possible,
8494         fixed some links to new locations.
8496 2017-02-16  Bruno Haible  <bruno@clisp.org>
8498         xbinary-io: Fix inlining.
8499         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8501 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8503         xbinary-io: rename from xsetmode
8504         This patch is taken from suggestions by Bruno Haible in:
8505         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8506         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8507         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8508         not ENOTTY, when it is an inappropriate device.
8509         * lib/binary-io.h (SET_BINARY): Resurrect.
8510         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8511         (xset_binary_mode_error): Rename from xsetmode_error.
8512         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8513         (xset_binary_mode): Rename from xsetmode.
8514         All uses changed.
8515         * modules/xbinary-io: Rename from modules/xsetmode.
8516         Update file names.
8517         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8518         * NEWS: Update to match revised behavior.
8520 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8522         tests: Adjust to recent SET_BINARY change
8523         * tests/test-binary-io.c (main):
8524         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8525         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8526         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8527         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8529         xsetmode: new module
8530         This is to fix a problem noted by Eric Blake.
8531         Code was using xfreopen to change files to binary mode, but this
8532         fails for stdout when in append mode.  Such code should use
8533         xsetmode instead.
8534         * NEWS: Document incompatible changes to binary-io module.
8535         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8536         New function.
8537         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8538         (set_binary_mode): New function, which also checks for tty.
8539         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8541 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8543         headers: fix begin-end typos
8544         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8545         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8547         selinux-h: port to PGI 16.10
8548         * lib/se-selinux.in.h: Don't assume that include_next skips over
8549         duplicate -I DIR options.
8551         argp: port to PGI 16.10
8552         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8554 2017-02-13  Darshit Shah  <darnir@gnu.org>
8556         unicase: Update function protoype to match definition.
8557         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8558         uses 'size_t' as the datatype for the 'len' parameter in the functions
8559         it generates. Update the prototype specified here to match the newly
8560         generated function.
8562 2017-02-12  Bruno Haible  <bruno@clisp.org>
8564         times test: Avoid gcc warnings on Linux/x32.
8565         * tests/test-times.c (main): Really cast printf arguments from clock_t
8566         to 'long int'.
8568 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8570         glob: port better to emscripten
8571         Problem reported by Bruno Haible in:
8572         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8573         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8575 2017-02-11  Bruno Haible  <bruno@clisp.org>
8577         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8578         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8579         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8580         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8581         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8582         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8583         Distinguish hppa64 from hppa.
8585 2017-02-10  Bruno Haible  <bruno@clisp.org>
8587         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8588         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8589         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8590         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8592 2017-02-09  Bruno Haible  <bruno@clisp.org>
8594         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8595         * doc/gnulib.texi (Libtool and Windows): Recommend
8596         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8597         Reported by Reuben Thomas <rrt@sc3d.org>.
8599 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8601         stddef-tests: port to SIZE_MAX <= INT_MAX
8602         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8603         Do not assume that INT_MAX < SIZE_MAX.
8605 2017-02-01  Bruno Haible  <bruno@clisp.org>
8607         lock tests: Fix link error.
8608         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8609         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8611 2017-01-31  Bruno Haible  <bruno@clisp.org>
8613         lock: Fix link error (regression from 2017-01-05).
8614         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8615         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8616         pthread_rwlockattr_destroy weak.
8617         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8619 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8621         Port to PGI 16.10 x86-64
8622         This patch fixes one real bug in gl_anylinked_list2.h, along with
8623         some minor glitches that are not bugs.  It does not silence PGI’s
8624         thousands of bogus warnings when compiling test-intprops.c.
8625         Fortunately, the warnings do not cause a failure.
8626         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8627         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8628         My goodness, PGI goes back a long ways - this predates C89!
8629         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8630         For example, ASYNCSAFE (const void *) should expand to
8631         ‘const void *volatile’, not to ‘volatile const void *’.
8632         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8633         * lib/verify.h (verify) [!__GNUC__]:
8634         Use shorter albeit meaningless string to bypass silly compiler limits.
8635         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8636         * tests/nan.h (NaNf, NaNd, NaNl):
8637         Use static functions to avoid misguided compiler diagnostics.
8638         Is there some reason we don’t use static functions on all platforms?
8640 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8642         parse-datetime: handle timezones reentrantly
8643         This API change was prompted by a report by Pádraig Brady in:
8644         https://bug.debian.org/851934#10
8645         To help fix the bug, make parse_datetime2 more reentrant.
8646         * NEWS: Document this incompatible change.
8647         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8648         Add two arguments, the timezone and the timezone name.
8649         All callers changed.  If TZ="..." is specified, use it for
8650         calculating defaults.
8651         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8652         this code should be usable in a library.
8653         (mktime_ok, get_effective_timezone):
8654         Accept timezone arg too.  All callers changed.
8655         (get_tz): Remove.
8656         (get_effective_timezone): Check for failures.
8658 2017-01-20  Eric Blake  <eblake@redhat.com>
8660         localename: port to cygwin 2.6
8661         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8662         Cygwin.
8663         * modules/localename (Depends-on): Add extensions, since
8664         NL_LOCALE_NAME() is not visible without it.
8666 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8668         parse-datetime: fix dependence on AC_PROG_SED
8669         * modules/parse-datetime: Use `sed` directly like all other modules.
8670         Reported by J William Piggott
8672 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8674         intprops: update doc URLs
8675         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8677 2017-01-16  Bruno Haible  <bruno@clisp.org>
8679         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8680         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8681         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8682         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8683         distinguish s390 and s390x.
8684         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8685         * NEWS: Mention the change regarding 'armel'.
8687 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8689         localeinfo: case_folded_counterparts and WEOF
8690         * NEWS: Document this.
8691         * lib/localeinfo.c (case_folded_counterparts):
8692         First arg is now wint_t, not wchar_t.  This generalizes the
8693         function to also work on WEOF, where it returns 0.
8695         dfa: port to gcc -fsanitize=undefined
8696         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8697         as this runs afoul of gcc -fsanitize=undefined.
8699 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8701         strftime: %z is -00 if unknown
8702         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8703         the caller's responsibility to set 'negative_number'.  All uses changed.
8704         (__strftime_internal): Put '-' before a zero UTC offset if the time
8705         zone abbreviation starts with "-", which is the recently-introduced
8706         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8707         * tests/test-strftime.c: Test for this.
8709 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8711         dfa: port to older GCC
8712         Problem reported by Assaf Gordon in:
8713         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8714         * modules/c99: New module.  This merely attempts to use the latest
8715         C version, which should be enough to solve this particular problem.
8716         The idea is to document which Gnulib modules assume C99 or later.
8717         * modules/dfa (Depends-on): Add it.
8719 2017-01-10  Bruno Haible  <bruno@clisp.org>
8721         Update DEPENDENCIES.
8722         * DEPENDENCIES: List only https URLs. Update recommended version for
8723         autoconf, automake, gperf.
8725 2017-01-10  Jim Meyering  <meyering@fb.com>
8727         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8728         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8729         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8731 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8733         dfa: minor simplification with emptyset
8734         * lib/dfa.c (build_state): Simplify by using emptyset.
8736 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8738         dfa: shrink constraints from 4 bits to 3
8739         * lib/dfa.c (newline_constraint, letter_constraint)
8740         (other_constraint, prev_newline_dependent)
8741         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8742         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8743         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8744         Constraints need only 3 bits, not 4.  Using smaller integers
8745         shrinks the code a bit and makes grep a tad faster on x86-64.
8747         dfa: omit unnecessary ptrdiff_t check
8748         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8749         overflow, since xnmalloc does that now.
8751         dfa: omit unnecessary allocation
8752         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8753         an all-zero follow set works just fine.
8755         dfa: omit unused local
8756         * lib/dfa.c (build_state): Fix up recent change.
8758         maint: remove stray .texi files
8759         Although these were superseded by other files like
8760         doc/posix-functions/ctime.texi, the old files were not removed.
8761         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8763 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8765         getprogname: fix port to IRIX
8766         * lib/getprogname.c (getprogname) [__sgi]:
8767         Don't dump core if malloc returns NULL.
8769         dfa: fix reallocation bug when matching newlines
8770         Problem reported for sed by S. Gilles (Bug#25390).
8771         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8772         (dfastate): Reallocate before moving any newline transition ...
8773         (build_state): ... instead of reallocating here, where it is too late.
8775 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8777         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8778         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8780 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8782         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8783         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8785 2017-01-07  Bruno Haible  <bruno@clisp.org>
8787         stdioext: Port to Minix 3.2 and newer.
8788         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8789         * lib/fseeko.c (fseeko): Likewise.
8790         Reported by Nelson Beebe via Paul Eggert.
8792 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8794         getprogname: port to IRIX
8795         * lib/getprogname.c (getprogname): Port to IRIX.
8796         Based on an idea by Bastien Roucariès at:
8797         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8798         via code from Bruno Haible at:
8799         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8801         localename-tests: port to NetBSD 7
8802         Problem reported by Nelson H. F. Beebe.
8803         * tests/test-localename.c:
8804         Test newlocale and uselocale only if both exist.
8806         glob, intprops, xalloc: work around Clang bug
8807         Work around LLVM bug 16404, which is still not fixed.
8808         https://llvm.org/bugs/show_bug.cgi?id=16404
8809         Problem reported by Nelson H. F. Beebe.
8810         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8811         Remove.
8812         * lib/glob.c (size_add_wrapv):
8813         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8814         * lib/xalloc-oversized.h (xalloc_oversized):
8815         Do not use overflow builtins if Clang.
8817         dfa: fix 'return' typo
8818         Problem reported by Nelson H. F. Beebe.
8819         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8821 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8823         parse-datetime: fix generated paths for coverage files
8824         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8825         within parse-datetime.c, so that gcc generates appropriate .gcno
8826         files, allowing lcov to proceed without error.  Previously it
8827         would error trying to find "lib/lib/parse-datetime.y".
8829 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8831         maint.mk: support parallel execution of coverage
8832         * top/maint.mk (coverage): Run dependencies serially,
8833         thus supporting parallel processing of each one,
8834         particularly build-coverage, which builds and runs tests.
8836 2017-01-05  Bruno Haible  <bruno@clisp.org>
8838         lock tests: Prefer semaphore over mutex.
8839         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8840         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8841         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8842         Suggested by Torvald Riegel <triegel@redhat.com>.
8844 2017-01-05  Bruno Haible  <bruno@clisp.org>
8846         lock: Provide guarantee to avoid writer starvation for rwlocks.
8847         The rationale is: 1) Read-preferring read-write locks are prone to
8848         writer starvation if the number of reader threads multiplied by the
8849         percentage of time they have the lock held is too high. 2) Write-
8850         preferring read-write locks are the only reliable way to avoid this.
8851         3) There have been reports of 'test-lock' hanging on glibc systems
8852         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8853         and glibc indeed implements read-preferring rwlocks by default, see
8854         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8855         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8856         * m4/pthread_rwlock_rdlock.m4: New file.
8857         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8858         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8859         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8860         of rwlock initialization on glibc systems without
8861         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8862         of rwlocks altogether on non-glibc systems without
8863         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8864         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8865         * lib/glthread/lock.c [USE_POSIX_THREADS]
8866         (glthread_rwlock_init_for_glibc): New function.
8867         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8868         comment.
8869         [USE_PTH_THREADS]: New implementation of rwlocks.
8870         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8871         readers.
8872         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8873         (Depends-on): Add 'extensions'.
8874         * tests/test-rwlock1.c: New file.
8875         * lock-tests (Files): Add it.
8876         (Depends-on): Add usleep.
8877         (Makefile.am): Add test-rwlock1 to the tests.
8879 2017-01-05  Bruno Haible  <bruno@clisp.org>
8881         thread: Fix pth port.
8882         * lib/glthread/thread.h (pth_init): Declare weak.
8883         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8884         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8885         function.
8887 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8889         parse-datetime: fix debug message on lone year number
8890         Input dates such as
8891           date -d "Apr 11 22:59:00 2011"
8892         are parsed as date (Apr 11, with default year 2016), then time, then a
8893         number (2011). Based on the combination of previously seen tokens,
8894         'digits_to_date_time' determines 2011 to be a year value.
8895         This fixes the debug messages to correctly show the updated year.
8896         Before:
8897             $ date --debug -d 'Apr 11 22:59:00 2011'
8898             date: parsed date part: (Y-M-D) 2016-04-11
8899             date: parsed time part: 22:59:00
8900             date: parsed number part: today/this/now
8901         After:
8902             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8903             date: parsed date part: (Y-M-D) 2016-04-11
8904             date: parsed time part: 22:59:00
8905             date: parsed number part: year: 2011
8906         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8907         'debug_year_seen' member fields.
8908         (digits_to_date_time): Update 'year_seen' as needed.
8909         (debug_print_current_time): Inform about year updates.
8910         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8912         parse-datetime: fix local timezone debug messages
8913         "Local timezones" are strings that affect only DST relative to the
8914         default timezone. The debug messages in parse-datetime.y printed
8915         wrong information when encountering local timezones.
8916         Examples:
8917         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8918              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8919              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8920         When the default timezone relates to the zone strings, EET/EEST are
8921         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8922         value (0/1, respectively):
8923              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8924              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8925         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8926         was seen, inform about DST change, don't print actual timezone.
8927         (debug_strfdatetime): If local timezone was seen, use default timezone
8928         (and adjust as needed) instead of using incorrect timezone.
8929         (parse_datetime2): Use correct time-zone source string, and adjust
8930         default timezone as needed.
8932         parse-datetime: add debug warning about DST changes
8933         Incorrect date arithmetic due to daylight saving time (DST) are a
8934         common (false) bug report in coreutils.
8935         Detect two such cases and print a warning:
8936         1. year/month/day adjustments (performed on 'struct tm'),
8937            where 'mktime' returns a different isdst value.
8938         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8939            where the result of 'localtime(3)' on the value will return a
8940            different isdst value.
8941         Note: DST changes could be harmless or unnoticeable.
8942         Examples (with 'TZ=America/New_York'):
8943         Unnoticeable: result is 2016-Dec-14
8944            $ date -d '2016-06-15 EDT + 6 months' +%b
8945            Dec
8946         Unnoticeable: result is 2016-Dec-15 11:00:00
8947            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8948            2016-12-15
8949         This is unexpected:
8950            $ date -d '2016-06-01 EDT + 6 months' +%F
8951            2016-11-30
8952         The new debug warnings will show:
8953            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8954            ...
8955            date: warning: daylight saving time changed after date adjustment
8956            ...
8957         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8958         print an appropriate warning message.
8960         parse-datetime: add debug warning about date arithmetic
8961         Date arithmetic are done directly on the fields of 'struct tm',
8962         which can result in invalid dates. Normalization with 'mktime(3)'
8963         will then produce a different date - which might cause unexpected
8964         results.
8965         Examples:
8966           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8967           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8968         Note that date normalization is not inherently wrong and not rejected,
8969         as it has legitimate uses:
8970           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8971         If the user asked to adjust months but 'mday' changed,
8972         or user asked to adjust years but 'month' changed - warn about it.
8973             $ ./src/date --debug -d '2016-10-31 - 1 month'
8974             ...
8975             date: warning: when adding relative months/years, \
8976                            it is recommended to specify the 15th of the month
8977             ...
8978             date: warning: month/year adjustment resulted in shifted dates:
8979             date:      adjusted Y M D: 2016 09 31
8980             date:    normalized Y M D: 2010 10 01
8981             ...
8982         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8983         a warning message. Improve recommendation of when to use 15 of the
8984         month or noon for date arithmetic.
8986         parse-datetime: fix debug message of relative part after timezone
8987         Relative part (e.g '+8 days') after a timezone string was not
8988         reported (was only reported after a timezone number). Due to the
8989         parser's structure, timezone strings with numbers were handled
8990         separately.
8991         before:
8992              # Timezone number + relative part: OK
8993              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8994              ...
8995              date: parsed relative part: -8 day(s)
8996              # Timezone string + relative part: missing
8997              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8998              [ missing message ]
8999         After: messages are printed in both cases.
9000         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
9002         parse-datetime: fix incorrect debug message on lone number
9003         A lone number is an absolute value, not a relative time part.
9004         before:
9005            $ date --debug -d '20130101'
9006            date: parsed number part: today/this/now
9007         After:
9008            $ ./src/date --debug -d '20130101'
9009            date: parsed number part: (Y-M-D) 2013-01-01
9010         * lib/parse-datetime.y ('item'/'number' tokens): Call
9011         'debug_print_current_time' instead of 'debug_print_relative_time'.
9013 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9015         doc: modernize for C11 etc.
9016         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
9017         for C11, MinGW, etc.  This responds to Paul Smith's question in:
9018         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
9020         dfa: prefer functions to FETCH_WC macro
9021         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
9022         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
9023         wint_t result into DFA->lex.wctok instead of to a separate arg.
9024         All callers changed.  Move more local decls closer to where
9025         they're used.
9027         dfa: narrow more local var scopes
9028         * lib/dfa.c: Move more local decls to be more local.
9030         dfa: remove duplicate assignment
9031         Problem reported by Bruno Haible in:
9032         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
9033         * lib/dfa.c (parse_bracket_exp): Simplify.
9035 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9037         dfa: simplify constraint-dependency checking
9038         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
9039         (prev_other_constraint): Remove.
9040         (prev_newline_dependent, prev_letter_dependent):
9041         Simplify, to avoid an unnecessary bitwise AND operation.
9043         dfa: prefer functions and constants to macros
9044         * lib/dfa.c: Prefer constants to macros where either will do.
9045         (streq, isasciidigit, newline_constraint)
9046         (letter_constraint, other_constraint, succeeds_in_context)
9047         (prev_newline_constraint, prev_letter_constraint)
9048         (prev_other_constraint, prev_newline_dependent)
9049         (prev_letter_dependent, accepting, accepts_in_context):
9050         Now static functions instead of function-like macros.
9051         Use lower-case names accordingly.  All uses changed.
9053         dfa: narrow more local var scopes
9054         * lib/dfa.c: Move some more local decls down to nearer where
9055         they're needed.
9057 2016-12-31  Jim Meyering  <meyering@fb.com>
9059         dfa: narrow the scope of many local variables
9060         * lib/dfa.c: Now that we are no longer constrained to c89, move
9061         declarations of many variables (often indices) "down" into the
9062         scope(s) where used or to the point of definition.  This is a
9063         no-semantic-change diff.
9065 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9067         version-etc: new year
9068         * build-aux/gendocs.sh (version):
9069         * doc/gendocs_template:
9070         * doc/gendocs_template_min:
9071         * doc/gnulib.texi:
9072         * lib/version-etc.c (COPYRIGHT_YEAR):
9073         Update copyright dates by hand in templates and the like.
9074         * all files: Run 'make update-copyright'.
9076 2016-12-31  Eric Blake  <eblake@redhat.com>
9078         do-release-commit-and-tag: avoid shell syntax error
9079         * build-aux/do-release-commit-and-tag (curr_br): $branch can
9080         contain spaces when rebasing.
9082         maint.mk: hoist gnulib_dir definition earlier
9083         * top/maint.mk (gnulib_dir): Move near top of file.
9085 2016-12-31  Jim Meyering  <meyering@fb.com>
9087         maint.mk: do not always evaluate intprops-related shell
9088         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
9089         using gnulib_dir undefined (gnulib_dir is defined later in the
9090         file, which will be fixed separately), and besides, there is no
9091         need to incur the cost of this shell invocation for every single
9092         use of this .mk file.  Reported by Eric Blake in
9093         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
9095 2016-12-30  Jim Meyering  <meyering@fb.com>
9097         maint.mk: improve sc_prohibit_intprops_without_use
9098         * top/maint.mk (_intprops_names): Don't hard-code the list of
9099         symbol names.  Instead, derive it on the fly.
9101 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9103         dfa: shorten sbit, success
9104         * lib/dfa.c (struct regex_syntax.sbit):
9105         (struct dfa.success): Use char, not int, for array elements, since
9106         they are all in the range 0..7.
9108         dfa: simplify multibyte_prop etc.
9109         This follows up on a change made when dfa.c was in grep, namely grep
9110         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
9111         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
9112         That earlier simplification allows for some more simplification
9113         and trimming down here.
9114         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
9115         (struct lexer_state): New mamber brack.
9116         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
9117         since they must be in the range 0..3 now.
9118         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
9119         the brack member now supersedes them.
9120         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
9121         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
9122         (dfaparse): Remove unnecessary initializations of already-0 storage.
9123         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
9124         (dfassbuild): No need to clear sup->mbcsets.
9126         dfa: minor performance tweak
9127         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
9129         dfa: wrap charclass inside a struct
9130         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
9131         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
9132         about 5% faster, where list.txt is generated by 'aspell dump
9133         master | head -n 100000 >list.txt'.  See Bug#22239.
9134         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
9135         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
9136         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
9137         Adjust to this, e.g., by using charclass * rather than charclass.
9138         All callers changed as needed.
9139         (copyset): Remove.  All uses changed to simple assignment.
9140         (parse_bracket_exp): Use zeroset instead of memset.
9142 2016-12-30  Jim Meyering  <meyering@fb.com>
9144         maint.mk: update list of intprops.h symbol names
9145         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
9146         This avoids a false failure of the sc_prohibit_intprops_without_use
9147         rule in grep.
9149 2016-12-29  Eric Blake  <eblake@redhat.com>
9151         getopt: fix parallel test failure
9152         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
9153         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
9154         * tests/test-getopt-main.h (main): Use different file names
9155         in case test-getopt-gnu and test-getopt-posix run in parallel.
9157 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9159         xalloc: x2nrealloc check for ptrdiff_t overflow
9160         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
9161         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
9163 2016-12-24  Bruno Haible  <bruno@clisp.org>
9165         lock test: Fix performance problem on multi-core machines.
9166         * tests/test-lock.c (USE_VOLATILE): New macro.
9167         (struct atomic_int): New type.
9168         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
9169         functions.
9170         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
9171         as 'struct atomic_int'.
9172         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
9173         reclock_checker_thread, test_recursive_lock): Use the new functions.
9174         Reported by Eric Blake in
9175         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
9176         and by Pádraig Brady in
9177         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
9179 2016-12-19  Bruno Haible  <bruno@clisp.org>
9181         vma-iter: Fix endless loop on 64-bit Windows.
9182         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
9183         'unsigned long'.
9185 2016-12-19  Bruno Haible  <bruno@clisp.org>
9187         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
9188         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
9189         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
9190         Invoke gt_TYPE_WINT_T instead.
9191         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
9192         * modules/stdint (Files): Add m4/wint_t.m4.
9193         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9194         * modules/wctype-h (Makefile.am): Likewise.
9195         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
9196         not only on MSVC.
9197         * lib/wctype.in.h (wint_t): Likewise.
9199 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9201         getopt-posix-tests: fix Makefile typo
9202         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
9203         Fix typo: the last ‘_’ was missing in the name.
9204         I suspect that the typo explains this build failure:
9205         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
9206         although I can’t reproduce the problem on Solaris 10 sparc.
9208 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9210         dfa: improve worst-case 'replace' performance
9211         See my note in Bug#22357#71.
9212         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
9213         (merge_constrained): New function, which is like
9214         the old 'merge' function, except with a new argument C2.
9215         Simplify the body by avoiding the need for different sections
9216         of code depending on whether one input is exhausted.
9217         (merge): Use the new function.
9218         (delete): Return the constraint of the deleted position,
9219         not the entire position.  Caller changed.
9220         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
9222 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9224         dfa: performance improvement for removal of epsilon closure
9225         See Bug#22357#32.
9226         * lib/dfa.c (delete): Use binary search to find deleted index.
9227         (replace): New function.  It replaces a position with the followed set.
9228         (epsclosure): Replace it with a new algorithm.  Update caller.
9230 2016-12-18  Bruno Haible  <bruno@clisp.org>
9232         Split tests for getopt-posix and getopt-gnu.
9233         * tests/test-getopt-posix.c: New file.
9234         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
9235         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
9236         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
9237         GNULIB_TEST_GETOPT_GNU.
9238         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
9239         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
9240         (Makefile.am): Test test-getopt-posix instead of test-getopt.
9241         * modules/getopt-gnu-tests: New file.
9242         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
9244 2016-12-18  Bruno Haible  <bruno@clisp.org>
9246         posix-modules: Add options for specific platforms.
9247         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
9248         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
9249         Invoke func_tmpdir. Filter out the excludes.
9251 2016-12-18  Bruno Haible  <bruno@clisp.org>
9253         getopt: Fix link error for users of getopt() in <unistd.h>.
9254         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
9255         __need_getopt is defined. Undefine all macros before defining them.
9256         * modules/getopt (Include): Clarify that including <unistd.h> is also
9257         OK.
9258         * tests/test-getopt.c: Add comment.
9260 2016-12-17  Bruno Haible  <bruno@clisp.org>
9262         getaddrinfo tests: Avoid compilation error on MSVC.
9263         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
9264         getaddrinfo on native Windows.
9266 2016-12-17  Bruno Haible  <bruno@clisp.org>
9268         getlogin, getlogin_r: Fix link errors on MSVC.
9269         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
9270         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
9271         (Link): New section.
9272         * modules/getlogin_r (Files): Add m4/getlogin.m4.
9273         (configure.ac): Require gl_LIB_GETLOGIN.
9274         (Link): New section.
9275         * NEWS: Mention the new link requirements.
9276         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
9277         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
9279 2016-12-17  Bruno Haible  <bruno@clisp.org>
9281         Un-deprecate the 'progname' module.
9282         * NEWS: Describe the appropriate use-cases of 'progname' versus
9283         'getprogname'. Based on discussion summary at
9284         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
9286 2016-12-17  Bruno Haible  <bruno@clisp.org>
9288         Reorganize NEWS a bit.
9289         * NEWS: Move some not so important changes away from section
9290         "Important Notes".
9292 2016-12-17  Bruno Haible  <bruno@clisp.org>
9294         tanhf: Avoid redefinition error on MSVC.
9295         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
9296         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
9297         may be defined as an inline function.
9298         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
9299         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
9301 2016-12-17  Bruno Haible  <bruno@clisp.org>
9303         tanf: Avoid redefinition error on MSVC.
9304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
9305         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
9306         may be defined as an inline function.
9307         * modules/math (Makefile.am): Substitute REPLACE_TANF.
9308         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
9310 2016-12-17  Bruno Haible  <bruno@clisp.org>
9312         sqrtf: Avoid redefinition error on MSVC.
9313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
9314         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
9315         may be defined as an inline function.
9316         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
9317         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
9319 2016-12-17  Bruno Haible  <bruno@clisp.org>
9321         sinhf: Avoid redefinition error on MSVC.
9322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
9323         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
9324         may be defined as an inline function.
9325         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
9326         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
9328 2016-12-17  Bruno Haible  <bruno@clisp.org>
9330         sinf: Avoid redefinition error on MSVC.
9331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
9332         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
9333         may be defined as an inline function.
9334         * modules/math (Makefile.am): Substitute REPLACE_SINF.
9335         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
9337 2016-12-17  Bruno Haible  <bruno@clisp.org>
9339         logf: Avoid redefinition error on MSVC.
9340         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
9341         may be defined as an inline function.
9343 2016-12-17  Bruno Haible  <bruno@clisp.org>
9345         log10l: Avoid redefinition error on MSVC.
9346         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
9347         may be defined as an inline function.
9349 2016-12-17  Bruno Haible  <bruno@clisp.org>
9351         log10f: Avoid redefinition error on MSVC.
9352         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
9353         may be defined as an inline function.
9355 2016-12-17  Bruno Haible  <bruno@clisp.org>
9357         hypotl: Avoid redefinition error on MSVC.
9358         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
9359         may be defined as an inline function.
9361 2016-12-17  Bruno Haible  <bruno@clisp.org>
9363         hypotf: Avoid redefinition error on MSVC.
9364         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
9365         may be defined as an inline function.
9367 2016-12-17  Bruno Haible  <bruno@clisp.org>
9369         fmodl: Avoid redefinition error on MSVC.
9370         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
9371         may be defined as an inline function.
9373 2016-12-17  Bruno Haible  <bruno@clisp.org>
9375         fmodf: Avoid redefinition error on MSVC.
9376         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
9377         may be defined as an inline function.
9379 2016-12-17  Bruno Haible  <bruno@clisp.org>
9381         expf: Avoid redefinition error on MSVC.
9382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
9383         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
9384         may be defined as an inline function.
9385         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
9386         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
9388 2016-12-17  Bruno Haible  <bruno@clisp.org>
9390         coshf: Avoid redefinition error on MSVC.
9391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
9392         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
9393         may be defined as an inline function.
9394         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
9395         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
9397 2016-12-17  Bruno Haible  <bruno@clisp.org>
9399         cosf: Avoid redefinition error on MSVC.
9400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
9401         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
9402         may be defined as an inline function.
9403         * modules/math (Makefile.am): Substitute REPLACE_COSF.
9404         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
9406 2016-12-17  Bruno Haible  <bruno@clisp.org>
9408         atan2f: Avoid redefinition error on MSVC.
9409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
9410         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
9411         may be defined as an inline function.
9412         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
9413         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
9415 2016-12-17  Bruno Haible  <bruno@clisp.org>
9417         atanf: Avoid redefinition error on MSVC.
9418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
9419         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
9420         may be defined as an inline function.
9421         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
9422         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
9424 2016-12-17  Bruno Haible  <bruno@clisp.org>
9426         asinf: Avoid redefinition error on MSVC.
9427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
9428         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
9429         may be defined as an inline function.
9430         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
9431         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
9433 2016-12-17  Bruno Haible  <bruno@clisp.org>
9435         acosf: Avoid redefinition error on MSVC.
9436         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
9437         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
9438         may be defined as an inline function.
9439         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
9440         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
9442 2016-12-17  Bruno Haible  <bruno@clisp.org>
9444         Avoid redefinition errors on MSVC.
9445         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
9446         the function may be defined as an inline function.
9447         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
9448         the function may be defined as an inline function.
9450 2016-12-17  Bruno Haible  <bruno@clisp.org>
9452         Avoid redefinition errors on MSVC.
9453         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
9454         * lib/unistd.in.h: Include <stdio.h> when necessary.
9456 2016-12-17  Bruno Haible  <bruno@clisp.org>
9458         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
9459         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
9460         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9461         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
9462         WINT_MAX.
9464 2016-12-17  Bruno Haible  <bruno@clisp.org>
9466         Avoid autoconf warning.
9467         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
9468         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
9470 2016-12-17  Bruno Haible  <bruno@clisp.org>
9472         fpending: Revert workaround against Emacs bug.
9473         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9474         The Emacs bug is fixed by Eli Zaretskii in
9475         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9477 2016-12-17  Bruno Haible  <bruno@clisp.org>
9479         getlogin_r tests: Port to mingw.
9480         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9481         regression introduced on 2014-05-19.
9483 2016-12-17  Bruno Haible  <bruno@clisp.org>
9485         getlogin: Port to newer mingw.
9486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9487         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9488         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9489         HAVE_GETLOGIN.
9490         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9491         HAVE_GETLOGIN.
9492         * doc/posix-functions/getlogin.texi: Mention the issue.
9493         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9494         regression introduced on 2014-05-14.
9496 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9498         builtin-expect: improve port to IBM XL C
9499         Problem reported for z/OS by Daniel Richard G. in:
9500         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9501         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9502         Test for <builtins.h> directly.
9504         builtin-expect: port to IBM XL C
9505         Problem reported for z/OS by Daniel Richard G. in:
9506         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9507         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9508         Also allow __builtin_expect defined via a standard include file.
9510         regex: fix dependency
9511         Problem reported by Bruno Haible in:
9512         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9513         * modules/regex: Depend on builtin-expect.
9515         builtin-expect: new module
9516         Fix fnmatch to use it.
9517         Problem reported for z/OS by Daniel Richard G.
9518         * lib/fnmatch.c (__builtin_expect):
9519         * lib/glob.c (__builtin_expect):
9520         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9521         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9522         * lib/scandir.c (__builtin_expect):
9523         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9524         Remove macro; config.h now does this.
9525         * lib/gl_anytreehash_list1.h (add_to_bucket):
9526         * lib/regex_internal.h (BE):
9527         Assume __builtin_expect.
9528         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9529         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9530         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9531         * modules/scandir, modules/strstr-simple:
9532         Depend on builtin-expect.
9534 2016-12-15  Bruno Haible  <bruno@clisp.org>
9536         init.sh: Add possibility to not delete temporary files.
9537         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9538         to yes, don't erase the temporary directory.
9540 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9542         regex: fix integer-overflow bug in never-used code
9543         Problem reported by Clément Pit–Claudel in:
9544         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9545         * lib/regex_internal.h: Include intprops.h.
9546         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9547         behavior on integer overflow.
9548         * modules/regex (Depends-on): Add intprops.
9550         fpending: fix port to MinGW on Emacs
9551         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9552         Problem reported by Eli Zaretskii in:
9553         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9554         Is Plan 9 still a valid porting target, anyway?
9556 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9558         safe-alloc: use xalloc-oversized
9559         * lib/safe-alloc.c: Include xalloc-oversized.h.
9560         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9561         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9563         xalloc: do not exceed PTRDIFF_MAX
9564         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9565         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9566         bytes have pointer-subtraction problems.
9568         malloca: do not exceed PTRDIFF_MAX
9569         * lib/malloca.h: Include xalloc-oversized.
9570         (nmalloca): Use xalloc_oversized instead of rolling our own.
9571         * modules/malloca (Depends-on):
9572         * modules/relocatable-prog-wrapper (Depends-on):
9573         Add xalloc-oversized.
9575         quotearg: pacify GCC better
9576         * modules/quotearg (Depends-on): Add minmax, stdint.
9577         * lib/quotearg.c: Include minmax.h, stdint.h.
9578         (nslots): Now int, as there seems little point to going to extra
9579         work merely to support the INT_MAX slot, which nobody ever uses.
9580         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9581         and to catch (mostly-theoretical) ptrdiff_t problems too.
9582         This can be done via one comparison.
9584 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9586         xalloc-oversized: check for PTRDIFF_MAX too
9587         This avoids undefined behavior when subtracting pointers to
9588         objects containing more than PTRDIFF_MAX bytes.
9589         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9590         Also return 1 if the result would exceed PTRDIFF_MAX>
9591         * modules/xalloc-oversized (Depends-on):
9592         Add stdint.
9594         dfa: fix glitches in previous commit
9595         Sorry, I don't know how I managed to commit the wrong version.
9596         * lib/dfa.c (MIN): Move up.
9597         (xpalloc): Now static.
9599         dfa: fix some unlikely integer overflows
9600         I found these while reviewing the recent Coverity-related fix.
9601         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9602         size_t for object counts.  Using ptrdiff_t is the style typically
9603         used in Emacs; although it wastes a sign bit as sizes can never be
9604         negative, it makes -fsanitize=undefined more likely to catch
9605         integer overflows in index calculation, and nowadays the upside is
9606         typically more important than the downside.  Although perhaps the
9607         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9608         of dfa.c already does, since it uses state_num which is signed),
9609         that is a bigger change and is not needed to fix the bugs I found.
9610         * lib/dfa.c: Include stdint.h and intprops.h.
9611         (TOKEN_MAX): New macro.
9612         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9613         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9614         (realloc_trans_if_necessary, free_mbdata):
9615         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9616         This is safe because xpalloc checks that the sizes do not exceed
9617         either SIZE_MAX or PTRDIFF_MAX.
9618         (xpalloc): New function, mostly taken from Emacs.
9619         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9620         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9621         (charclass_index): Check for integer overflow in computing
9622         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9623         added to it later.
9624         (alloc_position_set): Check for integer overflow.  On typical
9625         platforms this check has zero overhead, since the constant
9626         expression is false.
9627         (realloc_trans_if_necessary):
9628         Remove assertion, which I hope Coverity no longer needs.
9630         * modules/dfa (Depends-on): Add intprops, stdint.
9632 2016-12-12  Jim Meyering  <meyering@fb.com>
9634         dfa: add an assertion to avoid coverity false positive
9635         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9636         warned that "newalloc1 - 2" could overflow.
9638 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9640         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9641         * dfa.h (DFA_CASE_FOLD): Remove.
9642         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9644 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9646         link: fix test to declare use of rename()
9647         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9648         -Werror=implicit-function-declaration
9650 2016-12-12  Bruno Haible  <bruno@clisp.org>
9652         fpending: Port to native Windows with MSVC.
9653         * lib/fpending.c: Include stdio-impl.h.
9654         (__fpending): Include all known implementations. Err out if it's not
9655         ported.
9656         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9657         * modules/fpending (Files): Add lib/stdio-impl.h.
9658         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9660 2016-12-12  Bruno Haible  <bruno@clisp.org>
9662         stdioext: Port to native Windows with MSVC.
9663         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9664         (struct _gl_real_FILE): New type.
9665         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9666         Windows.
9667         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9668         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9669         other SystemV derived implementations.
9670         * lib/fpurge.c (fpurge): Likewise.
9671         * lib/freadable.c (freadable): Likewise.
9672         * lib/freadahead.c (freadahead): Likewise.
9673         * lib/freading.c (freading): Likewise.
9674         * lib/freadptr.c (freadptr): Likewise.
9675         * lib/freadseek.c (freadptrinc): Likewise.
9676         * lib/fseeko.c (fseeko): Likewise.
9677         * lib/fseterr.c (fseterr): Likewise.
9678         * lib/fwritable.c (fwritable): Likewise.
9679         * lib/fwriting.c (fwriting): Likewise.
9680         Reported by Gisle Vanem <gvanem@yahoo.no>.
9682 2016-12-11  Jim Meyering  <meyering@fb.com>
9684         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9685         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9686         to work with most shells, but not with the one provided by many
9687         Solaris 10 systems, so running configure with such a /bin/sh evokes
9688         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9689         Reported by Assaf Gordon in
9690         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9692 2016-12-10  Bruno Haible  <bruno@clisp.org>
9694         threadlib: Optimize out runtime test on Solaris >= 10.
9695         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9696         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9697         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9699 2016-12-10  Bruno Haible  <bruno@clisp.org>
9701         stdint: Update doc about Solaris 9.
9702         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9704 2016-12-09  Bruno Haible  <bruno@clisp.org>
9706         c-ctype tests: Fix link error on Solaris 9.
9707         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9708         Reported at <https://savannah.gnu.org/bugs/?46827>.
9710 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9712         dfa: fix performance bug that recomputes trans
9713         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9714         25 on-demand changes.  The bug caused build_state to reset all
9715         d->trans elements to -2 even when d->trans was already non-null.
9716         Use C99 style decls after statements in this function.
9718         same-inode: port to MinGW
9719         Here st_ino is always 0, so change the definition of SAME_INODE so
9720         that 1 means the two files are the same, 0 with st_ino != 0 means
9721         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9722         reported by Bruno Haible (Bug#25146).
9723         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9724         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9726 2016-12-04  Bruno Haible  <bruno@clisp.org>
9728         javacomp-script: Support Java 7 and 8.
9729         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9730         target-version 1.7, 1.8.
9732 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9734         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9735         GPLv2" rewriting.
9737 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9739         * gnulib-tool (func_import): Adhere to the license guideline when
9740         rewriting the license text to "LGPLv3+ or GPLv2":
9741         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9743 2016-12-02  Bruno Haible  <bruno@clisp.org>
9745         localcharset: Avoid theoretical buffer overrun.
9746         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9747         return value from setlocale if it would lead to a buffer overrun.
9749 2016-12-01  Bruno Haible  <bruno@clisp.org>
9751         Relicense some modules under LGPLv2+.
9752         Kevin Cernekee's approval is in
9753         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9754         * modules/fseterr (License): Change to LGPLv2+.
9755         * modules/mbchar (License): Likewise.
9756         * modules/mbiter (License): Likewise.
9757         * modules/mbsnlen (License): Likewise.
9758         * modules/wcwidth (License): Likewise.
9760 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9762         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9763         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9764         OS/2 kLIBC.
9766 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9768         alphasort, scandir: Port to OS/2 kLIBC
9769         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9770         declaration.
9771         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9773 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9775         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9776         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9777         with '/@unixroot'.
9779 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9781         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9782         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9783         OS/2 kLIBC unless TCPV40HDRS is defined.
9785 2016-11-29  Jim Meyering  <meyering@fb.com>
9787         dfa: avoid new infinite loop
9788         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9789         * lib/dfa.c (dfastate): When constructing a new state table, we could
9790         initially declare that we had found a match, and later find that
9791         constraints eliminate that possibility, yet continue to use the
9792         now stale "matched" indicator.  That would lead to an infinite loop.
9793         The solution is to update "matched" when necessary.
9794         Introduced by commit v0.1-983-g403adf1.
9796 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9798         dfa: avoid match middle in multibyte character
9799         * lib/dfa.c (transit_state): If fails in matching single byte characters
9800         on a state including period expression in non-UTF8 multibyte locales,
9801         skip trailing bytes.
9802         (dfa_supported): Revert previous change.
9804 2016-11-27  Jim Meyering  <meyering@fb.com>
9806         dfa: avoid false match in non-UTF8 multibyte locales
9807         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9808         as "not supported" so that callers will resort to using regex-based
9809         matcher.  This will surely hurt performance, but correctness trumps
9810         performance here, and the affected locales are less and less relevant,
9811         these days.  See grep's bug report https://bugs.gnu.org/24975.
9813 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9815         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9816         * lib/ptsname_r.c: Include the appropriate headers.
9817         [__sun]: Delete sys/sysmacros.h include.
9818         [_AIX || __osf__]: Likewise.
9819         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9821 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9823         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9824         * lib/md4.c (md4_process_bytes): The existing define is made internal
9825         in recent versions of glibc, so also use this new public define.
9826         * lib/md5.c (md5_process_bytes): Likewise.
9827         * lib/sha1.c (sha1_process_bytes): Likewise.
9828         * lib/sha256.c (sha256_process_bytes): Likewise.
9829         * lib/sha512.c (sha512_process_bytes): Likewise.
9831 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9833         maint: use a more standard return from mbrtowc test
9834         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9835         from the test program as this often indicates an
9836         unhandled case in the test program.
9837         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9838         (gl_MBRTOWC_SANITYCHECK): Likewise.
9839         (gl_MBRTOWC_NULL_ARG2): Likewise.
9840         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9842 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9844         freopen: work around glibc bug with closed fd
9845         Work around glibc bug#15589, where freopen mishandles the case
9846         where stdin etc. are already closed.
9847         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9848         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9849         instead of __need_FILE, as the latter does not work with glibc.
9850         Include <fcntl.h>, for open flags.
9851         (rpl_freopen): Work around glibc bug.
9852         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9853         * modules/freopen (Depends-on): Add fcntl-h.
9854         * tests/test-freopen.c (main): Test for bug.
9856 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9858         fnmatch: fix typo introduced on 2016-08-17
9859         This fixes the port to non-GCC compilers that lack __builtin_expect.
9860         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9862         dfa: simplify with new function fillset
9863         * lib/dfa.c (fillset): New function.
9864         Use it for clarity when applicable.
9866         dfa: fix glitches with on-demand states
9867         Also, adjust commentary to better match new code.
9868         Some of these glitches predate the recent change.
9869         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9870         only non-initial states.
9871         (dfastate): Rename locals to better match new roles.
9872         Move them into nested scopes if this is easy.
9873         Omit unnecessary calls to zeroset.
9874         Simplify test for whether to throw in the positions of state 0.
9875         Omit C99-ism (decl after statement) since Gawk still wants C89.
9876         (build_state): Omit unnecessary test and assignment.
9877         Fix some confusion that counted transition tables inaccurately
9878         and could cause a memory leak.
9879         (dfaexec_main): Redo to make it clearer to the compiler that
9880         -1 and -2 are the only negative state numbers here.
9882 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9884         dfa: addition of new state on demand
9885         * src/dfa.c (dfastate): Add argument UC, the current input character.
9886         Fill only a group including the character in transition table.
9887         (realloc_trans_if_necessary): Add the dummy state which means that a
9888         transition table is assigned but the next state is not assigned.
9889         (build_state): Return the next state.  All callers updated.
9890         (transit_state_singlebyte): If we get the dummy state,
9891         fill the transition table.
9892         (dfaexec_main): Handle the dummy state.
9893         (free_mbdata, dfafree): Consider the dummy state.
9895 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9897         srclist: sync with released gettext
9898         * config/srclist.txt: Set "release" option to the files under
9899         $GETTEXT.
9901 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9903         srclist: add "release" option
9904         * config/srclist.txt: Change the format so that the first column
9905         of each line points to the top-level directory of the source
9906         archive.
9907         * config/srclist-update: Accept "release" option that checks files
9908         from the most recently tagged revision in the source archive.
9910 2016-11-21  Bruno Haible  <bruno@clisp.org>
9912         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9913         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9914         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9915         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9916         Inline and remove member function 'rpl ()' of the wrapper struct.
9918 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9920         dfa: fix logic typo
9921         Problem reported by Stephane Chazelas (Bug#24973).
9922         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9923         non-simple locales like fr_FR to be treated as simple.
9925 2016-11-20  Jim Meyering  <meyering@fb.com>
9927         fix test driver leaks: exclude, malloc, realloc
9928         * tests/test-exclude.c (main): Fix trivial leak.
9929         * tests/test-malloc-gnu.c (main): Likewise.
9930         * tests/test-realloc-gnu.c (main): Likewise.
9931         With these changes, grep's tests are now leak free.
9932         I.e., running them with ASAN elicits no failure:
9933           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9934             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9936 2016-11-11  Bruno Haible  <bruno@clisp.org>
9938         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9939         * modules/libunistring: (License): Change from LGPL to
9940         "LGPLv3+ or GPLv2".
9941         * modules/libunistring-optional: Likewise.
9942         * modules/unicase/*: Likewise.
9943         * modules/uniconv/*: Likewise.
9944         * modules/unictype/*: Likewise.
9945         * modules/unigbrk/*: Likewise.
9946         * modules/unilbrk/*: Likewise.
9947         * modules/uniname/*: Likewise.
9948         * modules/uninorm/*: Likewise.
9949         * modules/unistdio/*: Likewise.
9950         * modules/unistr/*: Likewise.
9951         * modules/uniwbrk/*: Likewise.
9952         * modules/uniwidth/*: Likewise.
9954 2016-11-12  Bruno Haible  <bruno@clisp.org>
9956         Relicense some modules under LGPLv2+.
9957         Paul Eggert's approval is in
9958         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9959         Eric Blake's approval is in
9960         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9961         Ludovic Courtès's approval is in
9962         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9963         * modules/isnand-nolibm (License): Change to LGPLv2+.
9964         * modules/isnanf-nolibm (License): Likewise.
9965         * modules/isnanl-nolibm (License): Likewise.
9967 2016-11-19  Bruno Haible  <bruno@clisp.org>
9969         Relicense some modules under LGPLv2+.
9970         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9971         modules/vasnprintf.
9972         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9973         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9974         All other significant changes to the files in lib/ of these modules
9975         are from me.
9976         * modules/memcmp2 (License): Change to LGPLv2+.
9977         * modules/amemxfrm (License): Likewise.
9978         * modules/fpieee (License): Likewise.
9979         * modules/fpucw (License): Likewise.
9980         * modules/frexp-nolibm (License): Likewise.
9981         * modules/frexpl-nolibm (License): Likewise.
9982         * modules/printf-frexp (License): Likewise.
9983         * modules/printf-frexpl (License): Likewise.
9984         * modules/printf-safe (License): Likewise.
9985         * modules/signbit (License): Likewise.
9987 2016-11-17  Bruno Haible  <bruno@clisp.org>
9989         Enable Unicode decoder safety unconditionally.
9990         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9991         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9992         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9993         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9994         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9995         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9996         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9997         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9998         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9999         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
10000         * lib/unistr/u16-prev.c (u16_prev): Likewise.
10001         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
10002         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
10003         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
10004         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
10005         * lib/unistr/u32-prev.c (u32_prev): Likewise.
10006         * lib/unistr/u32-next.c (u32_next): Likewise.
10007         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
10008         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
10009         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10010         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
10011         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
10012         CONFIG_UNICODE_SAFETY tests unconditionally.
10013         * tests/unistr/test-u32-mblen.c (main): Likewise.
10014         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
10015         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
10016         * tests/unistr/test-u32-next.c (main): Likewise.
10017         * tests/unistr/test-u32-strmblen.c (main): Likewise.
10018         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
10019         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
10020         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
10021         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
10022         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10023         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
10024         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
10025         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
10026         * lib/unistr/u16-check.c (u16_check): Update comment.
10027         * NEWS: Mention the changes that callers should be aware of.
10029 2016-11-19  Bruno Haible  <bruno@clisp.org>
10031         relocatable-prog-wrapper: Fix breakage on Cygwin.
10032         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
10033         (Depends-on): Remove intprops.
10034         * lib/relocwrapper.c: Update dependency tree.
10035         (strerror): Undefine.
10036         * build-aux/install-reloc (func_create_wrapper): Do not compile
10037         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
10039 2016-11-19  Bruno Haible  <bruno@clisp.org>
10041         strerror: Make it compile in C++ mode.
10042         * lib/strerror.c (strerror): Ignore the return value of memcpy().
10044 2016-11-15  Pedro Alves  <palves@redhat.com>
10046         sys_time: add gnulib::timeval for C++
10047         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
10048         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
10049         timeval macro.
10051 2016-11-14  Pedro Alves  <palves@redhat.com>
10053         snippet/c++defs: fix real-floating arg functions in C++ mode
10054         Also, define isfinite, isinf, isnan, signbit in the gnulib
10055         namespace instead of in the global namespace.
10056         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
10057         (_GL_END_NAMESPACE): New.
10058         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
10059         (isfinite, isinf, isnan, signbit) [__cplusplus &&
10060         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
10061         instead of in the global namespace.
10062         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
10063         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
10064         of in the global namespace.
10066 2016-11-13  Jim Meyering  <meyering@fb.com>
10068         strftime: don't use __THROW
10069         Each use of __THROW would provoke this from gcc-7-to-be:
10071           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
10072             on unit local functions [-Wattributes]
10073           static int iso_week_days (int, int) __THROW;
10074           ^~~~~~
10075         * lib/strftime.c (__THROW): Don't define.
10076         Remove each use of __THROW.
10077         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
10078         (tm_diff, iso_week_days, __strftime_internal): Likewise.
10080 2016-11-14  Paul Eggert  <eggert@union>
10082         obstack: port to gcc -fcheck-pointer-bounds
10083         Problem found by 'make check' failure on bleeding-edge coreutils
10084         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
10085         6.2.0-5ubuntu12), configured via "./configure
10086         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
10087         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
10088         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
10089         New macro, copied from fts_.h.
10090         (struct _obstack_chunk.contents): Use it.
10092 2016-11-14  Eric Blake  <eblake@redhat.com>
10094         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
10095         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
10096         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
10098 2016-11-14  Pádraig Brady  <P@draigBrady.com>
10100         strptime: fix compile error in recent change
10101         * lib/strptime.c (__strptime_internal): Fix ported code.
10103 2016-11-11  Bruno Haible  <bruno@clisp.org>
10105         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
10106         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
10107         (func_import): Extend determination of license_incompatibilities.
10108         (func_create_testdir): Extend table of license compatibility. Handle
10109         also the licenses GPLv3+, GPL, LGPLv3+.
10111 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10113         strftime: tune %q
10114         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
10116         Merge strftime.c changes from glibc
10117         This incorporates:
10118         2007-10-16 [BZ #5184] Add tzset_called argument
10119         2008-06-13 [BZ #6612] pass reference to tzset_called around
10120         2009-10-30 Implement Burmese language locale for Myanmar
10121         2010-01-09 Add support for XPG7 testing
10122         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
10123         2015-10-20 Convert miscellaneous function definitions to prototype style
10124         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
10125         it anyway and this lessens the difference between gnulib and glibc.
10126         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
10127         (__THROW): Define if standard headers do not.
10128         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
10129         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
10130         Declare with __THROW.
10131         (__strftime_internal): Rename from strftime_case_. Add arg for
10132         whether tzset is called.  All uses changed.  Call tzset at most
10133         once.  Allow %OC, for Burmese.
10134         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
10135         Don't assume values are in range.
10137 2016-11-12  Eric Blake  <eblake@redhat.com>
10139         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
10140         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
10141         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
10142         different value.
10144 2006-11-12  Pedro Alves  <palves@redhat.com>
10146         Fix gnulib C++ namespace support and std::frexp
10147         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
10148         _GL_CXXALIASWARN.
10150 2006-11-12  Pedro Alves  <palves@redhat.com>
10152         GNULIB_NAMESPACE::func need not pull in rpl_func
10153         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10154         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
10155         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
10156         struct instead of a function pointer.
10158 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
10160         manywarnings: fix -Wno-missing-field-initializers detection
10161         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
10162         to be independent of -Wunused-variable.  I.E. ensure the latter
10163         warning doesn't occur so that detection of the former is accurate.
10165 2016-11-05  Pádraig Brady  <pbrady@fb.com>
10167         strftime,strptime: support %q to represent the quarter
10168         * lib/strftime.c (strftime_case_): Add %q case.
10169         * lib/strptime.c (__strptime_internal): Likewise.
10170         * tests/test-strftime.c (quarter_test): A new test case.
10172 2016-11-03  Eric Blake  <eblake@redhat.com>
10174         bootstrap: Fix get_version() for AIX 5.3
10175         * build-aux/bootstrap (get_version): Factor out sed script, since
10176         indented comments choke AIX 5.3 sed.
10177         Reported-by: Michael Felt <aixtools@gmail.com>
10179 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10181         intprops: port to older XL C
10182         Problem reported by Alexander Samoilov in:
10183         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
10184         http://savannah.nongnu.org/bugs/?49448
10185         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
10186         Define to 1 only for XL C 12.1 or later, since this bug
10187         occurs in XL C for AIX 6.0 but not in 12.1.
10189 2016-11-02  Pádraig Brady  <P@draigBrady.com>
10191         backupfile: initialize default suffix within the implementation
10192         * lib/backupfile.c (find_backup_file_name): Initialize the
10193         global variable here, to simplify usage, and to only call
10194         getenv() when needed.
10196 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10198         futimens: remove FIXME for old Linux kernels
10199         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
10200         this in 2012" FIXME, like that for utimensat.
10202         utimensat: remove FIXME for old Linux kernels
10203         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
10204         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
10205         this in 2012" FIXME, by assuming the file system bug is absent
10206         unless demonstrated to be present.  We no longer need to worry
10207         about Linux kernel 2.6.32 when building with newer kernels.
10209 2016-10-16  Bruno Haible  <bruno@clisp.org>
10211         qsort_r: Fix macrology for platforms that lack the function.
10212         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
10213         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
10214         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
10215         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
10216         not exist.
10217         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
10218         the function exists.
10219         * modules/qsort_r: Add comments.
10221 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10223         sys_types: fix Texinfo typos
10224         * doc/glibc-functions/gnu_dev_major.texi:
10225         * doc/glibc-functions/gnu_dev_makedev.texi:
10226         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
10228 2016-10-26  John David Anglin  <dave.anglin@bell.net>
10230         getprogname: port to HP-UX
10231         See Bug#24805.
10232         * lib/getprogname.c (getprogname) [__hpux]: Port.
10233         * tests/test-getprogname.c (STREQ) [__hpux]:
10234         Special-case for HP-UX limitations on program name length.
10236 2016-10-20  Bruno Haible  <bruno@clisp.org>
10238         Update doc about target platforms.
10239         * doc/gnulib-intro.texi (Target Platforms): Update list.
10241 2016-10-15  Bruno Haible  <bruno@clisp.org>
10243         opendir, readdir, closedir: Relicense under LGPLv2+.
10244         * modules/opendir (License): Change to LGPLv2+.
10245         * modules/readdir (License): Likewise.
10246         * modules/closedir (License): Likewise.
10248 2016-10-16  Bruno Haible  <bruno@clisp.org>
10250         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
10251         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
10252         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
10253         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
10254         HAVE_DECL_STRERROR_R.
10256 2016-10-16  Bruno Haible  <bruno@clisp.org>
10258         Make the 'argp' module work without the 'error' module.
10259         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
10261 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10263         diffseq: restore TOO_EXPENSIVE heuristic
10264         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
10265         (Bug#24715).  The simplest solution is to restore the
10266         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
10267         using a higher threshold to avoid Bug#16848 on smaller files.
10268         * lib/diffseq.h (struct context): Restore member too_expensive.
10269         (struct partition): Restore members lo_minimal, hi_minimal.
10270         (diag, compareseq): Restore arg find_minimal.  All uses changed.
10271         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
10272         1993 to make 'diff' run faster (but not as well) on large inputs,
10273         but use a threshold of 4096 instead of the old 256.
10274         * lib/fstrcmp.c (strcmp_bounded):
10275         * lib/git-merge-changelog.c (compute_differences):
10276         Adjust to diffseq.h changes.
10278 2016-10-22  Bruno Haible  <bruno@clisp.org>
10280         iconv: Avoid compilation error when bootstrapping GNU libiconv.
10281         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
10282         declaration yet, define ICONV_CONST to empty.
10284 2016-10-15  Bruno Haible  <bruno@clisp.org>
10286         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
10287         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
10288         module.
10290 2016-10-16  Bruno Haible  <bruno@clisp.org>
10292         system-quote tests: Avoid compiler warning on AIX.
10293         * tests/test-system-quote-child.c (fopen): Redefine like the system's
10294         <stdio.h> does.
10296 2016-10-16  Bruno Haible  <bruno@clisp.org>
10298         Fix some "gcc -Wall" warnings.
10299         * tests/test-ffsl.c (main): Use variable x, not i.
10300         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
10301         freopen.
10302         * tests/test-sethostname1.c (main): Explicitly ignore the return value
10303         of sethostname.
10305 2016-10-16  Bruno Haible  <bruno@clisp.org>
10307         gnulib-tool: Make --create-testdir on all modules work again.
10308         * gnulib-tool (func_create_testdir): Don't include the
10309         non-recursive-gnulib-prefix-hack module.
10311 2016-10-21  Daiki Ueno  <ueno@gnu.org>
10313         libunistring: change the maintainer to 'all'
10314         * modules/gen-uni-tables, modules/libunistring:
10315         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
10316         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
10317         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
10318         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
10319         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
10320         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
10321         * modules/uniwidth/*: Change the maintainer to 'all'.
10323 2016-10-16  Bruno Haible  <bruno@clisp.org>
10325         Simplify "configure: checking ..." messages.
10326         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
10327         AC_MSG_NOTICE.
10328         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
10330 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10332         quotearg-tests: pacify gcc -Wall
10333         Problem reported by Bruno Haible in:
10334         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
10335         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
10336         * tests/test-quotearg.h: ... from here.
10338 2016-10-20  Pádraig Brady  <P@draigBrady.com>
10340         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
10341         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
10342         Needed on Centos <= 4.
10344 2016-10-20  Jim Meyering  <meyering@fb.com>
10346         printf.m4: fix a bug in detecting printf %j support
10347         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
10348         uintmax_t is defined in neither stdint.h nor inttypes.h.
10349         Before, this macro might have mistakenly set
10350         gl_cv_func_printf_sizes_c99=yes on such a system.
10351         Spotted by Zev Weiss.
10353 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
10355         sched: substitute HAVE_SYS_CDEFS_H too
10356         Problem reported by Tom G. Christensen in:
10357         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
10358         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
10359         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
10361 2016-10-19  Pádraig Brady  <P@draigBrady.com>
10363         quotearg: never write beyond the returned length
10364         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
10365         scan of the string when we initially encounter a single quote when
10366         shell quoting, so that if we then switch to a more concise quoting method
10367         we will not have written beyond that returned length.
10368         This is significant for sh-quote, which has separate routines
10369         to determine the length and do the actual quoting.
10370         * tests/test-quotearg.h: Reinstate the buffer bounds checking
10371         now that we never write more than the returned length.
10373 2016-10-18  Bruno Haible  <bruno@clisp.org>
10375         getprogname tests: Avoid failure in packages that use libtool.
10376         * tests/test-getprogname.c (main): Strip "lt-" prefix.
10377         Based on a patch by Jim Meyering.
10379 2016-10-16  Bruno Haible  <bruno@clisp.org>
10381         getprogname: Fix test failure on Cygwin. Comments.
10382         * lib/getprogname.h: Add comments.
10383         * lib/getprogname.c: Add comments. Fix #elif indentation.
10384         * tests/test-getprogname.c (main): On Cygwin, expect a result without
10385         ".exe" suffix.
10387 2016-10-16  Bruno Haible  <bruno@clisp.org>
10389         Make sure the libunistring detection rejects older versions with a
10390         known bug.
10391         * modules/unistr/u8-strtok (configure.ac): Bump required version.
10392         * modules/unistr/u16-strtok (configure.ac): Likewise.
10393         * modules/unistr/u32-strtok (configure.ac): Likewise.
10395 2016-10-18  Bruno Haible  <bruno@clisp.org>
10397         sh-quote, system-quote: revert regression of unit test.
10398         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
10399         * tests/test-system-quote-main.c (check_one): Likewise.
10401 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10403         quotearg: fix stale tests
10404         * tests/test-quotearg.c [locale_results]: Add the missing str7
10405         entries to the expected results.
10406         * tests/test-system-quote-main.c (check_one): Don't enforce that we
10407         don't write beyond the returned length, since that's no longer the
10408         case if we switch to a more concise quoting style.
10409         * tests/test-sh-quote.c (check_one): Likewise.
10410         (main): Adjust for the new more concise quoting style.
10411         Reported by Bruno Haible.
10413 2016-10-16  Jim Meyering  <meyering@fb.com>
10415         non-recursive-gnulib-prefix-hack: fix inconsequential typo
10416         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
10417         to "$1".  This macro is always invoked with $1 == lib.
10418         Spotted by Bruno Haible
10420 2016-10-16  Bruno Haible  <bruno@clisp.org>
10422         Fix a test crash.
10423         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
10424         fails.
10426 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10428         test-limits-h: suppress -Woverlength-strings
10429         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
10431 2016-10-15  Bruno Haible  <bruno@clisp.org>
10433         gettime, timespec, utimens: Relicense under LGPL.
10434         * modules/gettime (License): Change to LGPL.
10435         * modules/timespec (License): Likewise.
10436         * modules/utimens (License): Likewise.
10438 2016-10-14  Bruno Haible  <bruno@clisp.org>
10439             Pádraig Brady  <P@draigBrady.com>
10441         canonicalize-lgpl: Support the case path_max > INT_MAX.
10442         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
10443         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
10445 2016-10-13  Jim Meyering  <meyering@fb.com>
10447         getprogname: IBM z/OS: avoid NULL-dereference
10448         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
10449         upon strdup failure.
10451 2016-10-12  Jim Meyering  <meyering@fb.com>
10453         test-stdint: use _GL_VERIFY rather than "verify" for some tests
10454         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
10455         and an abbreviated diagnostic rather than verify with the full one,
10456         because the full-length strings would evoke warnings from gcc with
10457         -Woverlength-strings.
10459 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10461         stdint: port SIZE_MAX to glibc s390
10462         Problem reported by Eric Blake in:
10463         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
10464         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
10465         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
10466         correct type, if possible.
10468 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
10470         getprogname: port to IBM z/OS
10471         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10473 2016-10-11  Jim Meyering  <meyering@fb.com>
10475         maint: remove stray space after "." in AC_DEFINE comment.
10476         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10477         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10479 2016-10-05  Jim Meyering  <meyering@fb.com>
10481         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10482         * lib/long-options.c (parse_long_options): Add a break statement
10483         to avoid this new warning/failure:
10484         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10485           --create-testdir --dir=/t/x --with-tests --test long-options
10486         ../../gllib/long-options.c: In function 'parse_long_options':
10487         ../../gllib/long-options.c:66:12: error: this statement may \
10488           fall through [-Werror=implicit-fallthrough]
10489                    (*usage_func) (EXIT_SUCCESS);
10490                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10492 2016-10-05  Jim Meyering  <meyering@fb.com>
10494         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10495         Testing this module would fail when using GCC 7 like this:
10496         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10497           --dir=/tmp/x --with-tests --test utimecmp
10498         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10499         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10500           [-Werror=bool-operation]
10501                          time_t s = src_s & ~ (res == 2 * BILLION);
10502                                             ^
10503         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10504           [-Werror=bool-operation]
10505                src_s &= ~ (res == 2 * BILLION);
10506                         ^
10507         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10508         Instead, make it explicit that we intend to apply it to 0 or 1.
10510 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10512         dfa: save memory for states
10513         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10514         states if dfa has a lot of caches.
10516 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10518         wchar, wctype-h: fix for MinGW 3.22.2
10519         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10520         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10521         when included from <string.h>.
10522         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10523         convention for MinGW 3.22.2, to solve issues with their
10524         wctype.h when included from <ctype.h>.
10526 2016-10-05  Jim Meyering  <meyering@fb.com>
10528         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10529         * lib/long-options.c (parse_long_options): Add a break statement
10530         to avoid this new warning/failure:
10531         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10532           --create-testdir --dir=/t/x --with-tests --test long-options
10533         ../../gllib/long-options.c: In function ‘parse_long_options’:
10534         ../../gllib/long-options.c:66:12: error: this statement may \
10535           fall through [-Werror=implicit-fallthrough]
10536                    (*usage_func) (EXIT_SUCCESS);
10537                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10539         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10540         Testing this module would fail when using GCC 7 like this:
10541         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10542           --dir=/tmp/x --with-tests --test utimecmp
10543         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10544         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10545           [-Werror=bool-operation]
10546                          time_t s = src_s & ~ (res == 2 * BILLION);
10547                                             ^
10548         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10549           [-Werror=bool-operation]
10550                src_s &= ~ (res == 2 * BILLION);
10551                         ^
10552         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10553         Instead, make it explicit that we intend to apply it to 0 or 1.
10555 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10557         quotearg: minimize shell quoting using double quotes
10558         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10559         quote in encountered then use double quotes (c style quoting)
10560         when possible, as it simplifies the quoting.
10561         * tests/test-quotearg-simple.c: Add test cases.
10562         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10563         for the fact we now may write beyond the returned length.
10565 2016-10-02  Jim Meyering  <meyering@fb.com>
10567         vasnprintf.c: avoid spurious warning from GCC 7
10568         The presence of cpp directives renders this "FALLTHROUGH" comment
10569         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10570         from GCC 7 built from git on 2016-10-02.
10571         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10572         directives, so that it takes effect once again.  This is clearly
10573         not a proper change, and I will revert it once this bug is fixed:
10574         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10576 2016-10-01  Jim Meyering  <meyering@fb.com>
10578         getprogname: correct the test for a __progname variable
10579         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10580         and AC_LINK_IFELSE to check for a global __progname.  If found,
10581         define HAVE_VAR___PROGNAME.
10582         * lib/getprogname.c (getprogname): Reflect the new name of the
10583         feature- checked preprocessor symbol:
10584         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10586 2016-09-28  Jim Meyering  <meyering@fb.com>
10588         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10589         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10590         fall-through case with a /* fallthrough */ comment.
10592         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10593         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10594         /* fallthrough */ comment.
10596         getprogname: avoid __progname vs program_invocation_short_name pitfall
10597         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10598         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10599         not with Fedora 24's glibc-2.23.1-10.
10600         * lib/getprogname.c (__progname): Move this declaration down...
10601         (getprogname): ... into the #elif block where used, and make it
10602         explicitly "extern".
10604         getprogname: port to OpenBSD 5.1
10605         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10606         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10607         * modules/getprogname (configure.ac): Move most of this code...
10608         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10609         increment serial number, and add a test for __progname.
10610         https://bugs.gnu.org/24562
10611         Reported by Nelson H. F. Beebe.
10613 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10615         sched: port to GCC 6.2.1 on macOS Sierra
10616         Problem reported by Denis Davydov in:
10617         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10618         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10619         Include <sys/cdefs.h> before <sched.h>.
10620         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10621         so that we needn’t worry about the sched.h include bug here.
10622         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10623         and include it before <sched.h> if it exists, when
10624         checking for <sched.h>.
10626         tests/init.sh: port Alpine fix to AIX 7.1
10627         * tests/init.sh (compare_): When attempting to use diff -U3,
10628         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10629         diff -u not outputting a space after leading '+', as the users
10630         of 'compare' should not be that picky about its output format.
10631         In the AIX 7.1 case, return with diff exit status (or with 2 if
10632         trouble), instead of some random nonzero exit status.
10633         * tests/test-init.sh (test_compare): Remove space after leading
10634         '+', so that AIX 7.1 'diff' passes the test.
10636 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10638         nl_langinfo: pacify GCC
10639         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10640         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10642         stdint: also set GL_GENERATE_LIMITS_H
10643         Problem reported by Jim Meyering in:
10644         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10645         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10647         limits-h, stdint: Don't assume extensions, fix typo
10648         * m4/limits-h.m4 (gl_LIMITS_H):
10649         * m4/stdint.m4 (gl_STDINT_H):
10650         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10651         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10652         reported by Jim Meyering in:
10653         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10655 2016-09-21  Jim Meyering  <meyering@fb.com>
10657         getprogname: port to AIX
10658         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10659         and strdup to obtain a short program name string.  Using code from
10660         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10661         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10662         Assaf Gordon reported that this new file would fail to compile on
10663         AIX-7.1 32bit.
10665 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10667         extensions: fix typo in comment
10668         * m4/extensions.m4: Sync from Autoconf master.
10670         stdint: support new _WIDTH macros
10671         * doc/posix-headers/stdint.texi: Document this.
10672         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10673         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10674         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10675         * modules/stdint (Depends-on): Add limits-h.
10676         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10677         * modules/stdint-tests (Depends-on): Add extensions, so that
10678         INTMAX_MAX etc. are defined.
10679         * tests/test-stdint.c: Verify the new macros.
10681         limits-h: new module
10682         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10683         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10684         * doc/posix-headers/limits.texi: Document new module.
10685         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10686         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10688         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10689         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10690         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10691         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10693 2016-09-15  Eric Blake  <eblake@redhat.com>
10695         sys_types: avoid glibc 2.25 warnings about major()
10696         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10697         older autoconf.
10698         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10699         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10700         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10701         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10703         mountlist: include sysmacros.h for glibc
10704         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10705         AC_HEADER_MAJOR.
10706         * lib/mountlist.c (includes): Use correct headers.
10708 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10710         extensions: port to more ISO C TSes
10711         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10712         master, to add support for more recent ISO C TRs and TSes.
10714 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10716         intprops: new macro TYPE_WIDTH
10717         * lib/intprops.h (TYPE_WIDTH): New macro.
10718         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10719         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10720         * lib/parse-datetime.y (parse_datetime2):
10721         Use it.
10723         extensions: port to recent ISO C TRs
10724         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10725         Sync from Autoconf master, to add support for recent ISO C TRs.
10726         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10727         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10728         the MinGW option is not an extension.
10730 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10732         dfa: port to Solaris 9
10733         Problems reported by Tom G. Christensen in:
10734         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10735         * modules/dfa (Depends-on): Add isblank.
10736         * modules/dfa-tests (dfa_match_aux_LDADD):
10737         Rename from test_stat_LDADD, to fix typo.
10738         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10740 2016-09-10  Jim Meyering  <meyering@fb.com>
10742         strverscmp: avoid link failure on OS X
10743         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10744         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10746 2016-08-16  Jim Meyering  <meyering@fb.com>
10748         dfa: new module, importing grep's DFA matcher
10749         Since grep's DFA matcher is now being used by two gnulib-enabled
10750         projects, grep and sed, it makes sense to version-control its
10751         sources and unit tests in one place: here.
10752         * modules/dfa: New module.
10753         * modules/dfa-tests: New file.
10754         * lib/dfa.c: New file, from grep.
10755         * lib/dfa.h: Likewise.
10756         * lib/localeinfo.c: Likewise.
10757         * lib/localeinfo.h: Likewise.
10758         * tests/dfa-match-aux.c: Likewise.
10759         * tests/dfa-invalid-char-class.sh: Likewise.
10760         * tests/dfa-match.sh: Likewise, with minor changes.
10761         * MODULES.html.sh (Misc): Add "dfa" to this list.
10763 2016-09-09  Jim Meyering  <meyering@fb.com>
10765         getprogname-tests: don't depend on assert-h
10766         * modules/getprogname-tests (Depends-on): Remove assert-h.
10767         It was not needed, and in fact would cause build failure for
10768         coreutils on some systems.  Reported by Assaf Gordon in https:
10769         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10771 2016-09-07  Jim Meyering  <meyering@fb.com>
10773         getprogname-tests: work also when EXEEXT is nonempty
10774         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10775         * tests/test-getprogname.c (main): Use it.
10776         Suggested by Gisle Vanem.
10778 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10780         getprogname: fix errors in previous change
10781         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10782         s/program_invocation_name/base/
10783         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10785 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10787         parse-datetime: restrict debug output to input string
10788         * lib/parse-datetime.y (parse_datetime2): If we parse
10789         all of the input but determine it's invalid, ensure
10790         we don't output the now invalid input pointer.
10791         This issue was seen with `date -d 'now +1'`.
10793 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10795         flexmember: new macro FLEXALIGNOF
10796         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10797         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10798         this macro.  Update comments.
10800 2016-09-07  Jim Meyering  <meyering@fb.com>
10802         getprogname: port to systems with __argv (mingw, msvc)
10803         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10804         last_component: more general than open coding it with hard-coded "/".
10805         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10806         * modules/getprogname (Depends-on): Add dirname-lgpl.
10807         (configure.ac): Check for __argv in <stdlib.h>.
10808         * modules/getprogname-tests: New file.
10809         * tests/test-getprogname.c: New file.
10810         Suggested by Gisle Vanem in
10811         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10813 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10815         flexmember: port better to GCC + valgrind
10816         With a char[] flexible array member in a struct with nontrivial
10817         alignment, GCC-generated code can access past the end of the
10818         array, because GCC assumes there are padding bytes to get the
10819         struct aligned.  So the common idiom of malloc (offsetof (struct
10820         s, m), n) does not properly allocate an n-byte trailing member, as
10821         malloc’s argument should be the next multiple of alignof (struct s).
10822         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10823         Although C11 apparently permits this GCC optimization (i.e., there
10824         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10825         See the thread containing:
10826         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10827         * lib/flexmember.h: New file.
10828         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10829         * lib/localename.c, lib/time_rz.c:
10830         Include flexmember.h.
10831         * lib/fnmatch_loop.c (struct patternlist):
10832         * lib/localename.c (struct hash_node):
10833         Use FLEXIBLE_ARRAY_MEMBER.
10834         * lib/fnmatch_loop.c (EXT):
10835         * lib/fts.c (fts_alloc):
10836         * lib/glob.c (glob_in_dir):
10837         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10838         * lib/localename.c (gl_lock_define_initialized):
10839         * lib/time_rz.c (tzalloc):
10840         Use FLEXSIZEOF instead of offsetof.
10841         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10842         Check that the size of the struct can be taken.
10843         * modules/flexmember (Files): Add lib/flexmember.h.
10844         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10845         Add flexmember.
10847 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10849         getprogname: port to Solaris 10
10850         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10851         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10852         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10854         stdalign: correct mistake in alignof doc
10855         Problem reported by Joseph Myers in:
10856         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10857         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10858         alignof(S) where S is a structure containing a flexible array
10859         member.  The Gnulib substitute does not support this, but C11 does.
10861 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10863         main.mk: remove sc_program_name, since there is no more need to
10864         use set_program_name in tools (getprogname is enough for most
10865         of the cases).
10866         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10867         * top/maint.mk (sc_program_name): Remove.
10869 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10871         Port tests away from progname, since modules that need the
10872         program name already depend on getprogname.
10873         * modules/acl-tests (Depends-on): Remove progname.
10874         * modules/argmatch (Depends-on): Likewise.
10875         * modules/argmatch-tests (Depends-on): Likewise.
10876         * modules/argp-tests (Depends-on): Likewise.
10877         * modules/argp-version-etc-tests (Depends-on): Likewise.
10878         * modules/array-list-tests (Depends-on): Likewise.
10879         * modules/array-oset-tests (Depends-on): Likewise.
10880         * modules/avltree-list-tests (Depends-on): Likewise.
10881         * modules/avltree-oset-tests (Depends-on): Likewise.
10882         * modules/avltreehash-list-tests (Depends-on): Likewise.
10883         * modules/carray-list-tests (Depends-on): Likewise.
10884         * modules/copy-file-tests (Depends-on): Likewise.
10885         * modules/exclude-tests (Depends-on): Likewise.
10886         * modules/fchownat-tests (Depends-on): Likewise.
10887         * modules/fdopendir-tests (Depends-on): Likewise.
10888         * modules/filenamecat-tests (Depends-on): Likewise.
10889         * modules/fstatat-tests (Depends-on): Likewise.
10890         * modules/fstrcmp-tests (Depends-on): Likewise.
10891         * modules/linked-list-tests (Depends-on): Likewise.
10892         * modules/linkedhash-list-tests (Depends-on): Likewise.
10893         * modules/mkdirat-tests (Depends-on): Likewise.
10894         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10895         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10896         * modules/obstack-printf-tests (Depends-on): Likewise.
10897         * modules/openat-tests (Depends-on): Likewise.
10898         * modules/parse-datetime-tests (Depends-on): Likewise.
10899         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10900         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10901         * modules/quotearg-simple-tests (Depends-on): Likewise.
10902         * modules/quotearg-tests (Depends-on): Likewise.
10903         * modules/rbtree-list-tests (Depends-on): Likewise.
10904         * modules/rbtree-oset-tests (Depends-on): Likewise.
10905         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10906         * modules/spawn-pipe-tests (Depends-on): Likewise.
10907         * modules/system-quote-tests (Depends-on): Likewise.
10908         * modules/uniname/uniname-tests (Depends-on): Likewise.
10909         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10910         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10911         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10912         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10913         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10914         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10915         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10916         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10917         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10918         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10919         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10920         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10921         * modules/unlinkat-tests (Depends-on): Likewise.
10922         * modules/version-etc-tests (Depends-on): Likewise.
10923         * modules/xalloc-die-tests (Depends-on): Likewise.
10924         * modules/xmemdup0-tests (Depends-on): Likewise.
10925         * modules/xprintf-posix-tests (Depends-on): Likewise.
10926         * modules/xvasprintf-tests (Depends-on): Likewise.
10927         * tests/test-argmatch.c: Do not include progname.h.
10928         (main) Stop calling set_program_name.
10929         * tests/test-argp-version-etc.c: Likewise.
10930         * tests/test-argp.c: Likewise.
10931         * tests/test-argv-iter.c: Likewise.
10932         * tests/test-array_list.c: Likewise.
10933         * tests/test-array_oset.c: Likewise.
10934         * tests/test-avltree_list.c: Likewise.
10935         * tests/test-avltree_oset.c: Likewise.
10936         * tests/test-avltreehash_list.c: Likewise.
10937         * tests/test-carray_list.c: Likewise.
10938         * tests/test-copy-acl.c: Likewise.
10939         * tests/test-copy-file.c: Likewise.
10940         * tests/test-exclude.c: Likewise.
10941         * tests/test-fchownat.c: Likewise.
10942         * tests/test-fdopendir.c: Likewise.
10943         * tests/test-filenamecat.c: Likewise.
10944         * tests/test-fstatat.c: Likewise.
10945         * tests/test-fstrcmp.c: Likewise.
10946         * tests/test-linked_list.c: Likewise.
10947         * tests/test-linkedhash_list.c: Likewise.
10948         * tests/test-mkdirat.c: Likewise.
10949         * tests/test-nonblocking-pipe-main.c: Likewise.
10950         * tests/test-nonblocking-socket-main.c: Likewise.
10951         * tests/test-obstack-printf.c: Likewise.
10952         * tests/test-openat.c: Likewise.
10953         * tests/test-parse-datetime.c: Likewise.
10954         * tests/test-pipe-filter-gi1.c: Likewise.
10955         * tests/test-pipe-filter-gi2-main.c: Likewise.
10956         * tests/test-pipe-filter-ii1.c: Likewise.
10957         * tests/test-pipe-filter-ii2-main.c: Likewise.
10958         * tests/test-quotearg-simple.c: Likewise.
10959         * tests/test-quotearg.c: Likewise.
10960         * tests/test-rbtree_list.c: Likewise.
10961         * tests/test-rbtree_oset.c: Likewise.
10962         * tests/test-rbtreehash_list.c: Likewise.
10963         * tests/test-sameacls.c: Likewise.
10964         * tests/test-set-mode-acl.c: Likewise.
10965         * tests/test-spawn-pipe-main.c: Likewise.
10966         * tests/test-system-quote-main.c: Likewise.
10967         * tests/test-unlinkat.c: Likewise.
10968         * tests/test-version-etc.c: Likewise.
10969         * tests/test-xalloc-die.c: Likewise.
10970         * tests/test-xfprintf-posix.c: Likewise.
10971         * tests/test-xmemdup0.c: Likewise.
10972         * tests/test-xprintf-posix.c: Likewise.
10973         * tests/test-xvasprintf.c: Likewise.
10974         * tests/uniname/test-uninames.c: Likewise.
10975         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10976         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10977         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10978         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10979         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10980         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10981         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10982         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10983         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10984         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10985         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10986         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10987         * tests/test-c-stack.c: (program_name): Do not define.
10988         (main): Do not set program_name.
10989         * tests/test-closein.c: Likewise.
10990         * tests/test-xstrtol.c: Likewise.
10991         * tests/test-yesno.c: Likewise.
10993 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10995         Port modules to use getprogname explicitly, instead of requiring
10996         progname to be used (or program_name to be provided).
10997         * lib/argmatch.c: Do not include progname.h.
10998         [TEST] (program_name): Do not define.
10999         [TEST] (main): Call getprogname instead of using program_name.
11000         * lib/c-stack.c: Do not include progname.h.
11001         (program_name): Do not define.
11002         (die): Call getprogname instead of using program_name.
11003         * lib/chdir-long.c: Do not include progname.h.
11004         [TEST_CHDIR] (main): Do not set program_name.
11005         * lib/error.c [!_LIBC]: Include progname.h.
11006         [!_LIBC] (program_name): Define using getprogname.
11007         * lib/euidaccess.c: Do not include progname.h.
11008         [TEST] (main): Do not set program_name.
11009         * lib/git-merge-changelog.c: Include getprogname.h instead of
11010         progname.h.
11011         (usage): Call getprogname instead of using program_name.
11012         (main): Likewise.  Stop calling set_program_name.
11013         * lib/group-member.c: Do not include progname.h.
11014         [TEST] (main): Do not set program_name.
11015         * modules/argmatch (Depends-on): Add getprogname.
11016         * modules/c-stack (Depends-on): Likewise.
11017         * modules/error (Depends-on): Likewise.
11018         * modules/git-merge-changelog (Depends-on): Likewise.
11019         Also remove progname.
11021 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
11023         * NEWS: Document the deprecation of the 'progname' module.
11025 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11027         getprogname: new module
11028         This provides a LGPL module for getting the name of the current
11029         program, using the same API found on *BSD systems.
11030         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
11031         * modules/getprogname: New files.
11032         * MODULES.html.sh (Misc): Add getprogname.
11034 2016-09-02  Jim Meyering  <meyering@fb.com>
11036         manywarnings: add -fno-common
11037         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
11038         to the list.  Quoting the manual, "Compiling with -fno-common is
11039         useful on targets for which it provides better performance, or if
11040         you wish to verify that the program will work on other systems that
11041         always treat uninitialized variable declarations this way [putting
11042         it in the data section]."  If diffutils had been using this sooner,
11043         it would have prevented this duplicate declaration issue:
11044         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
11046 2016-08-31  Simon Josefsson  <simon@josefsson.org>
11048         parse-datetime: Fix typo.
11049         * lib/parse-datetime.y (parse_datetime2): Fix typo.
11051 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11053         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
11054         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
11055         GCC 5 and 6 that have __builtin_sub_overflow but not
11056         __builtin_sub_overflow_p.  With the recent changes, these
11057         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
11058         implementation than with INT_SUBTRACT_OVERFLOW implementation,
11059         since the former needs just one runtime comparison whereas the
11060         latter needs two.
11062         strverscmp: sync with glibc
11063         Although this doesn't exactly synchronize with glibc
11064         byte-for-byte, it makes the code behave the same as glibc.
11065         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
11066         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
11067         difference shouldn't matter in practical use.  All uses changed
11068         back to isdigit.
11069         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
11070         (next_state): Now unsigned char array; redo elements.
11071         (result_type): Now signed char array; redo elements.
11072         (__strverscmp): Fix glibc bug 9913 by using new states.
11073         * tests/test-strverscmp.c (main): Test glibc bug 9913.
11075 2016-08-29  Jim Meyering  <meyering@fb.com>
11077         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
11078         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
11079         similarly to how it was done to intprops.h.
11081 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11083         intprops.h: port recent changes to GCC 6.2.0
11084         * lib/intprops.h (__has_builtin): Move earlier.
11085         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
11086         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
11087         the last argument can be null.  All uses changed.
11088         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
11089         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11090         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
11091         and it's not clear which GCC versions it works for.
11092         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
11093         its definiens.
11095         intprops.h: use __typeof__ with GCC 7
11096         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
11097         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
11098         This avoids computing the expression's value (which might overflow!).
11100 2016-08-29  Jim Meyering  <meyering@fb.com>
11102         intprops.h, xalloc-oversized.h: work with gcc 7
11103         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
11104         __builtin_mul_overflow each accept a NULL pointer as the third
11105         argument.  However in gcc 7, that is no longer accepted.
11106         Instead, one must use the "_p"-suffixed names, with which, the
11107         third parameter is no longer a pointer.
11108         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
11109         the definition: not true for gcc 7 and subsequent.
11110         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
11111         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11112         Provide new definitions for gcc 7 and subsequent.
11113         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
11114         that works with gcc-7.
11116         intprops.h: fix missing-backslash problems
11117         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
11118         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
11120 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11122         intprops: fix paren typo on old platforms
11123         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
11124         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
11125         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
11126         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
11127         && !defined LLONG_MAX]:
11128         Remove stray paren.
11130         intprops: port to OpenVMS
11131         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
11132         * doc/posix-headers/limits.texi: Document the problem.
11133         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
11134         Define if not already defined.
11136 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
11138         parse-datetime: improve debug implementation
11139         Follow-up to commit 12ad79069 ("add optional debug printing").
11140         Improve parse-datetime's debug implementation: remove macros,
11141         replace global debug flag variable with a function parameter,
11142         use nstrftime for formatting.
11143         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
11144         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
11145         (parse_datetime2): New function, accepts 'flags' parameter, supporting
11146         debug flag. Existing interface 'parse_datetime' left unmodified.
11147         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
11148         (struct parser_control): add 'parse_datetime_debug' member variable.
11149         (parse_datetime): Call new function 'parse_datetime2' without debug.
11150         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
11151         pc.parse_datetime_debug variable as needed.
11152         (to_year): Accept new flags parameter, instead of using global variable.
11153         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
11154         use struct 'debug' variable instead of global variable.
11155         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
11156         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
11157         correspnding functions directly instead of using macros.
11158         * modules/parse-datetime: Add gnulib's strftime module.
11160 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
11162         c-strcase-tests: port to EBCDIC
11163         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
11164         which assume ASCII encoding semantics to run only in ASCII
11165         mode, as they fail in EBCDIC.
11167         sigpipe-tests: fix typo
11168         * tests/test-sigpipe.sh: C, not B.
11170 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11172         canonicalize-lgpl: fix errno after malloca fails
11173         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
11174         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
11175         * lib/canonicalize-lgpl.c (__realpath):
11176         Don't assume malloca sets errno on failure.
11178 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11180         strtod: port errno handling to z/OS
11181         * lib/strtod.c (strtod): Save and restore errno more reliably.
11183 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11185         strtod: port to z/OS
11186         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11187         implementation.
11189 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11191         strtod: port to z/OS
11192         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11193         implementation.
11195         regex, string: rename to avoid '__string'
11196         * lib/regex.h, lib/string.in.h: Do not use the identifier
11197         '__string', as it is effectively reserved by string.h on z/OS.
11199         c-strcase-tests, wcwidth-tests: depend on c-ctype
11200         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
11201         Add c-ctype.
11203 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11205         thread: port to z/OS
11206         * lib/glthread/thread.c, lib/glthread/thread.h:
11207         Rudimentary gl_thread support for z/OS.
11209         maint: port tests to z/OS errno behavior
11210         * tests/test-nonblocking-reader.h:
11211         * tests/test-nonblocking-writer.h:
11212         Accommodate z/OS errno code preferences. (I believe this should
11213         still be within spec; IBM is good at following the letter if not
11214         the spirit of such things.)
11216         maint: preprocessor changes to support z/OS
11217         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
11218         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
11219         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
11220         * tests/test-nonblocking-pipe.h:
11222         fclose, strstr-simple, wchar: port to z/OS
11223         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
11224         Changes to the Autoconf M4 code to support z/OS.  Note that
11225         fclose() is broken in a different way on z/OS than it is on other
11226         systems, thus the special-case in fclose.m4.
11228         iconv_open-utf-tests, iconv-tests: port to EBCDIC
11229         * tests/test-iconv-utf.c, tests/test-iconv.c:
11230         Added appropriately conditional #pragmas so that the test strings
11231         in test-iconv-utf.c are correctly interpreted in ASCII instead of
11232         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
11233         addressed in a more portable way by simply rewriting all the ASCII
11234         literal characters as octal escapes, but then you would lose the
11235         partial readability that the strings have now. Also, iconv_open()
11236         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
11238         c-strcase-tests, wcwidth-tests: port to EBCDIC
11239         * tests/test-c-strcasecmp.c: Include c-ctype.h.
11240         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
11241         * tests/test-wcwidth.c: Likewise.
11243 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11245         stdbool: don't require _Bool for C++
11246         Problem reported by David Seifert in:
11247         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
11248         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
11249         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
11250         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
11251         stricter about checking that bool and _Bool are compatible in C.
11253 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11255         getdelim: remove dependency on realloc-posix
11256         * lib/canonicalize-lgpl.c (alloc_failed)
11257         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
11258         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
11259         Use __set_errno where needed, for consistency.
11260         * lib/getdelim.c (alloc_failed): New function.
11261         (getdelim): Use it.
11263 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
11265         parse-datetime: add optional debug printing
11266         Print parsing information, warnings, and errors to stderr.
11267         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
11268         * lib/parse-datetime.y:
11269         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
11270         (PROGRESS*): Same as DEBUG, for progress reporting.
11271         (dbg_printf): Print message to stderr, with 'date' prefix.
11272         (struct parser_control): Add 'debug_*_seen' variables.
11273         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
11274         (debug_print_current_time, debug_print_relateive_time): Prints the
11275         current/relative date/time value of parser_control.
11276         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
11277         (to_year): Warn about 2-digit year parsing.
11278         (yylex):   Warn about unrecognized words.
11279         (get_effective_timezone): Returns current timezone in minutes.
11280         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
11281         clearly and unambigiously as possible.
11282         (debug_mktime_not_ok): Print detailed information about failed
11283         date/time values.
11284         (parse_datetime): Add DEBUG messages for failures, warnings. Add
11285         PROGRESS messages for status messages.
11286         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
11288 2016-08-06  Jim Meyering  <meyering@fb.com>
11290         tests/init.sh: exclude dash with bad "local" semantics
11291         * tests/init.sh (gl_shell_test_script_): Add a function to
11292         eliminate a shell like "dash" (unlike bash, zsh) that has
11293         surprising/risky "local var='...'" semantics.  Inspired by
11294         the problem and discussion in https://bugs.gnu.org/24116#11.
11296 2016-08-02  Ján Tomko  <jtomko@redhat.com>
11298         maint.mk: expand the prohibit_doubled_word regex
11299         This check has a static list of words that are checked for
11300         repetitions.  Expand it before running the perl script to
11301         avoid using expensive captures.  This decreases the cost
11302         for libvirt from 1.66s to 0.66s.
11303         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
11304         (sc_prohibit_doubled_word): Use it.
11306 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11308         useless-if-before-free: skip non-matching lines early
11309         * build-aux/useless-if-before-free: First match each line with the
11310         simple/quick /\bif\b/ and reject if there is no match. This often
11311         saves the cost of the much more involved regular expression.
11312         For libvirt, this decreases the cost from 1.44s to 1.02s.
11314 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11316         maint.mk: speed up sc_po_check
11317         sc_po_check would skip files based on their names, or on the
11318         existence of files with derived names. Rewrite it to use perl
11319         instead of shell to make the check faster.
11320         * top/maint.mk (perl_translatable_files_list_): Define.
11321         (sc_po_check): Use it.
11323 2016-07-30  Ján Tomko  <jtomko@redhat.com>
11325         maint.mk: speed up require_config_h_first
11326         Instead of spawning three processes per file,
11327         rewrite the check in perl and run it once for all the files.
11328         * top/maint.mk (perl_config_h_first_): Define.
11329         (sc_require_config_h_first): Use it in place of shell code.
11331 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11333         maint.mk: speed up sc_po_check
11334         sc_po_check would skip files based on their names, or on the
11335         existence of files with derived names. Rewrite it to use perl
11336         instead of shell to make the check faster.
11337         * top/maint.mk (perl_translatable_files_list_): Define.
11338         (sc_po_check): Use it.
11340 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11342         obstack: pacify GCC 6 with -Wnull-dereference
11343         Problem reported by Assaf Gordon in:
11344         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
11345         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
11346         Declare with __attribute_noreturn__.
11347         * lib/obstack.h (__attribute_noreturn__): New macro.
11349 2016-07-13  Eric Blake  <eblake@redhat.com>
11351         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
11352         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
11353         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
11355 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
11357         doc: mention glibc SSIZE_MAX buglet
11358         * doc/posix-headers/limits.texi (limits.h): Document the bug.
11360 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
11362         printf-posix: Fix mingw build
11363         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
11364         expression for detecting C symbol prefixes but forgot to qoute square
11365         brackets in the command line arguments for grep.  That way when
11366         building with mingw the condition was false although it ought to be
11367         true instead.  In particular scenarios this led to the following
11368         compile error:
11370             Cannot export rpl_printf: symbol not found
11371             Cannot export rpl_scanf: symbol not found
11372             collect2: error: ld returned 1 exit status
11374         Fix this by properly quoting square brackets.
11376 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11378         mktime: call tzset as per POSIX
11379         Problem reported by Ludovic Courtès in:
11380         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
11381         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
11382         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
11384 2016-06-26  Pádraig Brady  <P@draigBrady.com>
11386         fts: handle readdir() errors
11387         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
11388         but also upon error when it will also set errno.  Therefore
11389         flag the error case from readdir().  We treat the case where
11390         no items are read the same as if the dir can't be accessed,
11391         i.e. by setting fts_errno to FTS_DNR.
11393 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11395         intprops: port better to GCC 7
11396         GCC 7 __builtin_add_overflow supports a new usage form, where the
11397         last argument is a null pointer, and which merely returns 1 if an
11398         overflow would occur.  This is a constant expression if all
11399         arguments are constants, and should generate faster code when code
11400         needs to be generated.
11401         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
11402         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11403         Use builtin operations if available.
11404         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
11405         operations are available, as it's almost surely faster.
11407 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11409         intprops-test: port to GCC 6
11410         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
11411         since the bug is not fixed in GCC 6.1.
11413 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11415         xalloc-oversized: port to GCC 7; fewer warnings
11416         GCC 7 will have a better way to deal with integer overflow.
11417         Plus, fix a warnings problem reported by Tim Ruehsen in:
11418         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
11419         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
11420         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
11421         For GCC 5, use __xalloc_oversized if both args are constants,
11422         or if pedantic.
11424 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
11426         regex: port to Sun C
11427         Reported by Daiki Ueno.
11428         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
11429         __restrict, in prototype.  This fixes a problem I introduced in
11430         the 2016-02-19 merge from glibc.
11432 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
11434         stdbool: Restore __bool_true_false_are_defined check
11435         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
11436         __bool_true_false_are_defined is still defined, even with C++11.
11438 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
11440         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
11441         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
11443 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11445         Use GCC_LINT, not lint
11446         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
11447         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
11448         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
11449         Document problem with lint and _Noreturn.
11450         * lib/diffseq.h (IF_LINT, IF_LINT2):
11451         * lib/fts.c (sccsid):
11452         * lib/getndelim2.c (IF_LINT):
11453         * lib/gl_anylinked_list2.h (gl_linked_iterator)
11454         (gl_linked_iterator_from_to):
11455         * lib/gl_anytree_list2.h (gl_tree_iterator)
11456         (gl_tree_iterator_from_to):
11457         * lib/gl_anytree_oset.h (gl_tree_iterator):
11458         * lib/gl_array_list.c (gl_array_iterator)
11459         (gl_array_iterator_from_to):
11460         * lib/gl_array_oset.c (gl_array_iterator):
11461         * lib/gl_carray_list.c (gl_carray_iterator)
11462         (gl_carray_iterator_from_to):
11463         * lib/idcache.c:
11464         * lib/inet_ntop.c (IF_LINT):
11465         * lib/regcomp.c (build_charclass_op, create_tree):
11466         * lib/regex_internal.c (re_acquire_state)
11467         (re_acquire_state_context):
11468         * lib/trigl.c (rcsid):
11469         * lib/trim.c (IF_LINT):
11470         * lib/vasnprintf.c (IF_LINT):
11471         * lib/verify.h (assume):
11472         Treat GCC_LINT like lint.
11474 2016-05-29  Bruno Haible  <bruno@clisp.org>
11476         secure_getenv: Port to many more platforms.
11477         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11478         functions.
11479         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11480         for non-BSD Unix platforms and for native Windows.
11481         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11482         Prompted by a request from Nikos Mavrogiannopoulos.
11484 2016-05-27  Eric Blake  <eblake@redhat.com>
11486         canonicalize: Fix broken probe for realpath.
11487         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11488         in logic introduced in 54615b95.
11490 2016-05-26  Eric Blake  <eblake@redhat.com>
11492         unsetenv: relax to LGPLv2+
11493         * modules/unsetenv (License): Match setenv license.
11495 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11497         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11498         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11499         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11500         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11501         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11502         (generate_html, generate_info, generate_tex, outdir)
11503         (source_extra, split, srcfile, texarg): Move above 'version'.
11504         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11506 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11508         manywarnings: update for GCC 6.1
11509         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11510         Add GCC 6.1 options that apply to C.
11511         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11512         do not apply to C, are obsolescent, etc.
11514 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11516         glob: size_t overflow checks
11517         * lib/glob.c (__has_builtin): New macro.
11518         (size_add_wrapv, glob_use_alloca): New static functions.
11519         (glob, glob_in_dir): Check for size_t overflow in several places,
11520         and fix some size_t checks that were not quite right.
11522         glob: don't assume INT_MAX < SIZE_MAX
11523         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11524         latter is not portable to (probably theoretical) hosts where
11525         SIZE_MAX <= INT_MAX.
11527 2016-05-09  Bruno Haible  <bruno@clisp.org>
11529         Fix undefined behaviour in gettext.h.
11530         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11531         pointer's value after the storage it points to has been freed.
11532         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11533         Spotted by Coverity.
11535 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11537         git-version-gen: avoid undefined shift
11538         Problem reported by Mosè Giordano in:
11539         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11540         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11541         with --prefix or --fallback but without a later argument.  While
11542         we're at it, omit unnecessary quotes.
11544 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11546         glob: merge glibc changes into lib/glob.c
11547         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11548         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11549         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11550           struct dirent [BZ #19779]
11551         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11552           callback gl_readdir
11553         2015-10-20 Convert miscellaneous function definitions to prototype style
11554         2015-10-20 Convert 113 more function definitions to prototype style
11555           (files with assertions)
11556         2015-06-12 Fix getlogin_r namespace (bug 18527).
11557         2014-02-10 Use glibc_likely instead __builtin_expect.
11558         2013-10-20 When glob pattern contains a trailing slash match only
11559           directories. Fixes bug 10278.
11560         2013-09-04 glob: silence -Wattribute warnings
11561         2013-06-07 Avoid use of "register" as optimization hint.
11562         2012-09-25 Use size_t instead of int for internal variables in glob
11563           (bug 14621)
11564         2011-07-20 Check for overflows in expressions
11565         2011-05-28 Remove unused variable
11566         2011-05-22 Add a few more alloca size checks
11567         2010-03-27 Whitespace fixes
11568         2010-03-27 Fix one more issue with the glob patch
11569         2010-03-24 Fix glob with empty pattern
11570         2008-05-27 Remove useless more "if" tests before "free"
11571         * modules/glob (Depends-on): Add stdint.
11573 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11575         mktime: port to stricter signed overflow checking
11576         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11577         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11578         instead of merely for INT_MAX * 2.  In practice platforms that
11579         do the latter also do the former.
11580         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11581         (shr): New static function, replacing SHR.  All uses changed.
11582         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11583         and TIME_T_MAX.  All uses changed.
11584         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11585         Use long_int, not time_t.
11586         (long_int_avg): New static function, replacing time_t_avg.
11587         All uses changed.  Round toward positive infinity, as that
11588         generates slightly better code.
11589         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11590         by INT_ADD_WRAPV.
11591         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11592         (convert_time): New static function.
11593         (ranged_convert): Use it
11594         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11595         Use simpler test for loop exit.
11596         (__mktime_internal): Store negative of guessed offset, to simplify
11597         overflow checking.  Remove no-longer-needed test for small time_t
11598         overflows.
11600         mktime: speed up DEBUG_MKTIME benchmarks
11601         Call tzset just once, at the start, rather than for every test
11602         case.  This lets us measure the CPU cost of mktime as opposed to
11603         that of tzset.  This is relevant when TZ is not set and glibc is
11604         being used.  This speeds up tests by a factor of 40 on my Fedora
11605         23 x86-64 platform.
11606         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11607         to call tzset and as a sanity check.  Later on, use localtime_r
11608         instead of localtime.
11610         mktime: resurrect DEBUG_MKTIME testing
11611         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11612         Include <string.h>, for strcmp.
11614         mktime: simplify DEBUG_MKTIME
11615         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11616         Simplify later usage accordingly.
11618         Port mktime_internal offset to unsigned time_t
11619         This avoids some assumptions about wraparound arithmetic on
11620         signed integer overflow.
11621         * lib/mktime-internal.h (mktime_offset_t): New type.
11622         (mktime_internal): Use it in decl.
11623         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11625         * lib/mktime.c (__mktime_internal, localtime_offset):
11626         * lib/timegm.c (timegm): Use it.
11627         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11628         (gl_FUNC_MKTIME): Require it.
11630 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11632         xstrtol: prohibit monstrosities like "1bB"
11633         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11634         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11635         "B" only if the first suffix needs a base.
11636         * tests/test-xstrtol.sh: Test this.
11638 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11640         xstrtod: reinstate setting of *result upon ERANGE
11641         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11642         the returned limits upon ERANGE, so allow and document that.
11644 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11646         xstrtod: modify *result only if no errors
11647         * lib/xstrtod.c (XSTRTOD).
11649 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11651         btowc: document problems in C locale
11652         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11653         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11655 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11657         mktime: improve integer overflow checking
11658         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11659         (WRAPV): Remove; no longer needed.
11660         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11661         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11662         Remove.  Use intprops.h defns instead.
11663         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11664         Use bool for Boolean, for clarity.
11665         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11666         detect integer overflow.
11667         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11669         intprops: check two's complement assumption
11670         Suggested by Eric Blake in:
11671         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11672         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11673         short, int, long, and (if available) long long are two's complement.
11674         * modules/intprops (Depends-on): Add 'verify'.
11676         intprops, mktime, strtol: assume two's complement
11677         These macros were not portable to every conforming C11 ones'
11678         complement platform.  It's not worth the hassle of porting to some
11679         platforms that use ones' complement or signed magnitude, as such
11680         platforms are almost purely theoretical nowadays and porting even
11681         to some of them makes the code harder to review for little
11682         practical benefit.  Problem reported by Florian Weimer in:
11683         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11684         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11685         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11686         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11687         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11688         (TYPE_SIGNED_MAGNITUDE):
11689         Remove.  All uses rewritten to assume two's complement, which is
11690         all we can reasonably test nowadays anyway.
11691         * top/maint.mk (_intprops_names): Remove the removed macros.
11693 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11695         stdint: port to strict C11 left shift
11696         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11697         Pacify clang -Wshift-negative-value, which should be an issue only
11698         on clang setups where stdint.h does not conform to C11 or to C++11.
11699         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11701 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11703         mbrtowc: work around glibc bug#19932
11704         Fix mbrtowc so that it never returns -1 in the C locale,
11705         as this conflicts with a future version of POSIX
11706         http://austingroupbugs.net/view.php?id=663#c2738
11707         and causes problems with GNU grep: http://bugs.gnu.org/23234
11708         See glibc bug 19932:
11709         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11710         * doc/posix-functions/mbrlen.texi (mbrlen):
11711         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11712         Document the glibc bug.
11713         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11714         Include hard-locale.h, locale.h.
11715         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11716         if the bug is possible.
11717         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11718         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11719         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11720         * modules/mbrtowc (Depends-on): Add hard-locale.
11721         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11722         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11723         * tests/test-mbrtowc5.sh: New file.
11725 2016-04-03  Pedro Alves  <palves@redhat.com>
11727         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11728         When gnulib is configured in C++ mode for a system with a working C99
11729         implementation of stdint.h that predates C++11, gnulib ends up
11730         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11731         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11732         MinGW is LLP64.  Instead of trying to detect the right types, detect
11733         good-enough-pre-C++11 stdint.h and in such case define
11734         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11735         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11736         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11737         conforms to C99.  If it does, check whether it hides symbols
11738         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11739         does, define those macros in config.h.
11741 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11743         argp: merge changes from glibc
11744         Among other things, this should fix problems found by a Coverity
11745         scan and reported by Andrei Borzenkov:
11746         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11747         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11748         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11749         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11750         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11751         * lib/argp.h:
11752         Merge changes from glibc.
11753         * tests/test-argp-2.sh: Adjust to match new behavior.
11755 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11757         stddef: support configuring with g++
11758         Problem reported by Ángel González in:
11759         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11760         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11761         Do not define if _GCC_MAX_ALIGN_T is defined.
11763 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11765         test-framework-sh: minor cleanups
11766         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11767         since strictly speaking POSIX requires this.
11768         (setup_): Do not use the variable 'fail', as that makes the
11769         trace output harder to read ('fail' is typically used by
11770         tests to mean the test failed).  Treat // portably.
11771         Check that new directory is not merely a sibling of the tmp dir.
11772         Avoid unnecessary invocation of tr.
11774         test-framework-sh: revert port to NetBSD 7.0
11775         It was a false alarm; I misinterpreted Assaf Gordon's report.
11776         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11777         Restore.
11778         (test_dir_): Adjust to mktempd_ change.
11779         (mktempd_): Restore 2nd arg.  Use -t again.
11780         (base_template_, template_, nx_): Resurrect old code.
11782         Port better to Alpine Linux
11783         Its diff implementation does not support -c, but does support -U3.
11784         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11785         * tests/init.sh (diff_opt_): New var.
11786         (compare_): Prefer diff -U3 to diff -c to plain diff.
11788 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11790         test-framework-sh: port to NetBSD 7.0
11791         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11792         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11793         Remove.  All uses removed.
11794         (test_dir_): Adjust to mktempd_ change.
11795         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11796         (base_template_, template_, nx_): Simplify by hardcoding.
11798 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11800         gitlog-to-changelog: suppress ignored chatter
11801         * build-aux/gitlog-to-changelog: Do not warn about skipping
11802         an SHA if it would have been ignored anyway.
11804 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11806         setlocale: add "sv" to Windows language table
11807         * lib/setlocale.c (language_table) [W32]: Add "sv".
11808         Reported in <https://savannah.gnu.org/bugs/?44588>.
11810 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11812         sys_select: port to new Cygwin
11813         Problem reported by Ken Brown in:
11814         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11815         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11816         diagnostics.
11818 2016-03-17  Jim Meyering  <meyering@fb.com>
11820         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11821         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11822         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11823           test-userspec.c:176:9: error: statement is indented as if it were \
11824             guarded by... [-Werror=misleading-indentation]
11825                    {
11826                    ^
11827           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11828                  if (!diag && !T[i].result)
11829                  ^~
11831 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11833         time_rz: port to clang -Wunused-const-variable
11834         * lib/time_rz.c (TZ): Remove.  All uses removed.
11836         std-gnu11: improve clang support
11837         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11838         2016-03-15 Also try clang
11839         2016-03-15 Port C11 and C++11 testing to clang
11841         select: port more to Intel 2016.1.150 compiler
11842         Problem reported by Balázs Hajgató in:
11843         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11844         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11846 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11848         select: try to port to 2016.1.150 compiler
11849         Problem reported by Balázs Hajgató in:
11850         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11851         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11852         POSIX specifies 'restrict'.
11854 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11856         localename-tests: memory allocation fixes
11857         * tests/test-localename.c (test_locale_name)
11858         (test_locale_name_thread): Don't call freelocale on a locale
11859         that was the base of a successful newlocale, as that
11860         results in a double free.  Problem reported by Assaf Gordon.
11861         (test_locale_name_thread): Free saved names after use, to pacify
11862         gcc -fsanitize=address.
11864 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11866         intprops: make .h file license match module
11867         * lib/intprops.h: Change the license wording to match glibc format.
11868         This is what is in modules/intprops anyway.  See:
11869         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11871 2016-03-08  Eric Blake  <eblake@redhat.com>
11873         acl: fix missing return on Cygwin
11874         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11875         fall off end of function. Fixes http://bugs.gnu.org/22949
11877 2016-03-05  Bruno Haible  <bruno@clisp.org>
11879         extern-inline: port to PGI CC
11880         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11881         keyword 'inline'.
11882         Reported by Adam James Stewart in:
11883         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11885 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11887         signbit: port back to pre-C++11 GCC
11888         * lib/math.in.h (signbit): Do previous change only if
11889         __cplusplus < 201103.  See Jonathan Wakely in:
11890         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11892 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11894         mountlist: recognize autofs-mounted remote file systems, too
11895         Originally reported at: https://bugzilla.redhat.com/1309247
11896         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11897         "-hosts" because it is used by autofs to mount remote file systems.
11899 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11901         signbit: port to C++ with GCC 6
11902         * lib/math.in.h (signbit) [__cplusplus]:
11903         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11904         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11906         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11908         regex: make it closer to libc
11909         Make Idx a signed type, rather than possibly unsigned.
11910         The unsignedness was not really buying us anything, since the code
11911         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11912         it signed allows us to use -1 and -2 with abandon, like libc does,
11913         thus lessening the number of differences between gnulib and libc.
11914         Also, it should help avoid gratuitous warnings like the one
11915         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11916         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11919         regex: merge patches from libc
11921         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11922         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11923         Convert miscellaneous function definitions to prototype style.
11924         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11925         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11926         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11927         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11928         (re_search_internal):
11929         Convert to prototype-style function definition.
11930         Use internal_function for internal functions.
11932 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11934         stdalign: port to older HP and IBM cc
11935         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11936         C compilers, by checking their version numbers.  These version
11937         numbers appear in MariaDB and in Qt code that dates way back and
11938         that conditiionally uses the 'aligned' attribute.
11940 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11942         stdalign: port to clang 3.7.0
11943         Problem reported by Herbert J. Skuhra in:
11944         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11945         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11946         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11947         https://llvm.org/bugs/show_bug.cgi?id=26547
11949 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11951         readdir_r: now obsolescent
11952         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11953         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11955 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11957         misc: port better to gcc -fsanitize=address
11958         Without these patches, ./configure CFLAGS='-fsanitize=address'
11959         would compute incorrect values.  This patch fixes some (but not all)
11960         test failures with recent glibc, with this configuration.
11961         * m4/acl.m4 (gl_ACL_GET_FILE):
11962         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11963         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11964         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11965         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11966         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11967         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11968         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11969         * m4/getline.m4 (gl_FUNC_GETLINE):
11970         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11971         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11972         * m4/regex.m4 (gl_REGEX):
11973         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11974         * tests/test-calloc-gnu.c (main):
11975         * tests/test-duplocale.c (main):
11976         * tests/test-getgroups.c (main):
11977         * tests/test-getline.c (main):
11978         * tests/test-inttostr.c (main):
11979         * tests/test-localename.c (test_locale_name)
11980         (test_locale_name_thread, test_locale_name_environ)
11981         (test_locale_name_default):
11982         * tests/test-regex.c (main):
11983         * tests/test-setlocale1.c (main):
11984         * tests/test-stat.h (test_stat_func):
11985         Free heap-allocated storage before exiting.
11986         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11987         Don't match *_foo symbols inserted by AddressSanitizer.
11988         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11990 2016-02-02  Jim Meyering  <meyering@fb.com>
11992         verify-tests: also remove stray test-verify.Tpo
11993         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11994         to remove the test-verify.Tpo file that is left behind by
11995         the automake-generated rule upon compilation failure.
11996         Otherwise, that .Tpo file would cause a failed "make distcheck"
11997         at least for grep.
11999 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
12001         std-gnu11: new module
12002         This makes it easier for applications to prefer C11 and C++11
12003         to older variants, when compiling C and C++ code.
12004         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
12005         a nontrivial chunk of GPLed Autoconf source code.
12006         * COPYING: Mention the m4/*.m4 copyright situation.
12007         * MODULES.html.sh (std-gnu11): New module.
12008         * m4/std-gnu11.m4, modules/std-gnu11: New files.
12010 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
12012         get-permissions, strftime: fix grammar in comments
12013         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
12014         some grammar fixes Alan Mackenzie made to GNU Emacs.
12016 2016-01-25  Daiki Ueno  <ueno@gnu.org>
12018         gettext: mark as obsolete
12019         Suggested by Paul Eggert in:
12020         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
12021         * modules/gettext (Status): Mark as obsolete.
12022         (Notice): Suggest to use 'gettext-h' instead.
12023         * modules/gettext-h (Description): Suggest GNU gettext, instead of
12024         the 'gettext' module.
12026 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12028         gnulib-tool: don't give up on ln -s so easily
12029         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
12030         because an earlier one failed.  The targets could be on different
12031         file systems.  Problem reported by KO Myung-Hun in:
12032         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
12034         closedir: fix OS/2-related typos
12035         Problem reported by KO Myung-Hun in:
12036         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
12037         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
12038         in the last couple of changes.
12040 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
12042         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
12043         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
12044         copying a directory.
12046 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12048         regex: treat [x] as x if x is a unibyte encoding error
12049         Problem reported by Aharon Robbins in:
12050         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
12051         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
12052         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
12054         closedir, dirfd, opendir: port to OpenSolaris 5.10
12055         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
12056         * m4/dirfd.m4 (gl_FUNC_DIRFD):
12057         * m4/opendir.m4 (gl_FUNC_OPENDIR):
12058         Don't use ${word##pat} substitution, as it doesn't work in
12059         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
12060         http://bugs.gnu.org/22443#11
12062 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12064         bootstrap: use American spelling
12065         * build-aux/bootstrap: Honor American spelling.
12067 2016-01-22  Karl Berry  <karl@freefriends.org>
12069         * doc/posix-functions/localtime.texi,
12070         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
12072 2016-01-21  Bruno Haible  <bruno@clisp.org>
12074         hash-pjw-bare: fix comment
12075         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
12077         wcwidth: Replace also on OpenBSD 5.8
12078         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
12079         * doc/posix-functions/wcwidth.texi: Update.
12081 2016-01-20  Pádraig Brady  <P@draigBrady.com>
12083         gnu-web-doc-update: fix addition of new files
12084         If there were already added (emnpty) dirs,
12085         then cvs aborts the add with the message:
12086           cvs [add aborted]: there is a version in <./dirname> already
12087         * build-aux/gnu-web-doc-update: Add directories separately
12088         to the addition of files, to avoid the above issue
12089         impacting the addition of files.
12091 2016-01-19  Daiki Ueno  <ueno@gnu.org>
12093         utimens-tests: avoid pulling gettext .m4 files
12094         Although this is not the right fix to the original problem:
12095         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
12096         it makes it possible again for consumer projects to use arbitrary
12097         version of gettext, through the steps described at:
12098         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
12099         See here for details:
12100         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
12101         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
12102         'gettext'.
12103         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
12104         'gettext'.
12106 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12108         regex: pacify static checkers
12109         Problem and draft fix reported by Aharon Robbins in:
12110         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12111         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
12112         Clear memory to pacify static checkers.
12114         regex: fix [ diagnostic
12115         Problem and fix reported by Aharon Robbins in:
12116         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12117         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
12119         regex: fix memory leaks
12120         Problem and draft fix reported by Aharon Robbins in:
12121         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12122         * lib/regcomp.c (build_range_exp, build_charclass_op)
12123         * lib/regex_internal.c (re_dfa_add_node):
12124         Fix memory leak on failure.
12126 2016-01-18  Pádraig Brady  <P@draigBrady.com>
12128         fts: don't unconditionally use leaf optimization for NFS
12129         NFS st_nlink are not accurate on all implementations,
12130         leading to aborts() if that assumption is made.
12131         See <https://bugzilla.redhat.com/1299169>
12132         * lib/fts.c (leaf_optimization_applies): Remove NFS from
12133         the white list, and document the issue.
12135 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12136             KO Myung-Hun  <komh@chollian.net>
12138         gnulib-tool: don't assume ln -s works
12139         * gnulib-tool (func_ln_s): New function.
12140         (func_ln): Use it.
12142 2016-01-15  KO Myung-Hun  <komh@chollian.net>
12144         utimes: detect utimes() correctly on OS/2 kLIBC
12145         utimes() of OS/2 kLIBC has some limitations.
12146         1. OS/2 itself supports a file date since 1980 year in local time.
12147         2. OS/2 itself supports only even seconds for a file time.
12148         3. utimes() of OS/2 kLIBC does not work on an opened file.
12149         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
12150         * doc/posix-functions/utimes.texi: Document the above limitations of
12151         utimes() on OS/2 kLIBC.
12153 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12154             KO Myung-Hun  <komh@chollian.net>
12156         openat_proc_name: port to OS/2 kLIBC
12157         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
12158         instead of /proc/self/fd.
12159         * lib/openat-proc.c (openat_proc_name):
12160         Don't assume file name length is less than INT_MAX.
12161         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
12163 2016-01-14  KO Myung-Hun  <komh@chollian.net>
12165         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
12166         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
12167         definitions of intptr_t and uintptr_t (which use int and unsigned)
12168         to avoid clashes with declarations of system functions like sbrk.
12169         * lib/stdint.in.h (intptr_t, uintptr_t): Check
12170         _INTPTR_T_DECLARED before defining them.
12172         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
12173         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
12174         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
12175         Declare on kLIBC.
12176         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
12177         fd associated with dirp.
12178         (_gl_register_dirp_fd): New. Register fd associated with dirp to
12179         dirp_fd_list.
12180         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
12181         (dirfd): Implemented for kLIBC.
12182         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
12183         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
12184         succeeds.
12185         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
12186         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12187         (REPLACE_DIRFD): Define to 1 if replaced.
12188         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
12189         * modules/closedir (Depends-on): Add dirfd.
12190         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
12191         condition.
12192         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
12193         * modules/opendir (Depends-on): Add dirfd.
12195         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
12196         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
12197         * lib/dup.c (dup_nothrow): New.
12198         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
12199         (klibc_dup2): New.
12200         * lib/fcntl.c (klibc_fcntl): New.
12201         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
12202         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
12203         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
12204         fd.
12206         pipe_filter_ii_execute: port to OS/2 kLIBC
12207         Pipes on kLIBC do not support O_NONBLOCK like Win32.
12208         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
12209         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
12210         Reuse Win32 code on OS/2 kLIBC.
12211         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
12212         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
12214         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
12215         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
12216         static inline function.  The implementation of wcwidth in wcwidth.c
12217         causes a "conflicting types" error.
12218         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
12220         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
12221         spawn() on OS/2 kLIBC is not silly like one on Windows
12222         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
12223         empty string on OS/2 kLIBC.
12225         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
12226         On OS/2 kLIBC, select() works only on sockets.
12227         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
12229         binary-io: don't put fd in binary mode if it is a console on EMX
12230         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
12231         a console on EMX.
12233 2016-01-15  Pádraig Brady  <P@draigBrady.com>
12235         doc: mention unfixed issues with unsupported localtime() values
12236         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
12237         returns nonsense for localtime(2^56).
12238         * doc/posix-functions/localtime_r.texi: Likewise.
12240 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12242         doc: mention setlocale() issues on OpenBSD
12243         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
12244         never fails, and the need to check categories individually.
12246 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12248         sig2str: list all signals on FreeBSD >= 7
12249         FreeBSD >= 7 is contravening POSIX by not defining NSIG
12250         to the maximal statically defined signal value.
12251         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
12252         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
12253         where available, even when NSIG is defined.
12255 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
12257         acl-permissions: port to USE_ACL==0 platforms
12258         I ran into this problem when building bleeding-edge GNU Emacs
12259         with gcc -fsanitize=address on Fedora 23.  On this platform
12260         the ACL library does not pass the 'configure' test and Emacs
12261         then does not build due in part to what appear to be typos in the
12262         ACL part of Gnulib.
12263         * lib/acl-internal.c (free_permission_context):
12264         * lib/acl-internal.h (struct permission_context):
12265         Test whether USE_ACL is nonzero, not whether it is defined.
12267 2016-01-12  Martin Sebor  <msebor@redhat.com>
12269         mktime: rename macro to avoid glibc clash
12270         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
12271         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
12273 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12275         Port "$@" to OpenIndiana ksh93
12276         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
12277         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
12278         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
12279         bug long-dead shells, so remove the workaround.
12280         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
12281         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12282         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
12283         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
12284         Use "$@" instead of ${1+"$@"}.
12286         Port Universal Time settings to strict POSIX
12287         * build-aux/announce-gen, build-aux/bootstrap:
12288         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
12289         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12290         * build-aux/gnupload, build-aux/mkinstalldirs:
12291         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
12292         * build-aux/update-copyright, build-aux/useless-if-before-free:
12293         * build-aux/vc-list-files, tests/test-strftime.c:
12294         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
12295         but POSIX says the behavior of TZ="UTC" is undefined.
12297 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
12299         msvc-inval: fix problem with unset shell var
12300         Problem reported by Karl Berry in:
12301         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
12302         * modules/msvc-inval (Depends-on):
12303         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
12304         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
12306 2016-01-01  Pádraig Brady  <P@draigBrady.com>
12308         tests: for compare_(), use cmp -s where available
12309         * tests/init.sh (compare_): Only fall back to cmp without
12310         the POSIX defined -s option, where this is not available.
12312 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12314         version-etc: new year
12315         * build-aux/gendocs.sh (version):
12316         * doc/gendocs_template:
12317         * doc/gendocs_template_min:
12318         * doc/gnulib.texi:
12319         * lib/version-etc.c (COPYRIGHT_YEAR):
12320         Update copyright dates by hand in templates and the like.
12321         * all files: Run 'make update-copyright'.
12323 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
12325         human: fix output buffer overrun by 1
12326         * lib/human.c (human_readable): Fix off-by-one typo in buffer
12327         calculation that could lead to a one-byte buffer overrun.
12329 2015-12-28  Daiki Ueno  <ueno@gnu.org>
12331         maint: fix operator precedence in mbrtowc test
12332         This is a fix for test breakage introduced by commit 45228d96; the
12333         equality expression must be parenthesized when negated with '!',
12334         otherwise we always get:
12336           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
12338         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
12339         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12341 2015-12-23  James Youngman  <jay@gnu.org>
12343         regexprops-generic: update from regex.h
12344         * doc/regexprops-generic.texi: update by running the regexprops binary
12345         from findutils (the command line is 'regexprops "Regular Expressions"
12346         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
12347         gnulib with GNU grep had made this document out-of-date.
12349 2015-12-23  Pádraig Brady  <P@draigBrady.com>
12351         strftime-tests: avoid false failure on OS X
12352         * tests/test-strftime.c (struct localtime_rz_test): Add an
12353         ahistorical member which is used to warn rather than fail
12354         when tm_isdst isn't set for such entries.  This is the case for
12355         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
12357 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
12359         fts: ensure leaf optimization is used for NFS
12360         NFS provides usable dirent.d_type but not necessarily for all entries
12361         of large directories.  See <https://bugzilla.redhat.com/1252549>
12362         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
12364 2015-12-20  Pádraig Brady  <P@draigBrady.com>
12366         fts: enable leaf optimization for XFS
12367         XFS provides usable dirent.d_type only for DT_DIR,
12368         but the noleaf optimization still applies.
12369         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
12371 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12373         intprops: comment fix
12374         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
12375         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
12377         intprops-test: work around GCC bug 68971
12378         Problem reported by Pádraig Brady in:
12379         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
12380         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
12381         (main): Add a case that better tests 64-bit long in this area.
12383 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
12385         gnulib-tool: allow multiple --local-dir usage
12386         * gnulib-tool: Use --local-dir to construct compound
12387         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
12388         PATH_SEPARATOR early.
12389         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
12390         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
12391         func_determine_path_separator because that needs to be detected
12392         earlier now.
12393         (func_determine_path_separator): New function.
12394         (func_path_foreach, func_path_foreach_inner): New functions.
12395         (func_path_prepend, func_path_append): Likewise.
12396         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
12397         (func_lookup_file, func_all_modules): Use new functions to work
12398         with local_gnulib_path.
12399         (func_modules_in_dir, func_exists_module): New callbacks for
12400         func_path_foreach.
12401         (func_exists_module, func_get_tests_module): Likewise.
12402         (func_is_local_file, func_should_symlink): New helper methods.
12403         (func_add_file, func_update_file): Use new func_should_symlink
12404         instead, DRY.
12405         (func_reconstruct_cached_local_gnulib_path): New helper.
12406         (func_reconstruct_cached_dir): New callback.
12407         (func_import): The cached_local_gnulib_dir renamed to
12408         cached_local_gnulib_path similarly to local_gnulib_dir.
12409         Use new func_reconstruct_cached_local_gnulib_path.
12410         (func_count_relative_local_gnulib_path): New sub-method.
12411         (func_create_testdir): Use func_should_symlink, DRY.
12412         (func_create_megatestdir): Use new functions to work with
12413         local_gnulib_path correctly.
12414         (func_append_local_dir): New helper.
12416 2015-12-08  Pádraig Brady  <P@draigBrady.com>
12418         fix freadptr to work with ungetc on all uClibc configs
12419         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
12420         where GNU coreutils cut(1) generates invalid output on uClibc
12421         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
12422         * lib/freadptr.c (freadptr): Return NULL if there are
12423         ungotten chars.  In this case freadseek() will iterate
12424         again to process the ungotten character.
12426 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12428         xalloc-oversized: improve performance with GCC 5
12429         * lib/xalloc-oversized.h (xalloc_oversized):
12430         Improve performance with GCC 5 by using __builtin_mul_overflow.
12432 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12434         intprops: new public macro EXPR_SIGNED
12435         Emacs can use this macro, so make it public.
12436         * doc/intprops.texi (Arithmetic Type Properties): Rename from
12437         'Integer Type Determination', since some of these macros apply
12438         to non-integer types.  Clarify what kinds of constant expressions
12439         these macros return.  Say when the arguments can be non-integers.
12440         Mention newly published macro EXPR_SIGNED.
12441         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
12442         make it public.  All uses changed.
12444         intprops: fix typo in clang port
12445         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
12446         '__builtin_add_overflow' that is not caught by compiler.
12448 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12450         test-timespec: fix typo in previous change
12451         * tests/test-timespec.c (main): Fix typo that reduced test quality.
12453         timespec-sub: fix overflow bug; add tests
12454         * lib/timespec-add.c (timespec_add):
12455         * lib/timespec-sub.c (timespec_sub):
12456         Work even if time_t is narrower than int (a theoretical
12457         possibility).  Redo code for a bit more clarity.
12458         * lib/timespec-sub.c (timespec_sub):
12459         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
12460         * modules/timespec-tests, tests/test-timespec.c: New files.
12462         intprops-test: suppress -Woverlength-strings
12463         Problem reported by Pádraig Brady in:
12464         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
12465         It is not worth the hassle to port this test to compilers that
12466         cannot handle long strings in diagnostics.
12467         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
12469 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12471         quotearg: add quotearg_n_style_colon()
12472         This quotes with default options of the specified style,
12473         but with quoting enabled for instances of ':'.
12474         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12475         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12477 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12479         intprops: revise _WRAPV macros, revert _OVERFLOW
12480         The incompatible changes to the _OVERFLOW macros were too much of
12481         a hassle in practice, so revert them.  Instead, change the new
12482         _WRAPV macros to make them closer in behavior to GCC 5's new
12483         builtin_add_overflow etc. functions.  No other software was using
12484         these newly-added macros yet, so this should be OK.
12485         * NEWS: Revert previous change, since the incompatible change
12486         has been reverted, and nobody used the incompatible version.
12487         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12488         Document revised behavior.
12489         (Integer Range Overflow): Adjust example to match above revisions.
12490         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12491         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12492         these can be used in integer constant expressions again.
12493         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12494         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12495         needed.
12496         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12497         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12498         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12499         Remove, as they did not seem that useful.
12500         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12501         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12502         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12503         Support new semantics.
12504         (__has_builtin): New macro, if not alreay defined.
12505         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12506         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12507         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12508         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12509         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12510         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12511         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12512         New macros.
12513         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12515 2015-11-03  Jim Meyering  <meyering@fb.com>
12517         intprops: add parentheses for when OP has precedence lower than "-"
12518         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12519         "a OP b" must be parenthesized for when OP is like "<<", which has
12520         lower precedence than the following "-". Reported by Pádraig Brady.
12522 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12524         quotearg: constify get_quoting_style parameters
12525         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12526         * lib/quotearg.c (get_quoting_style): Likewise.
12528 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12530         quotearg: add support for $'' shell escaping
12531         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12532         items and descriptions.
12533         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12534         above types by quoting like "shell", but using $'...' syntax
12535         for non printable characters, which should provide unambiguous
12536         printable output for any input.
12537         * tests/test-quotearg-simple.c: Update accordingly.
12539 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12541         maint: use a more standard return from mbrtowc test
12542         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12543         from the test program as this is non standard and often
12544         indicates an unhandled case in the test program.
12545         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12547 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12549         intprops: add WRAPV and const flavors for GCC 5
12550         If available, use GCC 5's builtin functions for efficient integer
12551         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12552         and safely compute the low-order bits of the correct answer.
12553         A downside of these efficient functions is that they cannot be
12554         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12555         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12556         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12557         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12558         Document the changes.
12559         (Wraparound Arithmetic): New section.
12560         (Integer Range Overflow):
12561         Put this subsection last, since it's least useful.
12562         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12563         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12564         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12565         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12566         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12567         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12568         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12569         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12570         New macros.
12571         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12572         Generate calls to GCC builtins if available, for speed.
12573         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12574         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12575         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12576         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12577         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12578         (CHECK_QUOTIENT, CHECK_REMAINDER):
12579         Test WRAPV and CONST flavors (when available) too.
12581 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12583         doc: use extended timezone format in iso-8601 example
12584         * doc/parse-datetime.texi: The standard states that extended format
12585         is to be used consistently throughout.
12586         Note that lib/parse-datetime.y can handle either tz format.
12588 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12590         stdalign: port to Sun C 5.9
12591         * doc/posix-headers/stdalign.texi: Document this.
12592         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12593         __attribute__ ((__aligned__ (...))).
12595 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12597         time_rz: fix comment about tzalloc
12598         * lib/time_rz.c (tzalloc): Fix comment.
12600 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12602         stdalign: work around pre-4.9 GCC x86 bug
12603         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12604         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12605         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12607 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12609         maint.mk: sc_tight_scope: remove extraneous expressions
12610         * top/maint.mk (tight_scope): This is not really required since
12611         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12612         that matches all nm entries.  But it does remove extraneous entries
12613         that may be confusing or cause issue in future maintenance.
12615 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12617         time_rz: return NULL if localtime_r fails
12618         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12619         while still attempting to pacify bleeding-edge GCC.
12621         fts: port to C11 alignof
12622         * doc/posix-headers/stdalign.texi (stdalign.h):
12623         Document the C11 restriction.
12624         * lib/fts.c: Include stddef.h, for max_align_t.
12625         (fts_alloc): Align using max_align_t, not FTSENT.
12626         * modules/fts (Depends-on): Add stddef.
12628 2015-10-18  Jim Meyering  <meyering@fb.com>
12630         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12631         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12632         would see this:
12634         lib/time_rz.c: In function 'localtime_rz':
12635         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12636           [-Werror=nonnull]
12637                    if (tm && !save_abbr (tz, tm))
12638                        ^
12640         That was complaining about "tm" because it is a parameter that was
12641         declared with the __nonnull__ attribute.
12642         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12643         result of localtime_r.
12645 2015-10-17  Jim Meyering  <meyering@fb.com>
12647         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12648         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12649         name-extraction regexp mistakenly used \S+, and would mistakenly
12650         extract "*F" from "extern int *F()" rather than the desired "F".
12651         Use \w+ instead.
12653 2015-10-17  Jim Meyering  <meyering@fb.com>
12655         maint.mk: sc_tight_scope: factor and support OS X
12656         * top/maint.mk (_gl_tight_scope): Address three issues:
12657         - factor out four instances of code that wraps a string in "^...$"
12658         - allow nm-reported symbol names to have an optional leading "_"
12659         - add "main" to the list of ignored variable names, because on os x,
12660         "main" has nm-reported type "S" in the variable-checking section.
12662 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12664         safe-alloc-tests: fix typo in license header
12665         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12667 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12669         copy-file: fix mem leak in error case
12670         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12671         upon error opening or performing I/O to the src and dest files.
12673 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12675         localename: control langinfo.h inclusion
12676         This header is only used to work around buggy behavior in old
12677         versions of glibc, so do not include it all the time.  Otherwise
12678         we get build failures on systems that do not provide langinfo.h.
12679         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12680         in the source later on.
12681         The patch was originally submitted to gettext as:
12682         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12684 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12686         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12687         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12688         * lib/u64.c, lib/unistd.c:
12689         Append 'typedef int dummy;', to pacify compilers that are picky
12690         about empty translation units.
12692 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12694         accept4-tests: fix to avoid non portable flags
12695         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12696         as they are the only documented ones, and passing others may trigger
12697         EINVAL (seen on FreeBSD 10.1-RELEASE).
12698         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12699         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12701 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12703         gnulib-tool: fix tests of 'extensions' module
12704         This complements f8fe25fab60e3c687a124 commit.
12705         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12706         emitting of initial gl_EARLY macros.
12707         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12708         replaced with func_emit_pre_early_macros call.
12710 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12712         unicase/locale-language: fix typo in utf-8 cookie
12713         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12714         Problem reported by Zbigniew Jędrzejewski-Szmek.
12716 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12718         xalloc: do not worry about GCC 5 warning on 32 bit
12719         * lib/xalloc.h: Revert previous change.
12720         I found a better way to fix this in coreutils.
12722 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12724         xalloc: avoid GCC 5.1 warning on 32 bit
12725         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12726         xalloc_oversized(), which was seen to give this warning
12727         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12728         when simplifying conditional".
12730 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12732         uniname/uniname-tests: avoid compiler warnings
12733         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12734         unused local variables.
12735         (test_alias_lookup): Fix alias name display in failure cases.
12737 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12739         c-ctype: do not worry about EBCDIC + char signed
12740         Drop support for EBCDIC with char being signed, as this breaks too
12741         many programs.  Problem reported by Ben Pfaff in:
12742         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12743         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12744         char being signed.
12745         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12746         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12747         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12748         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12749         * tests/test-c-ctype.c (test_all):
12750         Simplify by assuming standard char values cannot be negative.
12751         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12753 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12755         c-ctype: port better to z/OS EBCDIC
12756         Problems reported by Daniel Richard G. in:
12757         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12758         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12759         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12760         (_C_CTYPE_OTHER_CNTRL): New macro.
12761         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12762         from SCHAR_MIN, as the functions are defined only from values
12763         promoted from char or from unsigned char, not necessarily from
12764         signed char.
12766 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12768         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12770         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12771         and ARFLAGS variables.  Doing this unconditionally could break
12772         later Automake's AM_PROG_AR invocation (at least it's
12773         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12775         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12776         Amsterdam Compiler Kit, so make the previous code to have effects
12777         only on ACK, and rather automatically call the Automake's
12778         AM_PROG_AR as soon as possible to decide other cases.
12780         References:
12781         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12783         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12784         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12785         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12786         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12787         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12788         'extensions' module is used.
12789         * modules/extensions (configure.ac-early): Remove as this snippet
12790         is added to gnulib-comp.m4 earlier anyway.
12792 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12794         sockets: MS Windows initalization fixes
12795         Problem reported by Test User in:
12796         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12797         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12798         Correct the endianness.
12799         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12800         number mismatch, not just on <.  Cleanup before any such failure.
12802 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12804         gc: fix detection of installed libgcrypt version
12805         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12806         at least as recent as 1.4.4.  The previously used macro is not
12807         available now, since modules were removed in version 1.6.0.
12809 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12811         c-ctype: rewrite to use inline functions
12812         This simplifies maintenance, since it makes for just one
12813         implementation of each function, letting the compiler have the fun
12814         of optimization.  In practice this works well nowadays with GCC.
12815         E.g., c_isascii might need only three instructions even though the
12816         source code lists every ASCII character individually in a large
12817         switch statement.
12818         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12819         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12820         * NEWS: Document the API change.
12821         * lib/c-ctype.c: Drastically simplify, since this now just expands
12822         inline functions.
12823         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12824         (C_CTYPE_INLINE): New macro.
12825         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12826         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12827         Verify that either ASCII or EBCDIC is being used.
12828         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12829         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12830         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12831         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12832         New private macros.
12833         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12834         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12835         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12836         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12837         (c_tolower, c_toupper): When converting, return the unsigned char,
12838         as that is what z/OS does.
12839         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12840         of some c-ctype.h macros.
12841         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12842         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12843         c_tolower promotion to be compatible with z/OS.
12845 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12847         gitlog-to-changelog: trim only trailing whitespaces
12848         This is fix for --format regression introduced by commit
12849         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12850         doubled %n string) had no effect anymore.  This format
12851         specification has been used e.g. by GNU paxuitils (commit
12852         edfd8bcc3).
12854         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12855         newlines in commmit messages.
12857 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12859         Test that c_iscntrl agrees with iscntrl, etc.
12860         Suggested by Daniel Richard G. in:
12861         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12862         * modules/c-ctype-tests (Depends-on): Add ctype.
12863         * tests/test-c-ctype.c: Include <ctype.h>.
12864         (NCHARS): New constant.
12865         (test_agree_with_C_locale): New function.
12866         (main): Use it.
12867         (test_all): Use named constants.
12869         c-ctype: improve c_isascii testing
12870         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12871         Add a test to count the number of ASCII characters.
12873 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12875         savewd: remove SAVEWD_CHDIR_READABLE
12876         It was problematic in the light of file systems that ignore umask.
12877         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12878         * NEWS: Document this.
12879         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12880         successful, -1 (setting errno) on failure, rather than something
12881         more complicated than that.
12882         * lib/mkdir-p.c (make_dir_parents):
12883         Do not use SAVEWD_CHDIR_READABLE.
12884         * lib/savewd.c (savewd_chdir):
12885         Remove support for SAVEWD_CHDIR_READABLE.
12886         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12888         c-ctype: port better to EBCDIC
12889         Problems reported by Daniel Richard G. in
12890         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12891         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12892         Include "verify.h".
12893         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12894         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12895         Define as enum constants with value false, if not defined, so that
12896         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12897         code more portable, as both branches of the 'if' are compiled on
12898         all platforms.
12899         (C_CTYPE_EBCDIC): New constant.
12900         Verify that the character set is either ASCII or EBCDIC.
12901         (to_char): New static function.
12902         (c_isascii, c_iscntrl):
12903         Assume standard control-character assignments for EBCDIC.
12904         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12905         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12906         Rewrite to use 'if' instead of 'ifdef'.
12907         Use to_char if non-ASCII.  Prefer <= to >=.
12908         Prefer true and false to 1 and 0, for booleans.
12909         (c_iscntrl): Use 'if', not 'ifdef'.
12910         * modules/c-ctype (Depends-on): Add verify.
12911         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12912         (to_char): New function.
12913         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12915 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12917         nanosleep: fix return code for interrupted replacement
12918         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12919         that we return -1 in the case the call is interrupted by a signal,
12920         rather than the current value of 1.
12921         Diagnosed and tested by Daniel Richard G.
12923 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12925         Diagnose ERE '()|\1'
12926         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12927         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12928         track of the set of previously-completed subexpressions available
12929         before the first alternative, and restore this set just before
12930         parsing each subsequent alternative.  This lets us diagnose the
12931         invalid back-reference in the ERE '()|\1'.
12933         regex: merge patches from libc
12935         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12936         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12937         * lib/regex_internal.h:
12938         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12940         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12941         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12942         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12943         wcscoll.
12944         * lib/regexec.c (check_node_accept_bytes): Likewise.
12946         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12947         Fix regex wcrtomb namespace (bug 18496).
12948         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12949         instead of wcrtomb.
12951         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12952         Fix regex wctype namespace (bug 18495).
12953         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12954         instead of towlower.
12955         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12956         instead of iswlower.  Call __towupper instead of towupper.
12957         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12958         instead of iswalnum.
12960         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12961         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12962         COLL_SYM in a couple of places to avoid uninitialized variable
12963         wanings on tilegx gcc 4.8.2.
12965         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12966         * lib/regex_internal.h: Remove NOT_IN_libc.
12968         2014-11-17  Andreas Schwab  <schwab@suse.de>
12969         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12971         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12972         Move findidx nested functions to top-level.
12973         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12974         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12975         Pass new arguments to findidx.
12976         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12977         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12978         Don't #include it inside the function.  Pass new arguments to findidx.
12979         * lib/regex_internal.h:
12980         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12981         (re_string_elem_size_at): Don't #include it inside the function.
12982         Pass new arguments to findidx.
12984         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12985         Check if DEBUG is defined in regex_internal.c
12986         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12988 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12990         ceill: detect buggy OpenBSD implementation
12991         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12992         which returns zero for small values.  Discussed here:
12993         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12995 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12997         mountlist: add me_mntroot field on Linux machines
12998         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12999         mount_entry so Linux machines based on /proc/self/mountinfo can
13000         distinguish between bind mounts and original mounts.  In reality bind
13001         mounts aren't treated differently than mountroot=/ mounts by the
13002         kernel, but the user often wants these bind mounts distinguished.
13003         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
13004         More details at https://pad.lv/1432871
13006 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
13008         doc: Describe to use multiple instances of gnulib
13009         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
13010         instances of gnulib with different modules can be used, for example one
13011         for a lib and another one for associated tools.
13013 2015-09-01  Pádraig Brady  <P@draigBrady.com>
13015         base32: mark function as __attribute__ const
13016         * lib/base32.h (isbase32): Mark __attribute__ const as
13017         suggested by GCC, and consistent with the base64 module.
13019 2015-08-20  Daiki Ueno  <ueno@gnu.org>
13021         gnulib-tool: don't transform binary files with sed
13022         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
13023         .mo and .class files.
13024         Reported by Denis Denisov.
13026 2015-08-10  Daiki Ueno  <ueno@gnu.org>
13028         gperf: respect silent rules
13029         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
13030         V_GPERF_0 for silent rules.
13031         * modules/iconv_open (Makefile.am): Use V_GPERF.
13032         * modules/unicase/locale-language (Makefile.am): Likewise.
13033         * modules/unicase/special-casing (Makefile.am): Likewise.
13034         * modules/unictype/category-byname (Makefile.am): Likewise.
13035         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
13036         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
13037         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
13038         * modules/unictype/property-byname (Makefile.am): Likewise.
13039         * modules/unictype/scripts (Makefile.am): Likewise.
13040         * modules/uninorm/composition (Makefile.am): Likewise.
13042 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13044         Improve port of stdalign to C++11
13045         Problem reported by Sundaram in:
13046         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
13047         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
13048         (__alignas_is_defined): Define if C++11 or newer.
13050 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
13052         pmccabe2html: fix gawk regex escaping
13053         * build-aux/pmccabe2html: Add one more backslash to properly
13054         escape the gsub replacement value.  Fixes this error:
13055         gawk: ./build-aux/pmccabe2html:425: \
13056         warning: escape sequence `\&' treated as plain `&'
13058 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
13060         time_rz: port to pedantic memcpy
13061         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
13062         that reject memcpy (..., NULL, 0).
13064 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
13066         time_rz: port better to MinGW
13067         Don't change tzname, as this makes MinGW dump core (Bug#21020).
13068         Instead, store the tzname copy in the struct tm_zone object.
13069         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
13070         * lib/strftime.c [!_LIBC]:
13071         * lib/time_rz.c: Include time-internal.h.
13072         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
13073         name from *TZ rather than from TZNAME, doable because *TZ now has
13074         a tzname_copy member.
13075         * lib/time-internal.h: New file, with contents taken from
13076         lib/time_rz.c.  It's separate because strftime.c now accesses
13077         struct tm_zone members.
13078         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13079         New member tzname_copy.
13080         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
13081         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13082         Initialize tzname_copy member.
13083         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
13084         in tzname_copy member.
13085         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
13086         (restore_tzname): Remove; no longer needed.  All calls removed.
13087         * modules/time_rz (Files): Add lib/time-internal.h.
13089         time: port __need_time_t to MinGW
13090         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
13091         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
13093 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13095         strftime: fix newly-introduced bug on Solaris
13096         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
13097         consistently at the start, rather than doing some of the setup at
13098         the start and some in the %Z format spec.  This is cleaner, and
13099         works better with time_rz on platforms like Solaris where struct
13100         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
13101         mktime_z and localtime_rz can mess up the tzname cache.
13103         test-strftime: test for Solaris bug
13104         * modules/strftime-tests (Depends-on): Add strerror.
13105         * tests/test-strftime.c: Include <errno.h>.
13106         (posixtm_test): New function, containing the old 'main'.
13107         (struct tzalloc_test, struct localtime_rz_test): New types.
13108         (TZ, LT): New static vars.
13109         (tzalloc_test): New function.
13110         (main): Rewrite in terms of posixtm_test and tzalloc_test.
13112         time_rz: port to Solaris etc.
13113         Works around a tzname problem on platforms like Solaris that have
13114         tzname but not tm_zone, by setting tzname at the appropriate time
13115         and restoring it later.
13116         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
13117         New static vars.
13118         (save_abbr) [HAVE_TZNAME]: Set them.
13119         (revert_tz) [HAVE_TZNAME]: Clear or use them.
13120         (restore_tzname): New function.
13121         (localtime_rz, mktime_z): Use it.
13123         time_rz: now LGPL
13124         * modules/time_rz (License): Now LGPL, because strftime depends on it.
13126         time_rz: make a constant 'const'
13127         * lib/time_rz.c (local_tz): Now const.
13129         time_rz: fix off-by-one typo
13130         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
13132 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13134         fprintftime, strftime: use timezone_t args
13135         * NEWS: Document the change.
13136         * lib/fprintftime.h (fprintftime):
13137         * lib/strftime.c (extra_args) [my_strftime]:
13138         * lib/strftime.h (nstrftime):
13139         Time zone arg is now of type timezone_t, not int.
13140         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
13141         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
13142         (my_strftime) [emacs && !my_strftime]:
13143         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
13144         Remove; Emacs doesn't need this any more.
13145         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
13146         fprintftime and nstrftime to call tzset.
13147         (ut) [!my_strftime]: Remove, replacing with ...
13148         (tz) [!my_stftime]: ... this new macro.  All uses changed.
13149         (strftime_case_): Use localtime_rz and mktime_z instead
13150         of localtime_r and mktime.
13151         * modules/fprintftime (Depends-on): Add time_rz.
13152         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
13153         * tests/test-strftime.c (main): Adjust to new nstrftime API.
13155         time_rz: new module
13156         * MODULES.html.sh: Add time_rz.
13157         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
13158         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
13159         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
13160         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
13161         New var HAVE_TIMEZONE_T (default 0).
13162         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
13163         New var GNULIB_TIME_RZ (default 0).
13164         * modules/time (time.h): Substitute the new vars.
13166         flexmember: license is now unlimited
13167         * modules/flexmember (License): Change to unlimited,
13168         since its only source file gives an unlimited license.
13170 2015-07-15  Eric Blake  <eblake@redhat.com>
13172         maint: update copyright paper procedures
13173         * config/srclist.txt: Drop outdated files.
13174         * doc/Copyright/conditions.txt: Update to latest.
13175         * doc/Copyright/assign.changes.manual: Delete.
13176         * doc/Copyright/assign.future.manual: Likewise.
13177         * doc/Copyright/assign.manual: Likewise.
13178         * doc/Copyright/assign.translation.manual: Likewise.
13179         * doc/Copyright/disclaim.changes.manual: Likewise.
13180         * doc/Copyright/disclaim.manual: Likewise.
13181         * doc/Copyright/disclaim.program: Likewise.
13183 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13185         localename: fix link error on Illumos
13186         Illumos defines __sun, but does not have getlocalename_l nor the
13187         equivalent.  This partially reverts commit 387c214.
13188         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
13189         available, as well as uselocale.
13190         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
13191         use getlocalename_l if it is not available.
13193 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13195         unistr/uN-strtok-tests: avoid a trivial leak
13196         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
13197         input and delim after the multibyte delimiter tests.
13199 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13201         file-has-acl, acl-permissions: fix HP-UX typos
13202         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
13203         * lib/file-has-acl.c (file_has_acl):
13204         * lib/set-permissions.c (context_acl_from_mode)
13205         (context_aclv_from_mode, set_acls):
13206         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
13207         They were introduced by the recent ACL changes.
13209         regex: match current GNU grep behavior
13210         These symbols have not matched GNU grep behavior for quite some time.
13211         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
13212         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
13213         Change to match current GNU behavior.
13214         Simplify by expressing it as differences from POSIX BREs and EREs.
13215         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
13217 2015-07-03  Jim Meyering  <meyering@fb.com>
13219         set-permissions.c: adjust acl_from_mode's cpp guard
13220         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
13221         directives identical to those guarding the sole use.
13222         Otherwise, on some systems, we'd get a warning about
13223         the function being defined but not used.
13224         Also, filter through cppi to correct misleading indentation
13225         of cpp directives.
13227 2015-07-03  Pádraig Brady  <P@draigBrady.com>
13229         tests: restrict shells to those that support 'local'
13230         The local keyword is very widely supported and used
13231         in tests in coreutils and grep at least.  Therefore
13232         restrict to testing with shells that support it.
13233         This mainly excludes /bin/sh on Solaris.
13234         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
13236 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
13237         and Daiki Ueno  <ueno@gnu.org>
13239         unistr/uN-strtok: handle multibyte delimiters
13240         Previously, uN_strtok moved PTR to the next unit to the token end.
13241         When DELIM contained a multibyte character, the new position could
13242         be a middle of a multibyte character.
13243         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
13244         after the token.
13245         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
13246         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
13247         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
13248         * modules/unistr/u8-strtok (Depends-on): Depend on
13249         unistr/u8-strmblen.
13250         * modules/unistr/u16-strtok (Depends-on): Depend on
13251         unistr/u16-strmblen.
13252         * modules/unistr/u32-strtok (Depends-on): Depend on
13253         unistr/u32-strmblen.
13254         * tests/unistr/test-u-strtok.h: New file.
13255         * tests/unistr/test-u8-strtok.c: New file.
13256         * tests/unistr/test-u16-strtok.c: New file.
13257         * tests/unistr/test-u32-strtok.c: New file.
13258         * modules/unistr/u8-strtok-tests: New file.
13259         * modules/unistr/u32-strtok-tests: New file.
13260         * modules/unistr/u16-strtok-tests: New file.
13262 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
13264         update-copyright: fix test failure with perl >= 5.22 (trivial)
13265         * build-aux/update-copyright: Escape a literal left curly bracket,
13266         required with perl >= 5.22
13268 2015-07-02  Daiki Ueno  <ueno@gnu.org>
13270         u{16,32}-strstr-tests: relax timeout condition
13271         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
13272         tests can take longer than 5 seconds to complete.
13273         Reported by Dagobert Michelsen in:
13274         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
13275         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
13276         seconds to 10 seconds.
13277         * tests/unistr/test-u32-strstr.c (main): Likewise.
13279 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13281         gnulib-common.m4: change the ARFLAGS default to 'cr'
13282         In some GNU/Linux distributions people started to compile 'ar'
13283         binary with --enable-deterministic-archives (binutils project).
13284         That, however, in combination with previous autotools long time
13285         working default AR{_,}FLAGS=cru causes warnings on such
13286         installations:
13287         ar: `u' modifier ignored since `D' is the default (see `U')
13288         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
13289         set already.
13291 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13293         selinux-h: avoid double free after *getfilecon()
13294         Originally reported by Ben Shelton on bug-tar:
13295         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
13296         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
13297         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
13298         param should be freed by freecon(3) (regardless the return value).
13300 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
13302         fix pty related tests issues on Windows (trivial)
13303         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
13304         however it's still present in tests/ subdirectory of the final project.
13305         Therefore avoid it to pass `make check`.
13306         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
13307         will just return -ENOSYS, so avoid this non applicable test allowing
13308         the build to proceed.
13310 2015-07-01  Pádraig Brady  <P@draigBrady.com>
13312         acl: fix definition of acl_from_mode on FreeBSD
13313         This was causing basic coreutils copy operations to fail
13314         with ENOTSUP or ENOENT error messages.
13315         * lib/acl-internal.h (acl_from_mode): Only define when
13316         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
13317         of acl_from_mode() defined in lib/set-permissions.c to
13318         be used on FreeBSD at least.
13319         * lib/set-permissions.c: Fix up comment spelling,
13320         and a redundant variable assignment; noticed in passing.
13322 2015-06-30  Pádraig Brady  <P@draigBrady.com>
13324         readutmp: port to FreeBSD >= 9
13325         * lib/readutmp.h: Map utmpxname() to setutxdb().
13326         With that coreutils who(1) and pinky(1) tests pass.
13328 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13330         mgetgroups: port to strict OS X
13331         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
13332         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
13333         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
13334         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
13336 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
13338         mgetgroups: port to strict OS X
13339         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
13340         Document the getgrouplist problem.
13341         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
13342         New macro.
13343         (mgetgroups): Use it.
13344         * m4/mgetgroups.m4 (gl_MGETGROUPS):
13345         Check for OS X signature for getgrouplist.
13347 2015-06-29  Jim Meyering  <meyering@fb.com>
13349         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
13350         It started like this when building coreutils' latest on OS X,
13351         invoking ./configure with a nonempty --cache=.cache:
13353           lib/linkat.c:46:42: error: operator '||' has no right operand
13354           lib/linkat.c: In function 'rpl_linkat':
13355           lib/linkat.c:330:27: error: #if with no expression
13357         Here's linkat.c's line 46:
13359           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
13361         Here's some context:
13363           $ grep linkat_nofoll .cache
13364           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
13365           $ grep LINKAT_SYM lib/config.h
13366           #define LINKAT_SYMLINK_NOTSUP
13368         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
13369         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
13370         but that violates a tenet of AC_CACHE_CHECK: it must
13371         have no side effect other than setting its cache variable.
13373         What happens is that when the cache is set, we'd skip the
13374         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
13375         defined to whatever value it happened to have in configure's
13376         environment.  In my case, it was not defined, so this later code:
13378           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
13379             [Define to 1 if linkat can create hardlinks to symlinks])
13381         would emit code with an empty RHS.
13383         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
13384         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
13386 2015-06-28  Jim Meyering  <meyering@fb.com>
13388         mountlist: avoid an unused-label warning on OS X
13389         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
13390         Building on OS X, I saw a warning about the "free_then_fail" label
13391         being unused.  Give it the _GL_UNUSED_LABEL attribute.
13393         error.c: correct printf-style format: %d -> %u
13394         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
13395         rather than %d, to match the type of "line_number", unsigned int.
13397 2015-06-25  Pádraig Brady  <P@draigBrady.com>
13399         fts: avoid reading beyond the heap allocation
13400         GCC 5.1.1 with -O2 and -fsanitize=address reports
13401         a read of size 4 from a heap object of size 3 is indeed invalid,
13402         though this may be due to incorrect padding assumptions by GCC, see:
13403         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
13404         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
13405         * modules/fts: Depend on stdalign.
13407 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13409         savedir: avoid undefined behavior in qsort call
13410         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13411         "runtime error: null pointer passed as argument 1,
13412          which is declared to never be null"
13413         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
13415 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13417         userspec: avoid undefined behavior in gettext call
13418         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13419         "runtime error: null pointer passed as argument 2,
13420          which is declared to never be null"
13421         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
13423 2015-06-20  Glenn Morris  <rgm@gnu.org>
13425         gitlog-to-changelog: improve gitmerge.el commits
13426         Let the Emacs ChangeLog generation process exclude "skipped"
13427         messages from merge commits (Bug#20717).
13428         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
13430 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13432         wchar: fix MinGW compilation warnings
13433         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
13434         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
13435         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
13437 2015-06-20  Daiki Ueno  <ueno@gnu.org>
13439         uniname/uniname-tests: use pristine data files
13440         For copyright and maintenance reasons, use the data files from UCD
13441         without modification.
13442         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
13443         (getfield): Remove.
13444         (aliases_count): New global variable.
13445         (fill_names): Skip comments and empty lines in the input.  Don't
13446         use getfield.
13447         (fill_aliases): Likewise.
13448         (main): Change the expected command line arguments to:
13449         NAMES... ["--" ALIASES...].
13450         * tests/uniname/test-uninames.sh: Adjust to the change in
13451         test-uninames.c.
13452         * tests/uniname/UnicodeDataNames.txt: Remove.
13453         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
13454         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
13455         file from Unicode 8.0.0.
13457 2015-06-19  Pádraig Brady  <P@draigBrady.com>
13459         linked-list, linkedhash-list: avoid compiler warnings
13460         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13461         -Werror=suggest-attribute=pure (from GCC 5.1.1).
13463 2015-06-19  Daiki Ueno  <ueno@gnu.org>
13465         libunistring: bump minimum version to 0.9.6
13466         * all modules depending on updated Unicode data: Regenerate.
13467         The modules are listed by a script that does:
13468         - for each file listed by: git show --oneline --name-only 705f4efc
13469           - deduce the containing modules, based on "Files:"
13470         - deduce the modules which depend on the containing modules, based
13471           on "Depends-on:"
13473 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13475         uniname/uniname: update to Unicode 8.0.0
13476         * lib/uniname/uninames.h: Regenerate.
13477         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13478         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13480 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13482         libunistring: update to Unicode 8.0.0
13483         * lib/gen-uni-tables.c (SIZEOF): New macro.
13484         (output_numeric): Increase the maximum number of fractions from
13485         128 to 160.  Increase the level3 value width from 7 bits to 8
13486         bits.  Use SIZEOF instead of a hard-coded integer.
13487         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13488         0x28000.
13489         (fill_blocks): Increase the maximum number of blocks from 256 to
13490         384.  Use SIZEOF instead of a hard-coded integer.
13491         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13492         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13493         value width.
13494         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13495         a new case added to LBP22.
13496         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13497         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13498         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13499         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13500         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13501         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13502         lib/uniwidth/width.c.
13503         * all generated files under lib/uni* and tests/uni*: Regenerate.
13505 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13507         gnu-web-doc-update: add --mirror to remove stale files
13508         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13509         out of date files from the CVS server.  Since this is usually
13510         appropriate, a prompt is given when the option is not specified,
13511         along with the `cvs remove` command that would be run.
13513 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13515         acl-permissions: pacify -Wsuggest-attribute=const
13516         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13517         * lib/acl-internal.h (free_permission_context):
13518         Declare with attribute const if ! (defined USE_ACL &&
13519         (HAVE_ACL_GET_FILE || defined GETACL)).
13521         fsync: document AIX misbehavior
13522         * doc/posix-functions/fsync.texi (fsync):
13523         Document failure on AIX with read-only file descriptor.
13525 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13527         stdio: Don't redefine gets when using C++
13528         * lib/stdio.in.h (gets): Disable warning on C++.
13530 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13532         acl-permissions: port to AIX, C89 HP-UX
13533         Problems reported by Michael Felt.
13534         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13535         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13536         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13537         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13538         Add cast for AIX, whose system calls are declared to accept
13539         char * even though the arguments are really char const *.
13540         * lib/get-permissions.c (get_permissions):
13541         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13542         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13543         that broke a build.
13544         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13545         Rework types to pacify xlc.
13547 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13549         vasprintf-posix: avoid compiling vasnprintf where possible
13550         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13551         module where not required.  For example on a GNU/Linux system
13552         when gnulib-tool is run with the --conditional-dependencies option.
13554 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13556         file-has-acl: fix build on Mac OS X 10
13557         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13558         which has an incompatible 6 parameter getxattr() call.
13559         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13560         call on Mac OS X >= 10.4.
13561         * doc/glibc-functions/fgetxattr.texi: Likewise.
13562         * lib/file-has-acl.c: Revert to more complete combined check.
13563         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13564         Reported by Jack Howarth.
13566 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13568         prefix-gnulib-mk: remove no longer needed special case
13569         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13570         continued lib_SOURCES lines are no longer present,
13571         so special case handling of such entries is not required.
13573 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13575         acl: don't depend on the deprecated qacl module
13576         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13578 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13580         gnulib-tool: concatenate lib_SOURCES to a single line
13581         * gnulib-tool: Refactor the line merging sed logic,
13582         and use that to output a single lib_SOURCES line for each module.
13583         gnulib using projects often postprocess this output to prepend
13584         subdir paths to each item, and having a single line simplifies this
13585         processing allowing better decoupling from the gnulib-tool output.
13587 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13589         pthread_sigmask: discount system version if a simple macro (trivial)
13590         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13591         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13592         function to ensure it's available.
13594 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13596         readlinkat: avoid OS X 10.10 trailing slash bug
13597         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13598         has this bug.
13599         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13600         that OS X 10.10 has this function.
13601         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13602         as done for readlink().
13603         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13604         trailing slash bug, and assume readlinkat() has the same issue.
13605         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13606         rather than the correct $gl_cv_decl_readlinkat_works.
13608 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13610         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13611         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13612         module rewrite.
13614         acl-permissions: Fix build on Solaris and Cygwin
13615         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13616         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13617         ace_entries variables have moved into struct permission_context but
13618         they were still accessed as local variables here.
13620 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13622         linkat: avoid OS X 10.10 trailing slash with symlink bug
13623         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13624         causes the symlink to be dereferenced, and if it points
13625         to a non existent file, that file will be created as
13626         a hard link to "path1".
13627         This fixes a test failure in test-linkat.c.
13628         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13629         this case.  The existing workaround in linkat.c for
13630         trailing slash issues, suffices for this case.
13631         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13632         the list of platforms with trailing slash issues.
13634 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13636         unlinkat: handle ignoring of ".." on Darwin 14
13637         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13638         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13639         so handle in the same manner.
13640         * m4/unlinkat.m4: Comment on this Darwin issue.
13641         * doc/posix-functions/unlink.texi: Update the latest version
13642         where the issue was seen.
13643         * doc/posix-functions/unlinkat.texi: Mention this issue.
13644         Fixes a test failure in test-unlinkat.c.
13646 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13648         qacl: split into qcopy-acl and qset-acl
13649         Emacs needs the former, but not the latter.
13650         * modules/acl-permissions: New file, containing most of the old qacl.
13651         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13652         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13653         * modules/qcopy-acl, modules/qset-acl: New files.
13654         * MODULES.html.sh (File system functions):
13655         Mention the new modules, and mention qacl while we're at it.
13657 2015-05-27  Glenn Morris  <rgm@gnu.org>
13659         gitlog-to-changelog: new option --ignore-line
13660         (This patch is imported from the GNU Emacs master.)
13661         This option ignores individual commit lines matching a pattern.
13662         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13664 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13666         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13667         Implement get_permissions and set_permissions primitives for getting all
13668         the permissions of a file, storing them, and later setting them. (In the
13669         minimal case, the permissions consist only of a file mode.) Reimplement
13670         qset_acl and qcopy_acl based on these new primitives: this avoids code
13671         duplication and makes error handling more consistent.
13672         The Solaris and Cygwin code still uses duplicate code paths for setting
13673         a file mode while making sure that no acls exist and setting an explicit
13674         acl; this is no worse than before, but could be cleaned up.  The AIX
13675         code still doesn't read ACLs, it only makes sure that acls don't get in
13676         the way when setting a file mode.
13677         * lib/acl-internal.h (struct permission_context): New data structure.
13678         (get_permissions, set_permissions, free_permission_context): Declare.
13679         * lib/acl-internal.c (free_permission_context): New helper function.
13680         * lib/get-permissions.c (get_permissions): New helper function split off
13681         from qcopy_acl.
13682         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13683         AIX, set a file's permissions based only on a file mode.
13684         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13685         other platforms construct a temporary acl from the file mode and set
13686         that acl in the same way as setting an acl read from the source file.
13687         This should help avoid code duplication and inconsistent / buggy
13688         behavior.
13689         (set_acls): New helper function Split off from qcopy_acl.
13690         (chmod_or_fchmod): Moved here from qset-acl.c.
13691         (set_permissions): New helper function.
13692         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13693         set_permissions.
13694         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13695         * modules/qacl: Add get-permissions.c and set-permissions.c.
13697         file-has-acl: Split feature tests again (Bug#20667)
13698         * lib/file-has-acl.c: Instead of testing for
13699         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13700         define them when needed.
13701         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13702         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13704 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13706         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13707         This avoids a conflict with "FORTIFY_SOURCE" variants
13708         of the string functions when they're replaced on NetBSD-6.0.1
13709         and Darwin-14.3.0 at least.
13710         * lib/string.in.h: Avoid including our "lib/string.h" while
13711         including the system <string.h>.
13713 2015-05-26  Eric Blake  <eblake@redhat.com>
13715         stdio: limit __gnu_printf__ witness to gcc 4.4+
13716         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13717         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13719         error: use correct printf attributes on mingw
13720         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13722         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13723         * modules/inttypes (Depends-on): Require extensions, so that mingw
13724         always uses GNU style inttypes.
13725         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13727         stdio: fix probe on mingw under gcc 5.1
13728         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13729         around new gcc preprocessor rules.
13731 2015-05-07  Glenn Morris  <rgm@gnu.org>
13733         gitlog-to-changelog: parse "Tiny-change"
13734         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13735         "Copyright-paperwork-exempt".  (Bug#20324)
13737 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13739         doc: document glibc posix_fallocate() issues
13740         * doc/posix-functions/posix_fallocate.texi: Mention the
13741         glibc efficiency problems and issues with NFS.
13743 2015-05-05  Karl Berry  <karl@freefriends.org>
13745         * build-aux/gendocs.sh (usage): document new css default
13746         for HTML (--htmlarg).
13748 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13750         extern-inline: no need for workaround in GCC 5.1
13751         * doc/extern-inline.texi (extern inline):
13752         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13753         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13754         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13755         two we can remove these workarounds.
13757 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13759         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13760         Avoid [-Wunknown-attributes] warnings like:
13761         warning: unknown attribute '__alloc_size__' ignored
13762         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13763         with clang, as support has been fully removed as of clang 3.5:
13764         https://github.com/llvm-mirror/clang/commit/c047507a
13765         * lib/eealloc.h: Likewise.
13766         * lib/pagealign_alloc.h: Likewise.
13768 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13770         tests: pacify GCC 5.1's stricter printf checking
13771         * tests/test-dirname.c (main):
13772         * tests/test-getaddrinfo.c (simple):
13773         * tests/test-getlogin.c (main):
13774         * tests/test-getndelim2.c (main):
13775         * tests/test-inttostr.c (CK):
13776         * tests/test-md5.c (main):
13777         * tests/test-read-file.c (main):
13778         * tests/test-sha1.c (main):
13779         Fix mismatches between printf format and value signedness.
13780         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13781         Remove, as CAST_VAL always returned a value of type uintmax_t.
13783         fts: port to GCC 5.1 with --enable-gcc-warnings
13784         Without this fix, GCC 5.1 (correctly) warns about a subscript
13785         error on the fts_name component of FTSENT.  It's actually a
13786         flexible member, so define it that way on C99 or later hosts.
13787         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13788         structure that now has a flexible array member.
13789         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13790         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13791         * modules/fts (Depends-on): Add flexmember.
13793 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13795         file-has-acl: port to CentOS 6
13796         Problem reported by Tom G. Christensen in:
13797         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13798         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13799         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13800         HAVE_GETXATTR.
13801         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13802         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13803         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13804         file-has-acl.c actually needs.
13806 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13808         file-has-acl: always return false when ACLs aren't supported
13809         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13810         change the GNU/Linux getxattr path, to transform "not supported"
13811         errors to a false return rather than an error.  This is handled
13812         within file_has_acl() due to the platform specific tests to
13813         determine if ACLs are not supported.
13815 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13817         gettext: propagate po/Makefile.in.in too
13818         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13819         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13820         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13821         between Makefile.in.in and the gettext-runtime m4 files.
13823 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13825         file-has-acl: new module, split from acl
13826         And add a new module file-has-acl-tests to match.
13827         I ran into a problem with the recent changes to the acl module,
13828         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13829         When using the fixed version with Emacs, I discovered that
13830         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13831         had multiple libraries, but needed only one), so I fixed that too.
13832         * NEWS: Document this incompatible change.
13833         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13834         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13835         Initialize gl_need_lib_has_acl.
13836         (gl_FUNC_ACL): Require it.
13837         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13838         Move the file-has-acl.c-relevant stuff to ...
13839         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13840         use_xattrs = 0' typo, and omit some needless work.  Set
13841         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13842         when gl_FUNC_ACL is called.
13843         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13844         (Link): Remove $(LIB_HAS_ACL).
13845         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13846         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13847         modules/file-has-acl-tests.
13848         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13850         manywarnings: add GCC 5.1 warnings
13851         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13852         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13853         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13854         -Wsuggest-override, -Wuse-without-only.  Change
13855         -Wnormalized=... operands to match 5.1.
13856         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13857         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13858         -Wdiscarded-qualifiers, -Wformat-signedness,
13859         -Wincompatible-pointer-types, -Wint-conversion,
13860         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13861         -Wshift-count-negative, -Wshift-count-overflow,
13862         -Wsizeof-array-argument, -Wsuggest-final-methods,
13863         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13864         and add -Warray-bounds=2 as a special case.
13866 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13868         doc: update FDL template to match FDL examples.
13869         * doc/alloca-opt.texi:
13870         * doc/alloca.texi:
13871         * doc/c-ctype.texi:
13872         * doc/c-strcase.texi:
13873         * doc/c-strcaseeq.texi:
13874         * doc/c-strcasestr.texi:
13875         * doc/c-strstr.texi:
13876         * doc/c-strtod.texi:
13877         * doc/c-strtold.texi:
13878         * doc/ctime.texi:
13879         * doc/error.texi:
13880         * doc/gcd.texi:
13881         * doc/gnulib-tool.texi:
13882         * doc/inet_ntoa.texi:
13883         * doc/intprops.texi:
13884         * doc/lib-symbol-visibility.texi:
13885         * doc/maintain.texi:
13886         * doc/parse-datetime.texi:
13887         * doc/quote.texi:
13888         * doc/regexprops-generic.texi:
13889         * doc/standards.texi: Remove spurious 'with' in FDL license
13890         template.
13892 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13894         lstat: fix cross-compilation 'ln -s' problem
13895         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13896         Have the test program call 'symlink' rather than a separate
13897         script run 'ln -s'; this is more likely to work in
13898         cross-compilation environments.  Reported by Pavel Fedin in:
13899         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13901 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13903         gendocs.sh: default to a common CSS style sheet for HTML output
13904         * build-aux/gendocs.sh (htmlarg): Change default value.
13906 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13908         gnulib-tool: output bold attribute more portably
13909         * gnulib-tool (func_show_module_list): Change hexadecimal
13910         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13911         encoded numbers as arguments to `printf' is not portable,
13912         and is not claimed by POSIX.  This is the case with FreeBSD.
13914 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13916         qacl: Simplify HP-UX acl_nontrivial check
13917         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13918         acl_nontrivial. Check if the acl has at most three entries instead (it must
13919         have exactly three entries according to the HP-UX documentation). Ignore
13920         uids and gids as long as an entry is either for a user (i.e., the owner),
13921         a group (i.e., the owning group), or others.
13922         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13923         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13925 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13927         acl: On Linux, check for acls without libacl
13928         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13929         library function to check for the presence of acls, avoiding a library.
13930         * lib/file-has-acl.c: Include xattr headers if we have them.
13931         (file_has_acl): On Linux, use getxattr().
13932         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13933         file_has_acl(). Check for xattr headers and getxattr().
13935 2015-04-14  Ángel González  <keisial@gmail.com>
13937         tempname: avoid unused parameter warnings (trivial)
13938         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13939         (try_nocreate): Likewise.
13941 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13943         fseeko: fix build failure on NetBSD >= 6 (trivial)
13944         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13945         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13947 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13949         gitlog-to-changelog: port to MS-Windows
13950         * build-aux/gitlog-to-changelog (git_dir_option):
13951         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13952         MS-Windows Perl.  Reported by Eli Zaretskii in:
13953         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13955 2015-04-07  Karl Berry  <karl@gnu.org>
13957         gendocs: new option --tex for passing args to texi2dvi.
13958         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13959         (TEXI2DVI): cut to just command name.
13960         (usage): mention new option, and update copyright.
13961         <generate_tex>: use it.
13963 2015-04-07  Karl Berry  <karl@gnu.org>
13965         * config/srclistvars.sh (GETTEXT): new definition.
13966         * config/srclist.txt: use it for gettext .m4 files.
13967         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13968         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13969         and continuing into April.
13971 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13973         uniname/uniname-tests: fix failure due to alias
13974         Reported by Jack Howarth in:
13975         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13976         * tests/uniname/test-uninames.c (name_has_alias): New function.
13977         (test_inverse_lookup): Exclude character name with valid alias,
13978         from randomly generated character names.
13979         (main): Fill unicode_aliases before calling test functions.
13981 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13983         hash: remove deprecated hash_insert0 function
13984         * lib/hash.h (hash_insert0): Remove deprecated function.
13985         * lib/hash.c (hash_insert0): Likewise.
13987 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13989         mountlist: remove dependency on libmount
13990         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13991         directly, rather than depending on libmount, which has many
13992         dependencies due to its dependence on libselinux, as detailed at:
13993         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13994         Note we restrict this to __linux__ as that's probably where this
13995         interface will remain.  If ever porting, it would be best
13996         to first pull the makedev() wrapper from coreutils to a gnulib module.
13997         Note also we don't add a getline dependency to the mountlist module,
13998         as all Linux versions are sufficient.
14000 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
14002         stddef: port to pre-C11 GCC on x86
14003         On this platform, max_align_t should have an alignment of 8 even
14004         though the storage alignments of double, long, etc. max out at 4.
14005         Inspired by a comment of Andreas Schwab's here:
14006         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
14007         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
14008         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
14009         * tests/test-stddef.c: Test __alignof__ too, if available.
14011 2015-03-24  Pádraig Brady  <P@draigBrady.com>
14013         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
14014         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
14016 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
14018         yesno: make EOL optional in ENABLE_NLS case also (trival)
14019         * lib/yesno.c (yesno): Check for EOL before replacing.
14020         * tests/test-yesno.sh: Add a test case (test along with gettext).
14022 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
14024         fdopendir-tests: test it does not close its arg
14025         * tests/test-fdopendir.c (main): Test that fdopendir does not
14026         close its argument.  From a suggestion by David Grayson in:
14027         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
14029 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14031         gitlog-to-changelog: trim trailing white space
14032         * build-aux/gitlog-to-changelog (main):
14033         Trim trailing white space from commit message lines.
14034         This is helpful for processing the GNU Emacs repository,
14035         which dates back to 1985 and contains a lot of such lines.
14037         gitlog-to-changelog: new option --ignore-matching
14038         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
14039         Support new option --ignore-matching=PAT, which ignores all
14040         commit messages whose first line matches PAT.
14042 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14044         fdopendir: port better to MinGW
14045         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
14046         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
14047         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
14048         * modules/fdopendir (Depends-on): Add dirfd.
14050 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14052         fdopendir: fix typo in comment
14053         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
14055 2015-03-09  Eric Blake  <eblake@redhat.com>
14057         error: document all entry points provided
14058         * doc/glibc-functions/error_print_progname.texi
14059         (error_print_progname): Mention the error module.
14060         * doc/glibc-functions/error_at_line.texi (error_at_line):
14061         Likewise.
14062         * doc/glibc-functions/error_message_count.texi
14063         (error_message_count): Likewise.
14064         * doc/glibc-functions/error_one_per_line.texi
14065         (error_one_per_line): Likewise.
14067 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
14069         vasnprintf: pacify clang 3.5.0
14070         Problem reported by Werner Lemberg in:
14071         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
14072         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
14073         The casts aren't needed, since the characters in question are ASCII.
14075 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14077         glob, etc.: port to MSVC v18 on MS-Windows 8.1
14078         * lib/dirent--.h (GNULIB_defined_opendir):
14079         * lib/dirent.in.h (GNULIB_defined_opendir)
14080         (GNULIB_defined_closedir):
14081         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
14082         #undef only if Gnulib defined it.
14084         poll: port to MSVC v18 on MS-Windows 8.1
14085         Problem reported by Gisle Vanem in:
14086         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
14087         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
14088         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
14089         Add sys_socket.
14091 2015-02-24  Pádraig Brady  <P@draigBrady.com>
14093         tests: support stderr verification with returns_()
14094         * tests/init.sh (returns_): Disable tracing for this wrapper
14095         function, so that stderr of the wrapped command is unchanged,
14096         allowing for verification of the contents.
14098 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
14100         passfd: avoid valgrind uninitalised data warning
14101         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
14102         to include just the fd we've initialized, rather than including
14103         the extra space used for alignment.
14105 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14107         uniwbrk/u32-wordbreaks-tests: fix copyright
14108         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
14110         dup2: doc and test for Android bug
14111         Reported by Kevin Cernekee in:
14112         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
14113         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14114         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
14116 2015-02-23  Kevin Cernekee  <cernekee@google.com>
14118         Replace dup2() on Android
14119         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
14120         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
14121         fails.  Using rpl_dup2() fixes this because it has an explicit test
14122         for this condition.
14124 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
14126         Android doesn't define RLIM_SAVED_*
14127         Portability problem reported by Kevin Cernekee in:
14128         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
14129         * doc/posix-headers/sys_resource.texi (sys/resource.h):
14130         Mention the portability problem.
14131         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
14132         Define if not defined.
14133         * m4/dup2.m4 (gl_FUNC_DUP2):
14134         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14135         Likewise.
14137 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14139         vasnprintf-posix-tests: use consistent test
14140         * tests/test-vasnprintf-posix.c (test_function):
14141         Use "<" in assert instead of "<=", for consistency with other tests.
14143 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14145         printf, isinf, etc.: noncanonical != NaN
14146         Do not require that isinf, printf, etc. treat noncanonical
14147         values as NaNs.  Instead, require only that they do not crash.
14148         Problem reported by Joseph Myers in:
14149         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
14150         * doc/posix-functions/dprintf.texi (dprintf):
14151         * doc/posix-functions/fprintf.texi (fprintf):
14152         * doc/posix-functions/isfinite.texi (isfinite):
14153         * doc/posix-functions/isinf.texi (isinf):
14154         * doc/posix-functions/isnan.texi (isnan):
14155         * doc/posix-functions/printf.texi (printf):
14156         * doc/posix-functions/snprintf.texi (snprintf):
14157         * doc/posix-functions/sprintf.texi (sprintf):
14158         * doc/posix-functions/vdprintf.texi (vdprintf):
14159         * doc/posix-functions/vfprintf.texi (vfprintf):
14160         * doc/posix-functions/vprintf.texi (vprintf):
14161         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14162         * doc/posix-functions/vsprintf.texi (vsprintf):
14163         Document this.
14164         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
14165         * m4/isinf.m4 (gl_ISINFL_WORKS):
14166         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
14167         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
14168         * tests/test-isfinite.c (test_isfinitel):
14169         * tests/test-isinf.c (test_isinfl):
14170         * tests/test-isnan.c (test_long_double):
14171         * tests/test-isnanl.h (main):
14172         * tests/test-snprintf-posix.h (test_function):
14173         * tests/test-sprintf-posix.h (test_function):
14174         * tests/test-vasnprintf-posix.c (test_function):
14175         * tests/test-vasprintf-posix.c (test_function):
14176 o       Test only that noncanonical values do not cause crashes, not that
14177         they are treated as NaNs.  In some cases this means a larger
14178         output buffer is needed.
14180 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
14182         fts: remove redundant close() (trivial)
14183         * lib/fts.c (fts_read): Remove redundant call to close().
14184         Spotted by coverity.
14186 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14188         getdtablesize: port better for Android
14189         Problem reported by Kevin Cernekee in:
14190         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
14191         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
14192         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
14193         Instead, just use getrlimit, taking care to avoid Cygwin bug.
14195         poll: fixes for large fds
14196         * lib/poll.c (poll): Don't check directly for NFD too large.
14197         Don't rely on undefined behavior in FD_SET when an arg exceeds
14198         FD_SETSIZE.  Always set revents afterwards, even if to zero.
14199         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
14200         as that makes the test a bit stricter.
14202 2015-02-19  Kevin Cernekee  <cernekee@google.com>
14204         fcntl: Fix cross compiling
14205         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
14206         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
14208 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14210         dup2, fcntl: cross-compile better for Android
14211         Problem reported by Kevin Cernekee in:
14212         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
14213         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
14214         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
14215         there's little need to cross-compile for older kernels nowadays.
14216         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
14217         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
14219 2015-02-18  Pádraig Brady  <P@draigBrady.com>
14221         getopt: don't crash on memory exhaustion
14222         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
14223         memory exhaustion.  In the _LIBC case we use alloca() as is
14224         already done in glibc, so we don't need to consider the separate
14225         error path in that awkward case.  Also fix a memory leak when
14226         ambiguous options are present.
14227         Reported by Tobias Stoeckmann
14229 2015-02-17  Mike Miller  <mtmiller@ieee.org>
14231         tempname: allow compilation with C++ (trivial)
14232         * lib/tempname.h [C++]: Specify extern "C" linkage.
14233         * lib/tempname.h (try_tempname):
14234         * lib/tempname.c (__try_tempname, __gen_tempname):
14235         Rename 'try' to 'tryfunc'.
14237 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14239         dup2, fcntl: port to AIX
14240         * m4/dup2.m4 (gl_FUNC_DUP2):
14241         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14242         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
14243         The former works on AIX 7.1 but the latter does not.
14244         Also, this may work better with Android; see:
14245         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
14247 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14249         getdtablesize, dup2, fcntl: port to Android
14250         Problem reported by Kevin Cernekee in:
14251         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
14252         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
14253         Mention that getdtablesize doesn't work on Android.
14254         * lib/getdtablesize.c: Use getrlimit substitute only if
14255         getdtablesize is declared.  This should suffice for Cygwin
14256         while not breaking Android.
14257         * m4/dup2.m4 (gl_FUNC_DUP2):
14258         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14259         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
14260         standardized but the latter is not, and sysconf works on Android.
14261         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
14262         Also check that getdtablesize is declared.
14263         This removes the need for a special case for Android.
14265 2015-02-16  Kevin Cernekee  <cernekee@google.com>
14267         localename: Implement gl_locale_name_thread_unsafe for Android
14268         * lib/localename.c: Android API level >= 21 supports two hardcoded
14269         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
14270         the internal __locale_t struct.
14272 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
14274         fts: avoid crash when a cycle is added while traversing
14275         This could be triggered by auto-mounting a recursive bind mount.
14276         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
14277         * lib/fts.c (fts_read): Avoid removing the original hash table item
14278         when leaving a directory that caused a cycle, and preserve the FTS_DC
14279         flag.
14281 2015-02-16  Daiki Ueno  <ueno@gnu.org>
14283         uniname/uniname: support character alias
14284         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
14285         Generate one-way mapping from aliases to codepoints in the
14286         generated tables.  Special case variation selectors to reduce
14287         table size.
14288         * lib/uniname/uniname.c (unicode_character_name): Special case
14289         variation selectors.
14290         (unicode_name_character): Special case variation selectors and
14291         their aliases.
14292         * lib/uniname/uninames.h: Regenerate.
14293         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
14294         * modules/uniname/uniname-tests (Files): Add
14295         tests/uniname/NameAliases.txt.
14296         * tests/uniname/test-uninames.c: Mark as static.
14297         (ALIASLEN): Define.
14298         (struct unicode_alias): New struct.
14299         (unicode_aliases): New variable.
14300         (fill_aliases): New function.
14301         (test_alias_lookup): New test function.
14302         (main): Run the 'test_alias_lookup' test if the second argument is
14303         given.
14304         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
14305         second argument.
14307 2015-02-11  Kevin Cernekee  <cernekee@google.com>
14309         Fix FILE struct compatibility with Android API level >= 21
14310         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
14311         __sferror.  Recent versions of Bionic's stdio.h no longer define
14312         __sferror.
14313         * lib/fbufmode.c: Likewise.
14314         * lib/fflush.c: Likewise.
14315         * lib/fpurge.c: Likewise.
14316         * lib/freadable.c: Likewise.
14317         * lib/freadahead.c: Likewise.
14318         * lib/freading.c: Likewise.
14319         * lib/freadptr.c: Likewise.
14320         * lib/freadseek.c: Likewise.
14321         * lib/fseeko.c: Likewise.
14322         * lib/fseterr.c: Likewise.
14323         * lib/fwritable.c: Likewise.
14325         Assume unbroken ungetc() on Android
14326         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
14327         test case passed when running on an Android host, and the code
14328         hasn't really changed since 2009.
14330         getdtablesize: Fix Android build
14331         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
14332         versions have this symbol in the .so library (at least 32-bit
14333         platforms) but are missing the declaration in the header file,
14334         causing the m4 logic to guess incorrectly.
14336         localename: Fix Android build
14337         * modules/localename (Depends-on): Add langinfo.
14339         getugroups: Fix Android build
14340         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
14341         functions.
14343         euidaccess: Fix Android build
14344         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
14345         AT_EACCESS gets declared.
14347         linkat_nofollow: Add fallback case for cross compiling
14348         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
14350         net_if: Handle content-free <net/if.h> system headers
14351         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
14352         struct if_nameindex.  If not, enable the replacement header.
14354         signal_h: Fix Android build
14355         * lib/signal.in.h: Add Android to the list of platforms that declare
14356         pthread_sigmask() in <pthread.h> instead of <signal.h>.
14358         duplocale: Fix Android build of duplocale-tests
14359         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
14360         is included by test-duplocale.c (but not by duplocale.c).
14361         * modules/duplocale-tests (configure.ac): Check for monetary.h.
14362         * tests/test-duplocale.c: Skip test if monetary.h is absent.
14363         * doc/posix-headers/monetary.texi: Add Android to the list of
14364         platforms missing monetary.h.
14366 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14368         tests: avoid recent -Werror=unused-variable regression in test-locale
14369         * tests/test-locale.c (main): Reference the variable to avoid the
14370         "unused variable" warning.
14372 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14374         maint: various whitespace cleanups in tempname
14375         * lib/tempname.c: Normalize spacing and line length.
14376         * lib/tempname.h: Likewise.
14377         * modules/tempname: Likewise.
14379 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14381         tests: provide returns_() to simplify exit status checking
14382         * tests/init.sh (returns_): A new function for use in tests,
14383         to allow for easier checking of return values, where you expect
14384         a command to exit with failure status.  By checking for a particular
14385         exit code, you don't hide any crashes for example.
14387 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14389         mountlist: only use libmount when specified
14390         There are currently many shared libs dependencies introduced by
14391         libmount with associated runtime and virt mem overhead.
14392         Therefore don't enable by default.
14393         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
14395 2015-02-08  Daiki Ueno  <ueno@gnu.org>
14397         uniname/unimame-tests: don't link with -lunistring
14398         * modules/uniname/uniname-tests (Makefile.am): Don't link against
14399         $(LIBUNISTRING).  Document the rationale why we need to
14400         conditionalize the test.
14402 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14404         fstrcmp: don't assume strlen < INT_MAX
14405         * lib/fstrcmp.c: Include stddef.h and stdint.h.
14406         (uintptr_t): Remove, as we're now assuming stdint.
14407         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
14408         Prefer ptrdiff_t to int when the value could exceed INT_MAX
14409         if the input string is long.
14410         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
14411         uintptr_t to size_t when the underlying value is a pointer casted
14412         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
14413         * modules/fstrcmp (Depends-on): Add stdint.
14415         diffseq: prefer ptrdiff_t to ssize_t
14416         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
14417         ptrdiff_t is the natural type for signed indexes.
14418         On a few older platforms, ssize_t is narrower than size_t.
14420         xalloc: fix typo that suppressed warnings
14421         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
14422         This typo, introduced a couple of years ago, mistakenly suppressed
14423         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
14424         -Wmissing-declarations warnings.
14426         full-read: fix license notice typo
14427         * lib/full-read.h: Remove a stray line in the license notice.
14428         Reported by Sam Ellis in: http://bugs.gnu.org/19808
14430         crypto/gc: fix a -Wswitch warning
14431         Reported by Bruce Korb in:
14432         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
14433         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
14435 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14437         gnulib-tool: fix handling of patch(1) diagnostics
14438         * gnulib-tool: Send diagnostics from patch(1) to stderr,
14439         as otherwise gnulib-tool will reparse that output and attempt
14440         to lookup modules.
14442 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14444         bootstrap: exit immediately upon gnulib-tool failure
14445         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
14446         This was noticed when gnulib-tool exited early due to failure
14447         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
14448         but various confusing errors were then given as the build proceeded.
14450 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
14452         symlinkat: include all required header files
14453         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
14454         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
14455         Reported at https://savannah.gnu.org/bugs/index.php?44151
14456         and by Jack Howarth.
14458 2015-01-29  Pádraig Brady  <P@draigBrady.com>
14460         localename: support Solaris 12 and illumos
14461         * lib/localename.c (gl_locale_name_thread_unsafe): call
14462         getlocalename_l() on newer __sun platforms.
14463         Reported by Alexander Pyhalov.
14464         Fix suggested by Rich Burridge.
14466 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
14468         locale: fix tests on illumos (trivial)
14469         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
14470         so move from global scope to main().
14472 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14474         unictype: avoid undefined left-shift behavior
14475         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14476         gcc's -fsanitize=shift and running its tests triggered:
14477           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14478             places cannot be represented in type 'int'
14479         Cast LHS to 'unsigned int' after integer promotion.
14480         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14481         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14483 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14485         libunistring: bump version of unitypes dependants
14486         Due to the header file search order, all the headers which depend
14487         on unitypes.h need to be generated, when the preinstalled
14488         libunistring is older.
14489         * modules/unicase/base (configure.ac): Bump minimum version to
14490         0.9.4.
14491         * modules/uniconv/base (configure.ac): Likewise.
14492         * modules/unilbrk/base (configure.ac): Likewise.
14493         * modules/uninorm/base (configure.ac): Likewise.
14494         * modules/unistdio/base (configure.ac): Likewise.
14495         * modules/unistr/base (configure.ac): Likewise.
14496         * modules/uniwbrk/base (configure.ac): Likewise.
14497         * modules/uniwidth/base (configure.ac): Likewise.
14499 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14501         unictype/category-none: fix link with libunistring
14502         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14503         prefixed with "libstring_" when compiled as part of libunistring.
14504         To avoid undefined symbol at link time, increase the minimum
14505         version when the dependant modules are updated.
14506         * modules/unictype/category-none (configure.ac): Bump minimum
14507         version to 0.9.5.
14509 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14511         unitypes: fix build with installed libunistring
14512         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14513         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14514         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14516 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14518         time: port to MinGW32 3.21
14519         Problem reported by Eli Zaretskii in:
14520         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14521         * lib/time.in.h:
14522         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14523         * modules/time (Depends-on):
14524         Fall back on unistd.h if the other include files don't define
14525         struct timespec.
14527         update-copyright: apply to self
14528         * build-aux/update-copyright: Fix copyright date.  How ironic!
14530 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14532         libunistring: update to Unicode 7.0.0
14533         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14534         Manichaean names.
14535         * lib/unictype/joininggroup_name.h: Likewise.
14536         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14537         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14538         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14539         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14540         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14541         enum values.
14542         (is_property_alphabetic): Accept newly added characters to
14543         cuneiform numeric signs.
14544         (is_property_default_ignorable_code_point): Reject U+0605.
14545         (FIELDLEN): Increase from 120 to 160.
14546         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14547         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14548         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14549         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14550         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14551         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14552         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14553         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14554         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14555         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14556         U+1E8D0..U+1E8D6.
14557         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14558         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14559         lib/uniwidth/width.c.
14560         * all generated files under lib/uni* and tests/uni*: Regenerate.
14562 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14564         libunistring: update to Unicode 6.3.0
14565         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14566         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14567         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14568         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14569         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14570         Update WB5, WB9, WB10, WB13a, and WB13b.
14571         * tests/uniwbrk/test-uc-wordbreaks.c
14572         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14573         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14574         (UC_BIDI_PDI): New enumeration values.
14575         (bidi_category_byname): Support those enum values.
14576         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14577         dedicated property assigned.
14578         (is_property_case_ignorable): Check 0x0027.
14579         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14580         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14581         (output_wbp): Support those enum values.
14582         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14583         (UC_BIDI_PDI): New enumeration values.
14584         * lib/unictype/bidi_byname.gperf: Add those property names.
14585         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14586         U+180E, U+1A1B, and U+2066..U+2069.
14587         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14588         lib/uniwidth/width.c.
14589         * all generated files under lib/uni* and tests/uni*: Regenerate.
14591 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14593         libunistring: update to Unicode 6.2.0
14594         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14595         (unilbrk_table): Adjust table size.
14596         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14597         for LBP_RI.
14598         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14599         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14600         Normalize table index skipping ignored properties.
14601         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14602         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14603         the table.
14604         * lib/uniwbrk/wbrktable.h: Adjust table size.
14605         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14606         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14607         Support rule GB8a.
14608         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14609         * tests/unigbrk/test-uc-is-grapheme-break.c
14610         (graphemebreakproperty_to_string): Support GBP_RI.
14611         * tests/uniwbrk/test-uc-wordbreaks.c
14612         (wordbreakproperty_to_string): Support WBP_RI.
14613         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14614         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14615         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14616         LBP_AL to LBP_ID.
14617         (output_lbp): Support LBP_RI.
14618         (WBP_RI): New enumeration value.
14619         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14620         (output_wbp): Support WBP_RI.
14621         (GBP_RI): New enumeration value.
14622         (output_gbp_test, fill_org_gbp): Support GBP_RI.
14623         * all generated files under lib/uni* and tests/uni*: Regenerate.
14625 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14627         libunistring: update to Unicode 6.1.0
14628         * lib/gen-uni-tables.c (output_joining_group): Switch to
14629         3-level table to accommodate joining groups defined with higher
14630         codepoint value.  Since there are only 88 groups defined in
14631         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14632         (get_lbp): Update for Unicode 6.1.0.
14633         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14634         3-level table.
14635         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14636         joining group name.
14637         * lib/unictype/joininggroup_name.h: Likewise.
14638         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14639         (unilbrk_table): Adjust table size.
14640         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14641         for LBP_HL.
14642         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14643         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14644         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14645         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14646         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14647         U+302E..U+302F.
14648         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14649         lib/uniwidth/width.c.
14650         * all generated files under lib/uni* and tests/uni*: Regenerate.
14651         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14653 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14655         uniwbrk/u32-wordbreaks-tests: add conformance test
14656         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14657         tests/uniwbrk/test-uc-wordbreaks.c,
14658         tests/uniwbrk/test-uc-wordbreaks.sh, and
14659         tests/uniwbrk/WordBreakTest.txt.
14660         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14661         test-uc-wordbreaks to $(check_PROGRAMS), and define
14662         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14663         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14664         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14666 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14668         uniwbrk: ignore Extended/Format characters at BOL not BOS
14669         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14670         characters if the previous character property is one of
14671         WBP_NEWLINE, WBP_CR, and WBP_LF.
14673 2015-01-11  Jim Meyering  <meyering@fb.com>
14675         test-strstr.c: avoid a trivial leak
14676         * tests/test-strstr.c (main): Free haystack.
14678         update-copyright: recognize groff's \(co marker
14679         * build-aux/update-copyright (circle_c_re): Also accept
14680         uses of \(co, as found in gzip.1.
14682 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14684         maint.mk: fix compatibility with OS X nm
14685         * top/maint.mk (_gl_tight_scope): Use the -g option to
14686         show exported items rather than the -e option which is
14687         ignored on all platforms except OS X where it gives an error.
14688         Reported by Assaf Gordon.
14690 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14692         localcharset: improve charset detection on OS/2
14693         Use system codepage when appropriate.  Map OS/2 codepages to
14694         GNU canonical charset names if possible.
14695         * lib/config.charset: Don't output aliases if "$os" is os2*.
14696         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14697         result for OS/2.
14698         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14699         from the locale name which is neither "C" nor "POSIX".
14701 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14703         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14704         This reverts the last patch but one, as it shouldn't be needed now
14705         that the typo is fixed.
14706         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14707         * lib/count-trailing-zeros.h:
14708         * lib/count-one-bits.h:
14709         Go back to using 64-bit intrinsics.
14711         count-leading-zeros: fix pragma typos
14712         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14713         Fix typos in declaration of intrinsics when _MSC_VER.
14715 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14717         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14718         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14719         intrinsics in this case.
14720         * lib/count-trailing-zeros.h: Likewise.
14721         * lib/count-one-bits.h: Likewise.
14723 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14725         uniname/uniname: update to Unicode 7.0.0
14726         To accommodate new characters added since Unicode 5.1.0, this
14727         changes the internal representation of codepoint ranges.
14728         Previously, we grouped codepoint ranges by manually assigned 4-bit
14729         tag, which only allowed 16 groups.  This removes the limitation by
14730         switching to binary search on a table.  For the detail rationale
14731         and the benchmark results, see:
14732         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14733         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14734         to INDEX, as it no longer represents a codepoint.
14735         (range): New struct.
14736         (main): Switch to intervals list from a bit-pattern based
14737         classification.
14738         * lib/uniname/uninames.h: Regenerate.
14739         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14740         * modules/uniname/base (configure.ac): Bump minimum version to
14741         0.9.5.
14742         * modules/uniname/uniname (configure.ac): Bump minimum version to
14743         0.9.5.
14745 2015-01-05  Eric Blake  <eblake@redhat.com>
14747         doc: update INSTALL from autoconf
14748         * doc/install.texi: Resync from autoconf.
14749         * doc/INSTALL: Reflect recent autoconf update.
14750         * doc/INSTALL.ISO: Likewise.
14751         * doc/INSTALL.UTF-8: Likewise.
14753         stdio: fix use of PRIdMAX on modern mingw
14754         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14755         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14756         to work with modern mingw.
14758 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14760         pthread: detect git mingw builds with only partial pollution
14761         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14762         pollution, as seen temporarily in Fedora 21.
14764 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14766         lib-symbol-versions: cache script check
14767         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14768         Cache the check for linker version scripts.
14769         From a suggestion by Christophe Curis in:
14770         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14772 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14774         maint: fix grammar nits in propername (trivial change)
14775         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14776         and use an adequate verb and tense.
14778 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14780         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14781         * module/gendocs: Add 'doc/gendocs_template_min'.
14783         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14784         from to Gnulib's.
14785         (scripturl, templateurl): Adjust accordingly.
14787 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14789         gendocs: copyright date and version fix
14790         Reported by Karl Berry in:
14791         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14792         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14793         Fix copyright date.
14794         * build-aux/gendocs.sh (scriptversion): Update.
14796 2015-01-01  Karl Berry  <karl@gnu.org>
14798         * doc/install.texi,
14799         * build-aux/mdate-sh,
14800         * build-aux/depcomp,
14801         * build-aux/config.guess,
14802         * build-aux/config.sub,
14803         * build-aux/ar-lib,
14804         * build-aux/compile: revert copyright updates (some from last
14805         year) in slaved files.
14807 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14809         version-etc: new year
14810         * doc/gnulib.texi:
14811         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14812         * all files: Run 'make update-copyright'.
14814 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14816         xstrtol: ensure errno is reset
14817         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14818         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14820         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14822 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14824         utimens: fix dependency typo
14825         * modules/utimens (Depends-on): Remove 'assure'.
14826         This bug was introduced in the recent 'assure' patch.
14828 2014-12-22  Eric Blake  <eblake@redhat.com>
14830         docs: mention why libgen.h is bad
14831         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14833 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14835         assure: new module
14836         This works better than 'assert' when compiling with -DNDEBUG,
14837         as it avoids some compiler diagnostics in that case.
14838         Reported by Norihiro Tanaka in:
14839         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14840         * MODULES.html.sh (func_all_modules): Add 'assure'.
14841         * lib/assure.h, modules/assure: New files.
14842         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14843         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14844         Prefer 'assure' to 'assert'.
14845         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14846         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14847         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14848         Depend on 'assure'.
14850 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14852         stdalign: port better to HP compilers
14853         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14854         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14856         stdalign: work around Apple GCC 4.0 bug
14857         Reported by David Fang in:
14858         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14859         * lib/stdalign.in.h (_Alignas):
14860         * m4/stdalign.m4 (gl_STDALIGN_H):
14861         Do not use aligned attribute with GCC 4.0 on Apple.
14863 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14865         getcwd: fix test failure on OS X 10.9
14866         * m4/getcwd-path-max.m4: Avoid the replacement if it
14867         won't be effective due to the PATH_MAX limitation of lstat().
14868         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14869         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14870         for this case for use in tests, and also exclude this
14871         case when setting REPLACE_GETCWD.
14872         * tests/test-getcwd.c (test_long_name): Restrict the
14873         tested path length so that lstat() will not be passed
14874         a path greater than PATH_MAX.
14875         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14876         than AT_FDCWD, since the latter is set unconditionally
14877         since Sep 2009 in commit 52c658e9.
14879 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14881         parse-datetime: avoid a compiler warning with byacc (trivial)
14882         * lib/parse-datetime.y (yylex): Use the same prototype in the
14883         function definition as the declaration, to avoid a -Wstrict-prototypes
14884         warning seen when using byacc.
14886 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14888         unicase/locale-language-tests: fix LOCALE_FR test
14889         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14890         a French locale with traditional encoding.
14891         Reported by umerqayam in:
14892         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14894 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14896         stddef: support C11's max_align_t
14897         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14898         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14899         Do not undef, as that might cause max_align_t to be defined twice.
14900         Instead, change use to check for _GL_STDDEF_WINT_T too.
14901         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14902         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14903         Check for max_align_t.
14904         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14905         * modules/stddef-tests (Depends-on): Add stdalign.
14906         * tests/test-stddef.c: Test max_align_t.
14908 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14910         unistd: fix iOS check conditional
14911         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14912         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14913         yielded true on non-iOS environment.
14914         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14915         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14916         they are defined.
14918 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14920         posixtm: avoid compiler warning in a better way
14921         * lib/posixtm.c (IF_LINT): Remove.
14922         (year, posix_time_parse):
14923         Return true (not 0) if successful.  All callers changed.
14924         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14926 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14928         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14929         started with '/' on EMX.
14931 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14933         freopen: workaround freopen() on OS/2 kLIBC
14934         * lib/freopen.c (rpl_freopen): Workaround.
14935         * m4/freopen.m4: Add os2* case.
14937         get_shared_library_fullname: port to EMX
14938         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14939         on EMX, respectively.
14940         (_DLL_InitTerm): New on EMX.
14941         (get_shared_library_fullname): Implement on EMX.
14943         find_executable: port to EMX
14944         * lib/progreloc.c (find_executable): Implement on EMX.
14946         sched: check struct sched_param in spawn.h as well
14947         * lib/sched.in.h: Include spawn.h on kLIBC.
14948         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14950 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14952         bootstrap: Allow perl modules in $buildreq
14953         * build-aux/bootstrap: Add case for perl modules.
14955 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14957         apply _GL_ATTRIBUTE_PURE to some inline functions
14958         clang 3.4.2 flagged these inline functions as pure
14959         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14960         * lib/sig-handler.h (get_handler): Likewise.
14961         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14962         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14964 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14966         vasnprintf: fix potential use after free
14967         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14968         flagged by clang-analyzer 3.4.2.
14970 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14972         filevercmp, posixtm: avoid compiler warnings with -O3
14973         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14974         * lib/posixtm.c: (IF_LINT): Define.
14975         (posix_time_parse): Use it to void a "may be used uninitialized"
14976         warning, seen only with -O3.
14978 2014-12-05  Bruno Haible  <bruno@clisp.org>
14980         Fix LDBL80_WORDS macro on big endian platforms.
14981         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14982         LDBL80_WORDS macro.
14983         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14984         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14985         * tests/test-isfinite.c (test_isfinitel): Likewise.
14986         * tests/test-isinf.c (test_isinfl): Likewise.
14987         * tests/test-isnan.c (test_long_double): Likewise.
14988         * tests/test-isnanl.h (main): Likewise.
14989         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14990         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14991         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14992         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14993         Reported by Pádraig Brady.
14995 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14997         git-version-gen: do not print new line characters
14998         * build-aux/git-version-gen: Use printf instead of echo and tr.
15000         gnulib-tool: recognize x:* as an absolute path
15001         * gnulib-tool (func_gnulib_dir): Add ?:* case.
15002         (func_relconcat): Likewise.
15004 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
15006         argp: avoid extraneous translation and mem leak with empty pre doc
15007         * lib/argp-help.c (argp_doc): Never translate the empty string,
15008         when "\v" is the first or last character of the string, as that
15009         has a reserved meaning to return the header info from a po file.
15010         This also fixes a small memory leak in the !post case.
15011         The issue can be seen with this command for example:
15012         LC_MESSAGES=en_US grub2-mknetdir --help
15014 2014-11-27  Daiki Ueno  <ueno@gnu.org>
15016         uniname/uniname-tests: skip if system's libunistring is used
15017         * modules/uniname/uniname-tests (Makefile.am): Skip test if
15018         uniname/uniname module is not compiled.
15020 2014-11-27  Pádraig Brady  <P@draigBrady.com>
15022         printf: fix configure check on big endian systems
15023         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
15025 2014-11-22  Daiki Ueno  <ueno@gnu.org>
15027         pipe-filter-gi, pipe-filter-ii: port to AIX
15028         On AIX 7.1, 'select' is defined as static and cannot be referred
15029         to from inline function.
15030         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
15031         the definition...
15032         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
15033         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
15035 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15037         gitlog-to-changelog: add --until
15038         * build-aux/gitlog-to-changelog: Support new --until option.
15039         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
15041 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
15043         extern-inline: update commentary about GCC bugs
15044         * m4/extern-inline.m4: Add another GCC bug number to comments.
15046 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15048         gen-uni-tables: untabify
15049         * lib/gen-uni-tables.c: Untabify.
15051 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15053         gen-uni-tables: check out-of-range values added to 3-level tables
15054         * lib/gen-uni-tables.c (output_category, output_bidi_category)
15055         (output_joining_type, output_ident_category): Check out-of-range
15056         values added to 3-level tables.
15058 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15060         gen-uni-tables: utilize 'assert'
15061         * lib/gen-uni-tables.c: Include <assert.h>.
15062         (output_category, output_combclass, output_decimal_digit_test)
15063         (output_decimal_digit, output_digit_test, output_digit)
15064         (output_numeric, get_mirror_value, fill_properties)
15065         (fill_property30, is_property_alphabetic)
15066         (is_property_default_ignorable_code_point)
15067         (is_property_uppercase, is_property_lowercase)
15068         (is_property_cased, is_property_case_ignorable)
15069         (is_property_changes_when_lowercased, is_property_iso_control)
15070         (is_property_math, fill_arabicshaping, output_joining_group)
15071         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
15072         (output_wbp, fill_org_gbp, get_decomposition)
15073         (output_decomposition, fill_composition_exclusions)
15074         (debug_output_composition_tables, output_composition_tables)
15075         (redistribute_casefolding_rules, output_casing_rules): Use
15076         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
15077         reporting.
15079 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15081         gen-uni-tables: cosmetic improvements
15082         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
15083         variables specification.
15084         (is_outdigit): Remove unused function.
15086 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
15088         fcntl-h-tests: port to PA-RISC GNU/Linux
15089         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
15091 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15093         fts: port to C89
15094         Problem reported for MSVC 16 by Gisle Vanem in:
15095         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
15096         * lib/fts.c (fts_build): Avoid declaration before statement.
15098 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
15100         unistd: port to iOS
15101         Problem reported by André Klitzing in:
15102         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
15103         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
15105 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15107         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
15108         Problem reported by Alan Modra in:
15109         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
15110         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
15111         Always cast the function arg, reverting this part of the previous
15112         change.
15114 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
15116         obstack: avoid potentially-nonportable function casts
15117         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
15118         Remove, replacing with ...
15119         (call_chunkfun, call_freefun): New static functions.
15120         All uses changed.  Avoid potentially-nonportable casts.
15121         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
15122         (_obstack_begin_worker): Omit last two args, since they
15123         rely on potentially-nonportable casts.  All callers changed.
15124         * lib/obstack.h (_OBSTACK_CAST): New macro.
15125         Use it everywhere the old API used a potentially-nonportable cast.
15126         The new API doesn't cast.
15127         (struct obstack): Use unions rather than requiring
15128         potentially-nonportable casts.
15129         (obstack_chunkfun, obstack_freefun): Return void.
15131 2014-11-03  Alan Modra  <amodra@gmail.com>
15133         obstack: fix macro return values
15134         * lib/obstack.h (obstack_next_free): Return void *.
15135         (obstack_1grow_fast, obstack_blank_fast): Return void.
15136         For __GNUC__ macros:
15137         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
15138         For !__GNUC__ macros:
15139         (obstack_make_room, obstack_grow, obstack_grow0)
15140         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
15142 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15144         obstack: do not assume system-supplied obstack is size_t safe
15145         * m4/obstack.m4: New file.
15146         * modules/obstack (Files): Add it.
15148         obstack: port to platforms that #define __alignof__
15149         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
15150         not if !_LIBC.  We don't know of any platforms that #define
15151         __alignof__, but it might be useful in tests.  Conversely,
15152         glibc assumes GCC.
15154 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15156         linkat: don't unconditionally replace on GNU/Linux
15157         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
15158         was redundant for a few reasons.  It was present to support compiling
15159         on new systems but running on the old narrow window of Linux 2.6.1[67].
15160         It setup and cleaned up test files which weren't actually used.
15161         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
15162         implicit in the following check.
15164 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15166         linkat: wrap to handle symlinks on OS X 10.10
15167         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
15168         but not usable because it doesn't support creating hardlinks
15169         to symlinks.  Therefore add a generic test for this capability
15170         and fallback to our emulation if linkat() fails with ENOTSUP.
15172 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15174         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
15175         * doc/posix-functions/open.texi (open):
15176         * doc/posix-functions/openat.texi (openat):
15177         Document that these functions do not set errno to ELOOP when
15178         a symlink is opened with O_NOFOLLOW.
15180 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15182         obstack: add NEWS entry for recent incompatible changes
15183         * NEWS: Describe recent changes.
15185 2014-10-30  Pádraig Brady  <P@draigBrady.com>
15187         mountlist: don't use libmount to decide on dummy/remote
15188         * lib/mountlist.c (read_file_system_list): Don't use the libmount
15189         routines to determine whether a file system is dummy or remote,
15190         as they're not currently compatible.  For example the remoteness
15191         is determined on file system type (for which the list seems incomplete),
15192         rather than simply checking for a ':' in the device name.
15193         Also libmount currently determines that 'tmpfs' is a dummy file system
15194         even though it has associated storage.
15196 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15198         obstack: prefer __alignof__ to alignof
15199         This is for portability to pre-4.7 GCC when compiling glibc.
15200         See Joseph S. Myers in:
15201         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
15202         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
15203         New macro, defined by including and using <alignof.h>.
15204         (MAX): New macro.
15205         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
15206         Do not use enums as they are not portable to some broken compilers.
15207         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
15209         obstack: prefer alignof to calculating alignments by hand
15210         * lib/obstack.c: Include <stdalign.h>.
15211         (struct fooalign): Remove.
15212         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
15213         * modules/obstack (Depends-on): Add stdalign.
15215 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15217         obstack: use size_t alignments and check for overflow
15218         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
15219         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
15220         * lib/obstack.h (struct obstack.alignment_mask):
15221         Use _OBSTACK_SIZE_T, not int, for alignments.
15222         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
15223         overflows, e.g., when adding the alignment.
15225 2014-10-29  Alan Modra  <amodra@gmail.com>
15227         obstack: 64-bit obstack support, part 3
15228         This finally enables full 64-bit obstack support.  The glibc
15229         shared library specific code is removed from obstack.c too, and
15230         the error handling code conditionally compiled under control of
15231         another macro, _OBSTACK_NO_ERROR_HANDLER.
15232         * lib/obstack.h: Include string.h earlier.
15233         (_OBSTACK_INTERFACE_VERSION): Define.
15234         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
15235         * lib/obstack.c: Don't include shlib-compat.h.
15236         (OBSTACK_INTERFACE_VERSION): Delete.
15237         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
15238         glibc code is compatible with version 2.  Don't include stdio.h for
15239         __GNU_LIBRARY.
15240         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
15241         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
15242         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
15243         glibc shared library specific source.
15245         obstack: 64-bit obstack support, part 2
15246         This gets us 4G obstack support, without changing ABI
15247         compatibility, apart from possibly introducing some
15248         signed/unsigned comparison warnings in code that uses obstack.h.
15249         a) Replace "int" size parameters, return values, and macro local vars
15250            with _OBSTACK_SIZE_T, an "unsigned int" for now.
15251         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
15252         c) Make all obstack macros checking available room use obstack_room.
15253            "next_free + desired > chunk_limit" may wrap the lhs for chunks
15254            allocated near the top of memory.
15255         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
15256         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
15257         in place of "int" size parameters, return values and local vars.
15258         (_CHUNK_SIZE_T): Define.
15259         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
15260         union use an _OBSTACK_SIZE_T integer type.
15261         For __GNUC__ versions of the following macros...
15262         (obstack_room): Rename local var.
15263         (obstack_make_room): Use obstack_room.
15264         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15265         obstack_int_grow, obstack_blank): Likewise.
15266         (obstack_finish): Use unsigned comparison when comparing aligned
15267         next_free against chunk_limit.
15268         (obstack_free): Cast OBJ to remove possible const qualifier.
15269         For !__GNUC__ versions of the following macros...
15270         (obstack_make_room): Use obstack_room.
15271         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15272         obstack_int_grow, obstack_blank): Likewise.
15273         (obstack_finish): Use unsigned comparision when comparing aligned
15274         next_free against chunk_limit.
15275         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
15276         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
15277         _OBSTACK_SIZE_T.
15278         (_obstack_begin, _obstack_begin_1): Likewise.
15279         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
15280         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
15282         obstack: 64-bit obstack support, part 1
15283         a) Correct calls to alloc function, to use a size_t arg.  "long" is
15284            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
15285            and "size_t" 64 bits.
15286         b) Consolidate _obstack_begin and _obstack_begin1 code.
15287         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
15288         use "size_t" rather than "long".
15289         (_obstack_begin, _obstack_begin1): Likewise.
15290         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
15291         obstack_chunkfun): Update alloc function casts.
15292         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
15293         (chunkfun_type, freefun_type): New typdefs.
15294         (_obstack_begin_worker): Split out from ..
15295         (_obstack_begin, _obstack_begin_1): ..here.
15297         obstack: tidy part 2
15298         a) Don't be concerned about "not polluting the namespace with stddef.h
15299            symbols" in obstack.h, since gnulib string.h includes stddef.h
15300            anyway, and it seems unlikely that anyone would care.
15301         b) Don't roll our own slow memcpy in _obstack_newchunk.
15302         c) Rename obstack_free to _obstack_free.  This makes the naming
15303            consistent with other obstack functions and obviates the need for
15304            __obstack_free.  Ancient obstack.c defined both obstack_free and
15305            _obstack_free.  We continue to do that for _LIBC via an alias.
15306         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
15307            is clever, but nowadays gcc warns on undefined macros.  You'll get
15308            an undefined macro warning if simulating an old gcc with -U__GNUC__
15309            -U__GNUC_MINOR__ -D__GNUC__=1.
15310         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
15311         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
15312         (__obstack_free): Delete, update refs.
15313         (_obstack_free): Rename from obstack_free.
15314         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
15315         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
15316         * lib/obstack.c: Don't include stddef.h.
15317         (COPYING_UNIT): Delete.
15318         (_obstack_begin): Formatting fix.
15319         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
15320         (_obstack_free): Rename from __obstack_free, update alias.  Move
15321         undef of obstack_free to where it is needed.
15323         obstack: tidy part 1
15324         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
15325            to me, and result in overlong lines after later patches.
15326         b) Move error handling code, to avoid a forward declaration and to
15327            simplify later patches in this series.
15328         * lib/obstack.h (struct obstack <temp>): Rename fields of union
15329         and update all uses.
15330         * lib/obstack.c: Include stdlib.h earlier.
15331         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
15332         in file.
15333         (print_and_abort): Remove now redundant forward declaration.
15335 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15337         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
15338         Without this change, in bleeding-edge fileutils Autoconf complains
15339         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
15340         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
15341         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
15342         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
15344 2014-10-24  Daiki Ueno  <ueno@gnu.org>
15346         iconv: avoid false detection of non-working iconv
15347         The INBUF arguments of iconv can be either 'const char **'
15348         or 'char **'.  If CC is g++, the difference causes a compile error
15349         and thus leads to a false detection of non-working iconv.
15350         Reported by Eli Zaretskii and Werner LEMBERG in:
15351         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
15352         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
15353         iconv.  Bump serial number.
15355 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15357         bootstrap: print more diagnostics for missing programs
15358         * build-aux/bootstrap: only suppress stderr when checking for
15359         alternative program names.  This supports programs issuing non
15360         standard error messages.
15362 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15364         bootstrap: only update the gnulib submodule
15365         * build-aux/bootstrap: Restrict the "submodule update" command
15366         to the gnulib path.
15368 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15370         symlinkat: port to AIX 7.1
15371         * doc/posix-functions/symlinkat.texi (symlinkat):
15372         Mention AIX porting problem.
15373         * lib/symlinkat.c: Always include errno.h.
15374         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
15375         * lib/unistd.in.h (symlinkat): Add replacement machinery.
15376         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
15377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
15378         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
15379         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
15380         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
15382         readlinkat: port to AIX 7.1
15383         * doc/posix-functions/readlink.texi (readlink):
15384         * doc/posix-functions/readlinkat.texi (readlinkat):
15385         Mention AIX porting problem.
15386         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
15387         New function.
15388         * lib/unistd.in.h (readlinkat): Add replacement machinery.
15389         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
15390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
15391         * modules/readlinkat (configure.ac): Also compile replacement
15392         if REPLACE_READLINKAT.
15393         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
15395 2014-10-12  Karl Berry  <karl@gnu.org>
15397         * doc/posix-functions/dirname.texi: remove spurious {.
15399 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
15401         basename, dirname: Improve documentation.
15402         * doc/posix-functions/basename.texi: Mention dirname module and
15403         base_name() function.
15404         * doc/posix-functions/dirname.texi: Mention dir_name() and
15405         mdir_name() functions.
15406         Suggested by Werner LEMBERG <wl@gnu.org>.
15408 2014-09-24  Jim Meyering  <meyering@fb.com>
15410         exclude: declare exclude_patopts static
15411         * lib/exclude.c (exclude_patopts): Declare static,
15412         to avoid triggering a -Wmissing-prototypes warning.
15413         The alternative (declaring it in the .h file) would
15414         require publicizing the private "struct patopts".
15416 2014-09-21  Werner Lemberg  <wl@gnu.org>
15418         dirname: support compilation with C++
15419         * lib/dirname.h: Add necessary C linkage declarations.
15421 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15423         qsort_r: include <config.h>
15424         Problem reported by Tom G. Christensen in:
15425         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
15426         * lib/qsort.c [!_LIBC]: Include <config.h> first.
15428 2014-09-16  Dylan Cali  <calid1984@gmail.com>
15430         avltree-list: avoid compiler warnings (trivial)
15431         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
15432         -Werror=suggest-attribute=pure.
15433         * lib/gl_array_list.c: Likewise.
15434         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
15435         declaration to avoid -Werror=missing-prototypes.  This is not added
15436         to a header as only exported for tests.  Add (void) to the
15437         check_invariants() call to indicate we're discarding the result
15438         in this context which avoids -Werror=unused-value.  Note we don't
15439         use ignore_value here to avoid a dependency as we know we'll not
15440         be adding __attribute__((warn_unused_result)) to check_invariants().
15441         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
15443 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15445         qsort_r: new module, for GNU-style qsort_r
15446         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
15448 2014-09-15  Werner LEMBERG  <wl@gnu.org>
15450         strerror_r-posix: support compilation with C++
15451         * lib/strerror_r.c: Add necessary C linkage declarations.
15453 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
15455         fcntl-h: fix compilation with Intel C++ compiler (trivial)
15456         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
15458 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
15460         mountlist: use /proc/self/mountinfo when available
15461         Use libmount to propagate device IDs provided by Linux in
15462         /proc/self/mountinfo.  This will give more accurate output when
15463         using df in chroot'ed environments as the device IDs are not
15464         determined by stat() which may be inaccurate within the chroot.
15465         * lib/mountlist.c (read_file_system_list): Use the libmount routines
15466         from util-linux to parse "/proc/self/mountinfo" or fall back to
15467         standard getmntent() processing.
15468         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
15469         getmntent() is used, as is the case on GNU/Linux.
15471 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15473         users.txt: add cmogstored
15474         cmogstored has used gnulib since the beginning in 2012 to support
15475         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15477 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15479         Trivial change.
15480         * gnulib-tool: Use same options as build-aux/bootstrap to download
15481         PO files.
15483 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15485         Trivial change.
15486         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15488 2014-09-04  Eric Blake  <eblake@redhat.com>
15490         maintainer-makefile: add syntax check for useless ';;'
15491         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15493 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15495         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15496         Problem reported by Assaf Gordon in:
15497         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15498         Apparently Ubuntu is doing some fancy link-time optimization
15499         that doesn't work with -lpthread but does work with -pthread.
15500         Work around the bug by preferring -pthread to -lpthread.
15501         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15502         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15503         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15504         Treat -pthread like -lpthread.
15506 2014-09-04  Eric Blake  <eblake@redhat.com>
15508         error: drop spurious semicolon
15509         * lib/error.c (__error_at_line): Fix ';;'.
15511 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15513         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15514         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15515         Override AC_C_RESTRICT unconditionally.
15516         Update from autoconf, incorporating:
15517         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15518         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15520 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15522         manywarnings: add GCC 4.9 warnings
15523         Also, make it easier to maintain this in the future.
15524         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15525         -Wconditionally-supported, -Wdelete-incomplete,
15526         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15527         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15528         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15529         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15530         only for older GCC versions that need them.  Handle
15531         -Wnormalized=nfc specially, so that the 'comm' command used
15532         for maintenance doesn't get confused.
15534 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15536         vasnprintf: fix bugs in width computation
15537         * lib/vasnprintf.c (VASNPRINTF):
15538         Rework previous change, which introduced a bug,
15539         to avoid the warning in a different way.
15540         Avoid undefined behavior if the width arg is less than -INT_MAX.
15541         Avoid unnecessary use of HAS_WIDTH local.
15543 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15545         vasnprintf: Avoid signed/unsigned comparison warning.
15546         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15547         compare end addr of generated string w/ maximum end addr.
15549 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15551         parse-datetime: Avoid pointer difference.
15552         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15553         instead of calculating difference of pointers.  This removes an
15554         annoying warning, devoid of any use.
15556 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15558         qsort_r: new module, for GNU-style qsort_r
15559         This works even on FreeBSD, which has an incompatible qsort_r API.
15560         * MODULES.html.sh: Add it.
15561         * doc/glibc-functions/qsort_r.texi: It's now supported.
15562         * lib/qsort.c: New file, taken from glibc with minor changes
15563         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15564         removed.
15565         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15566         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15568         * modules/qsort_r, modules/qsort_r-tests: New files.
15569         * modules/stdlib (Makefile): Set up its defaults.
15570         * tests/test-qsort_r.c: New file.
15572 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15574         vla: new module
15575         GNU RCS can use this, mostly for documentation I expect.  See:
15576         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15577         * MODULES.html.sh: Add vla.
15578         * lib/vla.h, modules/vla: New files.
15580 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15582         localename: make gl_locale_name_thread really thread-safe on Windows
15583         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15584         "glthread/lock.h".
15585         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15586         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15588 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15590         getpass: don't assume struct termios
15591         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15592         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15593         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15595         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15596         Problem reported by Jonas 'Sortie' Termansen in:
15597         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15598         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15599         Implement via sysconf for platforms that lack getdtablesize.
15601         vararrays: modernize AC_C_VARARRAYS for C11
15602         This backports a change I recently made to Autoconf.
15603         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15604         VLAs are not supported, as this is what C11 does.  The old macro
15605         HAVE_C_VARARRAYS is still defined if they are supported, but is
15606         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15608 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15610         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15611         * build-aux/install-reloc (func_create_wrapper): Also wrap
15612         strerror-override, stat, stat.
15614 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15616         sys_select: fix FD_ZERO problem on Solaris 10
15617         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15618         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15619         to expand to an expression that invoked memset without necessarily
15620         including <string.h>.  The problem was that the first include
15621         defined _SYS_TIME_H, causing the second include to short-circuit.
15622         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15623         Also, fix what appears to be a cut-and-paste typo, by replacing
15624         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15625         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15627         accept: document Solaris 10 type glitch
15628         * doc/posix-functions/accept.texi (accept): Mention that
15629         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15631 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15633         extern-inline: port to FreeBSD, DragonFly
15634         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15635         is present if either __DragonFly__ or __FreeBSD__ is defined.
15636         FreeBSD problem reported by Andrey Borzenkov in:
15637         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15638         Also, worry about __APPLE__ only if __MACH__ is also defined,
15639         as this is more consistent with the rest of gnulib.
15640         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15641         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15643 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15645         regex: Make #if/#ifdef usage consistent for DEBUG
15646         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15647         of the inconsistent usage of #if and #ifdef as that works with
15648         both Glibc and Gnulib's style.
15650 2014-07-31  Eric Blake  <eblake@redhat.com>
15652         openat-die: use _Noreturn markup
15653         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15654         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15655         _Noreturn.
15657 2014-07-30  Eric Blake  <eblake@redhat.com>
15659         test-open: port to cygwin, which lacks Fortify
15660         * tests/test-open.h (ALWAYS_INLINE): New macro.
15661         (__always_inline): Don't abuse internal symbol on non-glibc.
15663 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15665         localename: Enforce declarations before statements.
15666         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15667         first statement.
15669 2014-07-18  Jim Meyering  <meyering@fb.com>
15671         test-userspec: don't look up numeric user names
15672         * tests/test-userspec.c: I found a system for which getpwnam("0")
15673         returned a pointer to a non-root user's entry, and that made the
15674         test fail.
15675         (T): Prefix each numeric input with "+", to inhibit lookup.
15677 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15679         localcharset, localename: MS-Windows support for non-default locales
15680         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15681         falling back on the default system codepage, try extracting
15682         the codepage from what 'setlocale' returns.  This allows to
15683         take into account changes of the codeset due to non-default
15684         locale set by a previous call to 'setlocale'.
15685         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15686         Define if not already defined.
15687         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15688         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15689         current locale by calling 'setlocale', then converting the
15690         locale name into LCID by calling 'get_lcid'.  This allows to
15691         take into account changes in the current locale from the
15692         default one, in contrast to GetThreadLocale.
15694 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15696         announce-gen: avoid failure when Digest::SHA is installed
15697         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15698         Digest::SHA1->new in print_checksums fails.
15699         * build-aux/announce-gen (digest_classes): New associative array
15700         for available message digest implementations.
15701         (print_locations): Use it.
15703 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15705         gettext: revert "update macros to version 0.19"
15706         This reverts commit 9b9370ca, as it currently requires that
15707         developers of any project that explicitly uses the gettext module
15708         or implicitly uses it through the utimens-tests or
15709         futimens-tests modules, use gettext >= 0.19.
15710         However there are some stability and availablity issues with
15711         that version at present.  We can reinstate this soon, when stability
15712         is addressed and packages are more readily available.
15714 2014-07-12  Jim Meyering  <meyering@fb.com>
15716         regex: don't deref NULL upon heap allocation failure
15717         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15718         failure in one more place.
15719         To trigger the segfault, configure grep -with-included-regex,
15720         build it, and run these commands:
15721         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15722         I discovered this while replying to a private report from
15723         Jens Schleusener about excessive memory consumption by grep
15724         when using a regular expression like the one above.
15726 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15728         regex: fix memory leak in compiler
15729         Fix by Andreas Schwab in:
15730         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15731         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15732         constructed tree before returning error.
15734 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15736         announce-gen: avoid perl warnings
15737         * build-aux/announce-gen: add two minor checks to avoid
15738         "use of uninitialized value" warnings when command-line parameters are
15739         missing.
15741 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15743         localename: avoid -Wsuggest-attribute={const,pure} warnings
15744         * lib/localename.c (string_has): Tag internal function as pure.
15745         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15746         as const when appropriate.
15748 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15750         nl_langinfo: Fix last change.
15751         * lib/nl_langinfo.c (includes): Drop redundant include.
15753 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15755         error: Fix -Wundef warnings in glibc
15756         * lib/error.c [_LIBC]: Define default macros for
15757         glibc.
15758         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15759         Check _LIBC before STRERROR_R_CHAR_P.
15761         error: Sync from glibc master
15762         * lib/error.c [_LIBC]: Remove INTUSE usage.
15763         (error_tail): Remove unused macro ALLOCA_LIMIT.
15764         Fix potential buffer overflow.  Fix potential NULL dereference
15765         in strcmp.
15767 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15769         nl_langinfo: fix build under mingw
15770         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15772 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15774         mountlist: do not classify a bind-mounted dir entry as "dummy"
15775         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15776         1-argument getmntent() (instead of assuming absence).
15778 2014-07-08  Eric Blake  <eblake@redhat.com>
15780         maint.mk: less syntax-check noise when SIGPIPE is ignored
15781         * top/maint.mk (_sc_header_without_use)
15782         (sc_require_config_h_first): Parse full list.
15784 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15785             Paul Eggert  <eggert@cs.ucla.edu>
15787         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15788         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15789         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15790         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15791         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15792         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15793         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15794         Include <stdio.h> if Microsoft Windows.
15795         Include <time.h> if !REPLACE_NL_LANGINFO.
15796         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15797         and with improvements for Microsoft Windows.
15798         (rpl_nl_langinfo): Use it.
15799         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15800         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15801         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15802         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15803         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15804         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15805         corresponding values returned by 'localeconv'.  Compute the values
15806         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15807         'strftime' with a suitable struct tm value.
15809 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15811         Bruno Haible has stepped down as maintainer.
15812         See Karl Berry in:
15813         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15814         Daiki Ueno has volunteered to maintain libunistring; see:
15815         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15816         * modules/gen-uni-tables, modules/libunistring:
15817         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15818         * modules/unicase/base, modules/unicase/cased:
15819         * modules/unicase/empty-prefix-context:
15820         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15821         * modules/unicase/locale-language, modules/unicase/special-casing:
15822         * modules/unicase/tocasefold, modules/unicase/tolower:
15823         * modules/unicase/totitle, modules/unicase/toupper:
15824         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15825         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15826         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15827         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15828         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15829         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15830         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15831         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15832         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15833         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15834         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15835         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15836         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15837         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15838         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15839         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15840         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15841         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15842         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15843         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15844         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15845         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15846         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15847         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15848         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15849         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15850         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15851         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15852         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15853         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15854         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15855         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15856         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15857         * modules/uniconv/u16-conv-to-enc:
15858         * modules/uniconv/u16-strconv-from-enc:
15859         * modules/uniconv/u16-strconv-from-locale:
15860         * modules/uniconv/u16-strconv-to-enc:
15861         * modules/uniconv/u16-strconv-to-locale:
15862         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15863         * modules/uniconv/u32-strconv-from-enc:
15864         * modules/uniconv/u32-strconv-from-locale:
15865         * modules/uniconv/u32-strconv-to-enc:
15866         * modules/uniconv/u32-strconv-to-locale:
15867         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15868         * modules/uniconv/u8-strconv-from-enc:
15869         * modules/uniconv/u8-strconv-from-locale:
15870         * modules/uniconv/u8-strconv-to-enc:
15871         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15872         * modules/unictype/bidicategory-all:
15873         * modules/unictype/bidicategory-byname:
15874         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15875         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15876         * modules/unictype/bidiclass-byname:
15877         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15878         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15879         * modules/unictype/block-all, modules/unictype/block-list:
15880         * modules/unictype/block-of, modules/unictype/block-test:
15881         * modules/unictype/category-C, modules/unictype/category-Cc:
15882         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15883         * modules/unictype/category-Co, modules/unictype/category-Cs:
15884         * modules/unictype/category-L, modules/unictype/category-LC:
15885         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15886         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15887         * modules/unictype/category-Lu, modules/unictype/category-M:
15888         * modules/unictype/category-Mc, modules/unictype/category-Me:
15889         * modules/unictype/category-Mn, modules/unictype/category-N:
15890         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15891         * modules/unictype/category-No, modules/unictype/category-P:
15892         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15893         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15894         * modules/unictype/category-Pi, modules/unictype/category-Po:
15895         * modules/unictype/category-Ps, modules/unictype/category-S:
15896         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15897         * modules/unictype/category-Sm, modules/unictype/category-So:
15898         * modules/unictype/category-Z, modules/unictype/category-Zl:
15899         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15900         * modules/unictype/category-all, modules/unictype/category-and:
15901         * modules/unictype/category-and-not, modules/unictype/category-byname:
15902         * modules/unictype/category-longname, modules/unictype/category-name:
15903         * modules/unictype/category-none, modules/unictype/category-of:
15904         * modules/unictype/category-or, modules/unictype/category-test:
15905         * modules/unictype/category-test-withtable:
15906         * modules/unictype/combining-class:
15907         * modules/unictype/combining-class-all:
15908         * modules/unictype/combining-class-byname:
15909         * modules/unictype/combining-class-longname:
15910         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15911         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15912         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15913         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15914         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15915         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15916         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15917         * modules/unictype/digit, modules/unictype/joininggroup-all:
15918         * modules/unictype/joininggroup-byname:
15919         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15920         * modules/unictype/joiningtype-all:
15921         * modules/unictype/joiningtype-byname:
15922         * modules/unictype/joiningtype-longname:
15923         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15924         * modules/unictype/mirror, modules/unictype/numeric:
15925         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15926         * modules/unictype/property-ascii-hex-digit:
15927         * modules/unictype/property-bidi-arabic-digit:
15928         * modules/unictype/property-bidi-arabic-right-to-left:
15929         * modules/unictype/property-bidi-block-separator:
15930         * modules/unictype/property-bidi-boundary-neutral:
15931         * modules/unictype/property-bidi-common-separator:
15932         * modules/unictype/property-bidi-control:
15933         * modules/unictype/property-bidi-embedding-or-override:
15934         * modules/unictype/property-bidi-eur-num-separator:
15935         * modules/unictype/property-bidi-eur-num-terminator:
15936         * modules/unictype/property-bidi-european-digit:
15937         * modules/unictype/property-bidi-hebrew-right-to-left:
15938         * modules/unictype/property-bidi-left-to-right:
15939         * modules/unictype/property-bidi-non-spacing-mark:
15940         * modules/unictype/property-bidi-other-neutral:
15941         * modules/unictype/property-bidi-pdf:
15942         * modules/unictype/property-bidi-segment-separator:
15943         * modules/unictype/property-bidi-whitespace:
15944         * modules/unictype/property-byname:
15945         * modules/unictype/property-case-ignorable:
15946         * modules/unictype/property-cased:
15947         * modules/unictype/property-changes-when-casefolded:
15948         * modules/unictype/property-changes-when-casemapped:
15949         * modules/unictype/property-changes-when-lowercased:
15950         * modules/unictype/property-changes-when-titlecased:
15951         * modules/unictype/property-changes-when-uppercased:
15952         * modules/unictype/property-combining:
15953         * modules/unictype/property-composite:
15954         * modules/unictype/property-currency-symbol:
15955         * modules/unictype/property-dash:
15956         * modules/unictype/property-decimal-digit:
15957         * modules/unictype/property-default-ignorable-code-point:
15958         * modules/unictype/property-deprecated:
15959         * modules/unictype/property-diacritic:
15960         * modules/unictype/property-extender:
15961         * modules/unictype/property-format-control:
15962         * modules/unictype/property-grapheme-base:
15963         * modules/unictype/property-grapheme-extend:
15964         * modules/unictype/property-grapheme-link:
15965         * modules/unictype/property-hex-digit:
15966         * modules/unictype/property-hyphen:
15967         * modules/unictype/property-id-continue:
15968         * modules/unictype/property-id-start:
15969         * modules/unictype/property-ideographic:
15970         * modules/unictype/property-ids-binary-operator:
15971         * modules/unictype/property-ids-trinary-operator:
15972         * modules/unictype/property-ignorable-control:
15973         * modules/unictype/property-iso-control:
15974         * modules/unictype/property-join-control:
15975         * modules/unictype/property-left-of-pair:
15976         * modules/unictype/property-line-separator:
15977         * modules/unictype/property-logical-order-exception:
15978         * modules/unictype/property-lowercase, modules/unictype/property-math:
15979         * modules/unictype/property-non-break:
15980         * modules/unictype/property-not-a-character:
15981         * modules/unictype/property-numeric:
15982         * modules/unictype/property-other-alphabetic:
15983         * modules/unictype/property-other-default-ignorable-code-point:
15984         * modules/unictype/property-other-grapheme-extend:
15985         * modules/unictype/property-other-id-continue:
15986         * modules/unictype/property-other-id-start:
15987         * modules/unictype/property-other-lowercase:
15988         * modules/unictype/property-other-math:
15989         * modules/unictype/property-other-uppercase:
15990         * modules/unictype/property-paired-punctuation:
15991         * modules/unictype/property-paragraph-separator:
15992         * modules/unictype/property-pattern-syntax:
15993         * modules/unictype/property-pattern-white-space:
15994         * modules/unictype/property-private-use:
15995         * modules/unictype/property-punctuation:
15996         * modules/unictype/property-quotation-mark:
15997         * modules/unictype/property-radical:
15998         * modules/unictype/property-sentence-terminal:
15999         * modules/unictype/property-soft-dotted:
16000         * modules/unictype/property-space:
16001         * modules/unictype/property-terminal-punctuation:
16002         * modules/unictype/property-test, modules/unictype/property-titlecase:
16003         * modules/unictype/property-unassigned-code-value:
16004         * modules/unictype/property-unified-ideograph:
16005         * modules/unictype/property-uppercase:
16006         * modules/unictype/property-variation-selector:
16007         * modules/unictype/property-white-space:
16008         * modules/unictype/property-xid-continue:
16009         * modules/unictype/property-xid-start:
16010         * modules/unictype/property-zero-width, modules/unictype/scripts:
16011         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
16012         * modules/unictype/syntax-c-whitespace:
16013         * modules/unictype/syntax-java-ident:
16014         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
16015         * modules/unigbrk/u16-grapheme-breaks:
16016         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
16017         * modules/unigbrk/u32-grapheme-breaks:
16018         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
16019         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
16020         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
16021         * modules/unigbrk/uc-is-grapheme-break:
16022         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
16023         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
16024         * modules/unilbrk/u16-width-linebreaks:
16025         * modules/unilbrk/u32-possible-linebreaks:
16026         * modules/unilbrk/u32-width-linebreaks:
16027         * modules/unilbrk/u8-possible-linebreaks:
16028         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
16029         * modules/unilbrk/ulc-possible-linebreaks:
16030         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
16031         * modules/uniname/uniname, modules/uninorm/base:
16032         * modules/uninorm/canonical-decomposition:
16033         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
16034         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
16035         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
16036         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
16037         * modules/uninorm/nfkc, modules/uninorm/nfkd:
16038         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
16039         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
16040         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
16041         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
16042         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
16043         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
16044         * modules/unistdio/base, modules/unistdio/u-printf-args:
16045         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
16046         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
16047         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
16048         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
16049         * modules/unistdio/u16-u16-sprintf:
16050         * modules/unistdio/u16-u16-vasnprintf:
16051         * modules/unistdio/u16-u16-vasprintf:
16052         * modules/unistdio/u16-u16-vsnprintf:
16053         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
16054         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
16055         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
16056         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
16057         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
16058         * modules/unistdio/u32-u32-asnprintf:
16059         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
16060         * modules/unistdio/u32-u32-sprintf:
16061         * modules/unistdio/u32-u32-vasnprintf:
16062         * modules/unistdio/u32-u32-vasprintf:
16063         * modules/unistdio/u32-u32-vsnprintf:
16064         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
16065         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
16066         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
16067         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
16068         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
16069         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
16070         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
16071         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
16072         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
16073         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
16074         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
16075         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
16076         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
16077         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
16078         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
16079         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
16080         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
16081         * modules/unistr/u16-check, modules/unistr/u16-chr:
16082         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
16083         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
16084         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
16085         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
16086         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
16087         * modules/unistr/u16-move, modules/unistr/u16-next:
16088         * modules/unistr/u16-prev, modules/unistr/u16-set:
16089         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
16090         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
16091         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
16092         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
16093         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
16094         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
16095         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
16096         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
16097         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
16098         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
16099         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
16100         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
16101         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
16102         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
16103         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
16104         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
16105         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
16106         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
16107         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
16108         * modules/unistr/u32-next, modules/unistr/u32-prev:
16109         * modules/unistr/u32-set, modules/unistr/u32-startswith:
16110         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
16111         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
16112         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
16113         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
16114         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
16115         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
16116         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
16117         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
16118         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
16119         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
16120         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
16121         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
16122         * modules/unistr/u8-check, modules/unistr/u8-chr:
16123         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
16124         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
16125         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
16126         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
16127         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
16128         * modules/unistr/u8-next, modules/unistr/u8-prev:
16129         * modules/unistr/u8-set, modules/unistr/u8-startswith:
16130         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
16131         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
16132         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
16133         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
16134         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
16135         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
16136         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
16137         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
16138         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
16139         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
16140         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
16141         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
16142         * modules/uniwbrk/base, modules/uniwbrk/table:
16143         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
16144         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
16145         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
16146         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
16147         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
16148         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
16149         * modules/uniwidth/width, modules/utf16-ucs4:
16150         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
16151         * modules/utf8-ucs4-unsafe:
16152         Change maintainer from Bruno Haible to Daiki Ueno.
16153         This is my guess at the libunistring modules; please feel free
16154         to fix if I guessed incorrectly.
16155         * modules/accept4, modules/acl, modules/acos, modules/acosf:
16156         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
16157         * modules/areadlink, modules/array-list, modules/array-mergesort:
16158         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
16159         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
16160         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
16161         * modules/binary-io, modules/bison-i18n, modules/btowc:
16162         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
16163         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
16164         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
16165         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
16166         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
16167         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
16168         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
16169         * modules/closedir, modules/concat-filename, modules/copy-file:
16170         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
16171         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
16172         * modules/csharpcomp-script, modules/csharpexec:
16173         * modules/csharpexec-script, modules/ctype, modules/diffseq:
16174         * modules/dprintf, modules/dprintf-posix, modules/dup:
16175         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
16176         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
16177         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
16178         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
16179         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
16180         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
16181         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
16182         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
16183         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
16184         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
16185         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
16186         * modules/findprog, modules/findprog-lgpl, modules/floor:
16187         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
16188         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
16189         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
16190         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
16191         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
16192         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
16193         * modules/freadable, modules/freadahead, modules/freadptr:
16194         * modules/freadseek, modules/freopen, modules/frexp:
16195         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
16196         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
16197         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
16198         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
16199         * modules/ftello, modules/full-read, modules/full-write:
16200         * modules/fwritable, modules/fwriteerror, modules/gcd:
16201         * modules/get-rusage-as, modules/get-rusage-data:
16202         * modules/getdtablesize, modules/getrusage, modules/gettext:
16203         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
16204         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
16205         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
16206         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
16207         * modules/iconv, modules/iconv-h, modules/iconv_open:
16208         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
16209         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
16210         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
16211         * modules/integer_length_ll, modules/ioctl, modules/isatty:
16212         * modules/isblank, modules/isnand, modules/isnand-nolibm:
16213         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
16214         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
16215         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
16216         * modules/javaexec, modules/javaexec-script, modules/javaversion:
16217         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
16218         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
16219         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
16220         * modules/lib-symbol-visibility, modules/libsigsegv:
16221         * modules/linked-list, modules/linkedhash-list, modules/list:
16222         * modules/localcharset, modules/locale, modules/localeconv:
16223         * modules/localename, modules/lock, modules/log, modules/log-ieee:
16224         * modules/log10, modules/log10-ieee, modules/log10f:
16225         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
16226         * modules/log1p, modules/log1p-ieee, modules/log1pf:
16227         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
16228         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
16229         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
16230         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
16231         * modules/logf, modules/logf-ieee, modules/login_tty:
16232         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
16233         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
16234         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
16235         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
16236         * modules/mbscspn, modules/mbsinit, modules/mbslen:
16237         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
16238         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
16239         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
16240         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
16241         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
16242         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
16243         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
16244         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
16245         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
16246         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
16247         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
16248         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
16249         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
16250         * modules/posix_spawn, modules/posix_spawn-internal:
16251         * modules/posix_spawn_file_actions_addclose:
16252         * modules/posix_spawn_file_actions_adddup2:
16253         * modules/posix_spawn_file_actions_addopen:
16254         * modules/posix_spawn_file_actions_destroy:
16255         * modules/posix_spawn_file_actions_init:
16256         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
16257         * modules/posix_spawnattr_getpgroup:
16258         * modules/posix_spawnattr_getschedparam:
16259         * modules/posix_spawnattr_getschedpolicy:
16260         * modules/posix_spawnattr_getsigdefault:
16261         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
16262         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
16263         * modules/posix_spawnattr_setschedparam:
16264         * modules/posix_spawnattr_setschedpolicy:
16265         * modules/posix_spawnattr_setsigdefault:
16266         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
16267         * modules/pow, modules/powf, modules/printf-frexp:
16268         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
16269         * modules/progname, modules/propername, modules/pselect:
16270         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
16271         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
16272         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
16273         * modules/read, modules/readdir, modules/readlink:
16274         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
16275         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
16276         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
16277         * modules/relocatable-script, modules/remainder:
16278         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
16279         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
16280         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
16281         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
16282         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
16283         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
16284         * modules/setlocale, modules/sh-quote, modules/shutdown:
16285         * modules/signal, modules/signbit, modules/sigpipe:
16286         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
16287         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
16288         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
16289         * modules/snippet/link-warning, modules/snippet/unused-parameter:
16290         * modules/snprintf, modules/snprintf-posix, modules/spawn:
16291         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
16292         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
16293         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
16294         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
16295         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
16296         * modules/streq, modules/strerror_r-posix, modules/striconv:
16297         * modules/striconveh, modules/striconveha, modules/strncat:
16298         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
16299         * modules/sublist, modules/sys_resource, modules/sys_utsname:
16300         * modules/sys_wait, modules/system-posix, modules/system-quote:
16301         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
16302         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
16303         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
16304         * modules/truncf, modules/truncf-ieee, modules/truncl:
16305         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
16306         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
16307         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
16308         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
16309         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
16310         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
16311         * modules/wait-process, modules/waitpid, modules/wcpcpy:
16312         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
16313         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
16314         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
16315         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
16316         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
16317         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
16318         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
16319         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
16320         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
16321         * modules/write, modules/xconcat-filename, modules/xlist:
16322         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
16323         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
16324         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
16325         * modules/y0, modules/y1, modules/yn:
16326         Remove Bruno Haible as maintainer; if he's the sole maintainer,
16327         change the maintainer to 'all'.  Let's hope someone volunteers.
16329 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
16331         mktime: merge #if/#ifdef usage from glibc
16332         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
16333         as that works with both Glibc's and Gnulib's style.
16334         See thread starting at Siddhesh Poyarekar's bug report at:
16335         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
16337 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
16339         git-version-gen: improve option descriptions
16340         * build-aux/git-version-gen: Mention that --prefix and --fallback
16341         have a mandatory argument.
16343 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16345         regex: fix memory leak in compiler
16346         Fix by Andreas Schwab in:
16347         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
16348         * lib/regcomp.c (parse_expression): Deallocate partially
16349         constructed tree before returning error.
16351         regex: merge patch from libc
16352         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
16353         Combine __USE_BSD and __USE_SVID into __USE_MISC.
16354         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
16356 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
16358         acl: port to gcc -Wredundant-decls
16359         From a request by Dmitry Antipov in:
16360         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
16361         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
16362         "#ifndef _GL_ACL_H".
16364 2014-06-11  Bruce Korb  <bkorb@gnu.org>
16365         Jim Meyering  <meyering@fb.com>
16367         parse-duration: eliminate 68-year duration limit
16368         * lib/parse-duration.c: Include "intprops.h".
16369         (TIME_MAX): Rename to MAX_DURATION and define to
16370         TYPE_MAXIMUM(time_t).
16371         * modules/parse-duration (Depends-on): Add intprops.
16372         Reported by Jonas 'Sortie' Termansen.
16374 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16376         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
16377         * modules/pthread (Depends-on): Add 'extensions', as it defines
16378         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
16379         (configure.ac-early): New section.
16380         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
16381         it is no longer needed.
16383 2014-06-14  Pádraig Brady  <P@draigBrady.com>
16385         pthread: define thread-safe macros on some platforms
16386         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
16387         for thread-safe operation on some platforms.
16389 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16391         regex: don't be multithreaded if USE_UNLOCKED_IO.
16392         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
16393         * lib/regex_internal.h: Do not use multithreaded version if
16394         USE_UNLOCKED_IO is defined.  This is a hack, but it works
16395         around a porting bug with coreutils 8.22 on AIX 7.1.
16397 2014-06-11  Daiki Ueno  <ueno@gnu.org>
16399         gettext: update macros to version 0.19
16400         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
16401         depend on gl_EXTERN_INLINE and drop support for older Bison
16402         versions.
16404 2014-06-10  Pádraig Brady  <P@draigBrady.com>
16406         select,poll: fix console handle check on windows 8
16407         lib/poll.c (IsConsoleHandle): Change from testing the lower
16408         2 bits of the handle to the more expensive but accurate syscall.
16409         lib/select.c: Likewise.
16411 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16413         select: fix waiting on anonymous pipes on MS-Windows
16414         * lib/select.c (rpl_select): Fall back to polling when select()
16415         indicates there is nothing to check, while due to the timeout not
16416         expiring, activity is indicated on one of the handles.
16417         Also clear the TIMEOUT argument if the timer does expire.
16419 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16421         times: fix to return non constant value on MS-Windows
16422         * lib/times.c (times): Don't use the process creation time,
16423         rather clock() which on windows returns the number of
16424         clock ticks since the process started.
16426 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
16428         isatty: fix to work on windows 8
16429         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
16430         2 bits of the handle to the more expensive but accurate syscall.
16432 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16434         maint: fix typo in fdl.texi
16435         * doc/fdl.texi: Fix typo (missing '@').
16436         Somehow this was in fdl.texi but not fdl-1.3.texi.
16438 2014-06-06  Ben Walton  <bdwalton@gmail.com>
16440         mountlist: avoid hasmntopt const type warning on solaris
16441         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
16442         with char * instead of const char *.  Passing the constant string
16443         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
16444         to avoid the warning.
16446 2014-06-04  Eric Blake  <eblake@redhat.com>
16448         maintainer-makefile: delete obsolete code
16449         * top/maint.mk (build_aux): Drop old code, as threatened.
16451         maintainer-makefile: avoid spurious error messages
16452         * top/maint.mk (syntax-check): Guard definition and use of
16453         $(shell) by whether Makefile is present.
16455 2014-06-03  Ben Walton  <bdwalton@gmail.com>
16457         rename: avoid unused-but-set-variable compiler warning
16458         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
16459         it is possible that dst_exists may be set but not used.  Mark it with
16460         the unused attribute to avoid compiler warnings.
16462 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16464         rename: mark a label as potentially unused
16465         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
16466         by marking the out label as potentially unused.
16467         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
16469 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16471         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16472         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16474 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16476         acl: apply pure attribute to two functions
16477         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16478         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16480 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16482         gnulib-common.m4: add _GL_UNUSED_LABEL
16483         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16484         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16486 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16488         dup2, fcntl, fcntl-h: port to AIX 7.1
16489         This fixes some porting problems discovered when testing the latest
16490         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16491         in grep but it could be important for other applications.
16492         * doc/posix-functions/dup2.texi:
16493         * doc/posix-functions/fcntl.texi:
16494         * doc/posix-headers/fcntl.texi:
16495         Document AIX bugs.
16496         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16497         Define to 0 if outside 'int' range.
16498         * m4/dup2.m4 (gl_FUNC_DUP2):
16499         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16500         Check for getdtablesize.  If it's available, test a value just
16501         outside its range instead of testing 1000000.  When cross-compiling,
16502         guess that AIX will fail this improved test.
16504 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16506         printf, config.rpath: Port to FreeBSD 10.
16507         Problem reported by Tijl Coosemans in:
16508         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16509         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16510         (hardcode_direct): Simplify FreeBSD configuration.
16511         (library_names_spec): Don't mishandle FreeBSD 10+.
16512         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16513         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16514         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16515         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16516         Don't mishandle FreeBSD 10+ when cross-compiling.
16518         ftoastr: work around compiler bug in IBM xlc 12.1
16519         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16520         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16521         around a compiler bug in IBM xlc 12.1.0.0: it complains
16522         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16523         _GL_FLT_PREC_BOUND.'
16525 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16527         valgrind-tests: fixed misleading help message
16528         * m4/valgrind-tests.m4: The help message generated by configure
16529         implied that valgrind was disabled by default, which it wasn't.
16530         Adjusted the help message using s/enable/disable/ to clarify.
16532 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16534         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16535         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16536         first double of a PowerPC "double double" pair.
16537         * tests/test-isinf.c (test_isinfl): Likewise.
16538         * tests/test-isnan.c (test_long_double): Likewise.
16539         * tests/test-isnanl.h (main): Likewise.
16540         * tests/test-signbit.c (test_signbitl): Likewise.
16542 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16544         exclude-tests: port to AIX 7.1
16545         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16546         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16547         the regex code uses locks.
16549 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16551         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16552         Without this fix, Emacs would sometimes call sigprocmask instead
16553         of pthread_sigmask, which is a no-no in multithreaded applications.
16554         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16555         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16556         Suppress check for pthread_sigmask working without -lpthread if
16557         the application always links with -lpthread.  Do not link with
16558         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16559         * m4/timer_time.m4 (gl_TIMER_TIME):
16560         Require gl_THREADLIB only if it is defined.  Do not append
16561         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16563 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16565         gnulib-tool: wget translations using --no-verbose rather than --quiet
16566         This allows the user to see error messages if any (--quiet hides them)
16567         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16569 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16571         gnulib-tool: adjust translation wget to avoid a https redirection
16572         Context: http://translationproject.org/latest/gnulib redirects to
16573            https://translationproject.org/latest/gnulib/
16574         Rationale: if the user falls back to wget, she doesn't have rsync and
16575         is probably in a minimal build environment, where packages such as
16576         'ca-certificates' are missing as well, resulting in a failed (and
16577         difficult to detect since ignored) translation initial fetch.
16578         Consequently let's avoid https if possible, and add the missing
16579         trailing slash.  This also avoids an unnecessary 302 redirection.
16580         * gnulib-tool: Add trailing slash to gnulib URL.
16582 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16584         getlogin_r-tests: check return value rather than errno
16585         * tests/test-getlogin_r.c (main): As per POSIX we should be
16586         verifying the return value from getlogin_r() rather than errno.
16588 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16590         getlogin_r-tests: fix various issues in recent change
16591         * tests/test-getlogin_r.c: Include required headers that were
16592         missed in recent commit eec20b4e.
16593         Also consistently check the errno rather than the return value from
16594         getlogin_r as POSIX only specifies that non zero is returned on error.
16595         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16597 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16599         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16600         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16601         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16602         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16603         * lib/spawn-pipe.c:
16604         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16605         and then 'int open64(const char *, int, ...);', which means the
16606         declaration for 'open' gets lost if we later '#undef open'.
16607         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16608         where the compilation reported the non-fatal error "In function
16609         'openat_proc_name' ... warning: implicit declaration of function
16610         'open'".  In this case the error is relatively harmless, but in
16611         other cases it might not be so minor.
16613 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16615         xalloc: don't potentially generate invalid code for xmemdup calls
16616         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16617         this function can initialize the newly-allocated storage with new
16618         pointers, which means this function is not malloc-like.  See:
16619         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16621 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16623         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16624         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16625         changes from commit 97249cf29 to not depend on environment variables.
16627 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16629         getlogin-tests: avoid false failure under cron
16630         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16631         since that's not what's under test.  Centos 6 was seen to return
16632         EINVAL for ttyname() when run from cron.
16634 2014-05-16  Jim Meyering  <meyering@fb.com>
16636         mbrtowc.m4: fix a comment typo
16637         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16638         emitted documentation string.
16640 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16642         mbrlen, mbrtowc: fix bug with empty input
16643         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16644         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16645         so this is mainly for documentation.
16646         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16647         (gl_FUNC_MBRTOWC): Use it.
16648         * tests/test-mbrtowc.c (main): Test for the bug.
16650 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16652         doc: document mbrtowc and mbrlen problem with empty input
16653         * doc/posix-functions/mbrlen.texi (mbrlen):
16654         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16655         Document portability problem when the input string is empty.  See:
16656         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16658         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16659         Problem reported by Eli Zaretskii in:
16660         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16661         * doc/posix-functions/execl.texi (execl):
16662         * doc/posix-functions/execle.texi (execle):
16663         * doc/posix-functions/execlp.texi (execlp):
16664         * doc/posix-functions/execv.texi (execv):
16665         * doc/posix-functions/execve.texi (execve):
16666         * doc/posix-functions/execvp.texi (execvp):
16667         Mention spawn+exit problem on non-Cygwin Windows platforms.
16669 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16671         getlogin-tests: avoid false failure under sudo/ssh etc.
16672         * modules/getlogin-tests (configure.ac): Check for ttyname().
16673         * tests/test-getlogin.c (main): Don't depend on environment variables
16674         to correlate with getlogin(), since sudo and ssh etc. can tamper
16675         with the LOGNAME and USER env vars.  Instead lookup the name from
16676         the uid associated with the stdin tty.
16678 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16680         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16681         These were found when building the latest grep snapshot on IRIX 6.5.
16682         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16683         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16684         never used later.
16685         * lib/quotearg.c (quoting_options_from_style):
16686         * lib/xstrtol.c (__xstrtol):
16687         Use enum instead of 0, to pacify IRIX 6.5 cc.
16689 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16691         gitlog-to-changelog: revert inclusion of git-log-fix file
16692         * build-aux/git-log-fix: Delete dummy file.
16693         * modules/gitlog-to-changelog: Don't reference (overwrite)
16694         the project specific git-log-fix file.
16696 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16698         maint.mk: Relax the copyright check to cater for non FSF projects
16699         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16700         to not require the "Free" suffix after the copyright years.
16702 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16704         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16705         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16706         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16707         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16708         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16710 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16712         exclude: port to strict C99
16713         Strict C does not allow converting a function pointer to void *
16714         and vice versa.  Pass a pointer to a function pointer instead.
16715         * lib/exclude.c (add_exclude_file):
16716         Pass the address of the function pointer.
16717         (call_addfn): And deference the address here, to match.
16719 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16721         regex: do not depend on malloc-gnu
16722         * modules/regex (Depends-on): Remove malloc-gnu.
16723         It's no longer needed, because of the 2012-12-29 patch
16724         "regex: port to hosts where malloc (0) == NULL".
16725         Reported by Nathan Kennedy in:
16726         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16728 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16730         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16731         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16732         * doc/posix-functions/expl.texi: Mention the workaround.
16734 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16736         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16737         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16738         size to be zero even when the pointer is nonnull.  This
16739         accommodates the use case where P is malloc (0) and *PN is 0 on a
16740         host where malloc (0) yields nonnull.
16742 2014-04-09  Eric Blake  <eblake@redhat.com>
16744         fts: avoid unnecessary strlen calls
16745         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16747 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16749         fts: avoid unnecessary strlen calls
16750         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16751         when that can be faster than strlen.
16753 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16755         fts: avoid unnecessary strlen calls
16756         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16757         (fts_build): Store the length of the dp->d_name entry in a local variable
16758         instead of calling strlen() several times via the above, removed macro.
16759         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16760         run by ~4%, yet this reduces the execution time by about a third if run
16761         via "ltrace -c rm -rf some-dir".
16763 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16765         obstack: Remove ancient NeXTSTEP gcc support conditional
16766         This change will ease merging with glibc.  The "#if ... __NEXT__"
16767         causes a warning with -Wundef which glibc now enables by default.
16768         Problem reported by Will Newton in
16769         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16770         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16771         so go with that.
16772         * lib/obstack.h (__extension__):
16774 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16776         obstack: merge with glibc changes
16777         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16778         This is mostly indenting and commentary changes.
16779         Instances of 'register' have been removed.
16781 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16783         strftime: wrap macros in "do {...} while(0)"
16784         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16785         this macro in "do {...} while(0)" to prevent false use as a
16786         single statement, e.g., in an un-braced "{}" else-block.
16787         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16788         (strftime_case_): Remove 'else' after 'goto' - which was the
16789         only non-fatal, un-braced use of one of the above macros.
16790         Spotted by coverity (NESTING_INDENT_MISMATCH).
16792 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16794         modechange: avoid memory leaks for invalid octal modes
16795         * lib/modechange.c (mode_compile): During the parsing of
16796         notations like +40, free the 'mc' buffer for invalid mode
16797         strings like +17777 (greater than the maximum octal mode),
16798         =18 (bad octal mode characters) or u=1 ('affected' with
16799         octal modes).
16800         Reproducer, e.g.:
16801             $ valgrind --leak-check=full chmod +17777 file
16802         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16803         add notations +40, 00440, etc.".
16804         Spotted by coverity (RESOURCE_LEAK).
16806 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16808         gitlog-to-changelog: include a dummy git-log-fix file
16809         Problem reported by Nathan Stratton Treadway in:
16810         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16811         * build-aux/git-log-fix: New file.
16813 2014-03-13  Jim Meyering  <meyering@fb.com>
16815         gitlog-to-changelog: also include the file, git-log-fix
16816         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16817         Reported by Assaf Gordon.
16819 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16821         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16822         This fixes a bug when ignoring case and when comparing the
16823         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16824         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16825         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16826         titlecase letter is neither lowercase nor uppercase, but
16827         uppercasing the titlecase letter (via towupper) yields the
16828         uppercase letter, so the two letters should match when ignoring case.
16829         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16830         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16831         Don't test whether a character is lowercase before uppercasing it.
16833 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16835         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16836         This is basically one of the options Bruno Haible proposed in:
16837         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16838         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16839         * lib/stdint.in.h: Use it.
16840         * modules/stdint (Depends-on): Add sys_types.
16842 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16844         parse-datetime: fix crash or infloop in TZ="" parsing
16845         * lib/parse-datetime.y (parse_datetime): Break out of the
16846         TZ="" parsing loop once the second significant " is found.
16847         Also skip over any subsequent whitespace to be consistent
16848         with the non TZ= case.
16849         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16851 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16853         savedir: new symbol for fast-read version
16854         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16855         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16856         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16857         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16859 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16861         unistd: port readlink to Mac OS X 10.3.9
16862         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16863         around self-include problem in Mac OS X 10.3.9 when combined with
16864         readlink module.  Problem reported by Klaus Zietler in
16865         <http://bugs.gnu.org/16825>.
16867 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16869         diffseq: remove TOO_EXPENSIVE heuristic
16870         Problem with diffutils reported by Vincent Lefevre in
16871         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16872         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16873         Although appropriate for circa-1993 hardware, these days the heuristic
16874         seems to be more trouble than it's worth.
16875         * lib/diffseq.h: Modernize citations.
16876         (struct context): Remove member too_expensive.
16877         All uses changed.
16878         (struct partition): Remove members lo_minimal, hi_minimal.
16879         All uses changed.
16880         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16881         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16882         1993 to make 'diff' run faster (but not as well) on large inputs.
16883         These days, computers are fast enough that it's typically better
16884         to run slower but more accurately.
16885         * lib/fstrcmp.c: Remove duplicate comment.
16886         * lib/fstrcmp.c (strcmp_bounded):
16887         * lib/git-merge-changelog.c (compute_differences):
16888         Adjust to diffseq.h changes.
16889         * NEWS: Document the change.
16891         savedir: simplify by using stpcpy
16892         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16893         (streamsavedir): Use stpcpy instead.
16894         * modules/savedir (Depends-on): Add stpcpy.
16896 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16898         spawn: fix link error on uclibc
16899         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16900         to incorporate -lrt if needed (on uclibc for example).
16901         * modules/posix_spawn: Reference the substituted LIB.
16903 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16904         timer: fix uClibc detection of threading
16905         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16906         enabled in uClibc.
16908 2014-02-21  Eric Blake  <eblake@redhat.com>
16910         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16911         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16913 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16915         exclude: add support for posix regexps
16917         This commit adds support for POSIX extended regular expressions
16918         and fixes a long-standing memory leak (pattern buffer was never
16919         freed).  It also implements a new interface function to read
16920         exclude patterns from a FILE, which passes an additional parameter
16921         to its callback function, thereby allowing to preserve its state
16922         between invocations.
16924         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16925         (pattern_buffer): New struct.
16926         (exclude): New member patbuf.
16927         (exclude_add_pattern_buffer): New function.
16928         (free_exclude_segment): Free regexps.
16929         (free_exclude): Free allocated pattern buffers.
16930         (exclude_patopts): New function.
16931         (file_pattern_matches): Use exclude_patopts.
16932         (add_exclude): support regexps.
16933         (add_exclude_fp): New function.
16934         (add_exclude_file): Rewrite using add_exclude_fp.
16935         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16936         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16937         (add_exclude_fp)
16938         (add_exclude_file): Rewrite using add_exclude_fp.
16939         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16940         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16941         (add_exclude_fp)
16942         (exclude_add_pattern_buffer): New prototypes.
16943         * modules/exclude: Depends on regex and filename.
16945 2014-02-20  Eric Blake  <eblake@redhat.com>
16947         maintainer-makefiles: use $(SED) for syntax check
16948         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16949         * top/maint.mk: Change sed to $(SED).
16951 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16952             Paul Eggert  <eggert@cs.ucla.edu>
16954         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16955         Patch based on an idea by Dick Streefland in
16956         <https://savannah.gnu.org/patch/?7892>.
16957         * NEWS: Document this.
16958         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16959         (direntry_t, comparison_function): New types.
16960         (direntry_cmp_name): New function.
16961         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16962         (streamsavedir, savedir): New arg OPTION.
16963         (streamsavedir): Simplify memory allocation.
16964         (fdsavedir): Remove.
16965         * lib/savedir.h (enum savedir_option): New type.
16966         (streamsavedir, savedir): New arg OPTION.
16967         (fdsavedir): Remove.
16969 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16971         file-type: add support for doors and other less-common file types
16972         Problem with S_ISDOOR reported by Rich Burridge.
16973         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16974         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16975         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16977 2014-01-23  Eric Blake  <eblake@redhat.com>
16979         pthread: work around winpthread header pollution on mingw
16980         * lib/time.in.h: Move pthread workarounds...
16981         * lib/pthread.in.h: ...here.
16982         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16983         detect macro pollution on mingw.
16984         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16986 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16988         qacl: check for fchmod
16989         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16990         and qset-acl.c both use HAVE_FCHMOD.
16992 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16994         fdopen-tests: port to Tru64
16995         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16996         descriptor that is not open, as POSIX doesn't specify the
16997         resulting behavior and the test does not work on Tru64.
16998         Problem reported by Steven M. Schweda in:
16999         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
17001         stdalign: port to HP-UX compilers
17002         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
17003         if __HP_cc or __HP_aCC are nonzero.
17005 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
17007         strtoimax: port to platforms lacking 'long long'
17008         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
17009         check whether strtoll is declared, which causes the C file to
17010         wrongly report an error.  Problem reported by Steven M. Schweda in:
17011         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
17012         * lib/strtoimax.c (strtoull):
17013         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
17014         (strtoll): Declare only if HAVE_LONG_LONG_INT.
17016 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
17018         relocatable-perl: fix texi syntax
17019         * doc/relocatable-maint.texi: Escape braces.
17021 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
17023         relocatable-perl: like relocatable-script, but for Perl scripts
17024         * build-aux/relocatable.pl.in: Add.
17025         * doc/relocatable-maint.texi: Add documentation.
17026         * modules/relocatable-perl: Add.
17028 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
17030         tests: fix export bug in previous patch
17031         Problem reported by Jim Meyering.
17032         * tests/init.sh (re_shell): New var, which is exported instead of
17033         re_shell_.
17035         tests: simplify porting to Solaris 10 /bin/sh
17036         Some test cases in 'grep' need a shell that groks '$(';
17037         export re_shell_ for their benefit.  Problem reported for 'grep'
17038         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
17039         * tests/init.sh (re_shell_): Export if it's used.
17041 2014-01-06  Eric Blake  <eblake@redhat.com>
17043         md5, sha1, sha256, sha512: support older autoconf
17044         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
17045         for autoconf < 2.63b.
17047         include_next: port to autoconf 2.63
17048         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
17050 2014-01-04  Jim Meyering  <meyering@fb.com>
17052         maint: add a gnulib-local rule to keep non-ascii out of .texi files
17053         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
17054         so that "make sc_maint" will ding anyone who puts non-ascii
17055         in any of gnulib's .texi files.
17057 2014-01-03  Jim Meyering  <meyering@fb.com>
17059         freadable, fwritable, fwriting: declare with the "pure" attribute
17060         * lib/freadable.h (freadable): Declare with the "pure" attribute.
17061         * lib/fwritable.h (fwritable): Likewise.
17062         * lib/fwriting.h (fwriting): Likewise.
17063         Suggested by Bruno Haible.
17065         maint.mk: adapt openat.h-include-without-use test
17066         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
17067         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
17068         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
17069         With this change, running "make sc_maint" in gnulib's top-level
17070         directory now passes for me.
17072 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17074         doc: use ASCII in .texi files where UTF-8 isn't needed
17075         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
17076         * doc/posix-functions/setkey.texi, doc/regex.texi:
17077         Use ASCII input, not UTF-8.
17079 2014-01-02  Jim Meyering  <meyering@fb.com>
17081         freading: declare with the "pure" attribute
17082         * lib/freading.h (freading): Declare with the "pure" attribute.
17084         manywarnings: remove -Wmudflap
17085         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
17086         it is no longer supported in gcc-4.9-to-be.
17088 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17090         relocatable-script: remove unused code
17091         Problem reported by Reuben Thomas in:
17092         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
17093         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
17095 2014-01-01  Jim Meyering  <meyering@fb.com>
17097         maint: fix public-submodule-commit to work with newer git
17098         * top/maint.mk (public-submodule-commit): Remove excess quoting.
17099         We were over-quoting the test arguments, and somewhere prior to
17100         version 1.8.5.2.229, git stopped removing those excess quotes,
17101         which made the test fail, since the unexpanded strings would
17102         always differ; using GIT_TRACE=1 confirmed that the git merge-base
17103         command wasn't even being run.
17105 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17107         doc: update main copyright year
17108         * doc/gnulib.texi: Update copyright date.
17110 2014-01-01  Eric Blake  <eblake@redhat.com>
17112         version-etc: new year
17113         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
17114         * all files: run 'make update-copyright'
17116 2013-12-24  Eric Blake  <eblake@redhat.com>
17118         passfd: give nicer error for recvfd at eof
17119         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
17120         * tests/test-passfd.c (main): Enhance test to cover this.
17122 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17124         gettimeofday: port recent C++ fix to Emacs
17125         Without this further patch, Emacs won't build due to
17126         the portcheck failing.  Also, this simplifies the patch a bit.
17127         * lib/time.in.h (localtime, gmtime): Don't replace unless
17128         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
17129         * lib/time.in.h (localtime, gmtime):
17130         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
17131         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17132         * modules/time (time.h):
17133         Don't worry about the possibility of localtime and gmtime
17134         being absent; they're present in all C libraries we know about.
17135         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17136         Don't assume sys_time is present and has been initialized.
17137         Instead, use a hack that should work even if it hasn't been.
17138         Don't use a portcheck for gmtime or localtime; this supports
17139         the hack.
17140         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
17142 2013-12-17  John W. Eaton  <jwe@gnu.org>
17144         gettimeofday: fix C++ crosscompilation
17146         Never replace gmtime and localtime by macros when compiling with
17147         C++, this prevents <ctime> from being included.
17149         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
17150         define gmtime and localtime as preprocessor macros.  Instead
17151         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
17152         REPLACE_LOCALTIME substitutions.
17153         * lib/time.in.h: Declare gmtime and localtime when needed.
17154         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
17155         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
17156         * modules/time: Depend on gettimeofday, and substitute the above
17157         variables in time.h.
17159 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17161         qacl: port to Windows better
17162         See Eli Zaretskii in
17163         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
17164         * lib/file-has-acl.c (acl_access_nontrivial):
17165         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
17166         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
17168 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
17170         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
17171         * lib/gl_openssl.h: Cast void pointers to a specific type.
17173 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17175         open-tests: fix build failure with -Werror=old-style-declaration
17176         * tests/test-open.h: Reorder the inline to avoid the issue.
17178 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17180         md5, sha1, sha256, sha512: fix link error with partial libcrypto
17181         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
17182         init time, so that if early checks find crypto routines,
17183         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
17184         avoiding link failures.
17186 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
17188         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
17189         This provides a new way to specify the default for
17190         gl_CRYPTO_CHECK, one that is reflected in the --help message.
17191         Emacs uses this, as well as the old way.
17192         This attempts to implement a suggestion by Pádraig Brady in
17193         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
17194         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
17195         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
17197         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
17198         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
17199         Add support for a new option, --with-openssl=auto, which causes
17200         the library to be used if available and silently ignored if not.
17201         Add support to allow configure.ac to specify its own
17202         default, by setting with_openssl_default before invoking gl_INIT.
17204 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
17206         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
17207         Problem reported by Daiki Ueno in:
17208         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
17209         * tests/test-open.h (__always_inline):
17210         New macro, if not already defined.
17211         (test_open): Use it.
17213 2013-12-04  Eric Blake  <eblake@redhat.com>
17215         include_next: minimize code duplication
17216         * modules/include_next (Depends-on): Add absolute-header.
17217         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
17218         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
17220 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17222         getcwd: fix compile error in configure check
17223         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
17225 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17227         regex: suppress core dumps from detection code
17228         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
17229         to suppress core dumps that may well occur on glibc systems.
17230         These core dumps might not be cleaned up automatically, or could
17231         trigger some system core dump handling logic.
17233 2013-12-03  Pádraig Brady  <P@draigBrady.com>
17235         md5, sha1, sha256, sha512: support mandating use of openssl
17236         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
17237         description, to list the now 3 separate options.  also don't
17238         mention the default=no, since this is implicit given the option
17239         is described as --with-openssl rather than --without-openssl.
17240         If projects change the default they're free to document that.
17241         with --with-openssl[=yes] we now error out when the specified
17242         hash algorithm is not available in libcrypto.
17244 2013-12-03  Ivailo  <xakepa10@gmail.com>
17246         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
17247         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
17248         -Wformat-nonliteral checks, as these edge cases are part of the test.
17250 2013-12-03  Eric Blake  <eblake@redhat.com>
17252         regex: avoid glibc deadlock during configure
17253         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
17254         glibc bug 15078 in turn triggers bug 16159.
17255         Reported by Michal Privoznik.
17257 2013-12-02  Pádraig Brady  <P@draigBrady.com>
17259         md5, sha1, sha256, sha512: use openssl routines if available.
17260         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
17261         routines will be used if available, requiring apps to link @LIB_CRYPTO@
17262         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
17263         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
17264         in the standard system location.
17265         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
17266         * m4/sha256.m4: Likewise with SHA256.
17267         * m4/sha512.m4: Likewise with SHA512.
17268         * m4/md5.m4: Likewise with MD5.
17269         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
17270         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
17271         * lib/sha256.h: Likewise with SHA256.
17272         * lib/sha512.h: Likewise with SHA512.
17273         * lib/md5.h: Likewise with MD5.
17274         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
17275         * lib/sha256.c: Likewise with SHA256.
17276         * lib/sha512.c: Likewise with SHA512.
17277         * lib/md5.c: Likewise with MD5.
17278         * modules/crypto/sha1 (Link:): Add the new optional lib.
17279         (Depends-on:): Add dependency on extern-inline.
17280         * modules/crypto/sha256: Likewise.
17281         * modules/crypto/sha512: Likewise.
17282         * modules/crypto/md5: Likewise.
17283         * modules/crypto/sha1-tests: Reference the lib here too.
17284         * modules/crypto/md5-tests: Likewise.
17285         * modules/crypto/gc-des-tests: Likewise.
17286         * modules/crypto/gc-hmac-md5-tests: Likewise.
17287         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17288         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17289         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17290         * modules/crypto/gc-md5-tests: Likewise.
17291         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17292         * modules/crypto/gc-sha1-tests: Likewise.
17293         * modules/crypto/gc-tests: Likewise.
17294         * modules/crypto/hmac-md5-tests: Likewise.
17295         * modules/crypto/hmac-sha1-tests: Likewise.
17296         * modules/crypto/hmac-sha256-tests: Likewise.
17297         * modules/crypto/hmac-sha512-tests: Likewise.
17299 2013-11-29  RV1971  <rv1971@web.de>
17301         base64: (trivial) fix compilation regression on some compilers
17302         * lib/base64.c: Don't return the void function,
17303         instead split to a separate return statement.
17305 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17307         ignore-value: revert previous code change
17308         * lib/ignore-value.h (ignore_value): Use __extension__ and
17309         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
17310         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
17311         Change the comment to try to explain this better.
17313 2013-11-27  Pádraig Brady  <P@draigBrady.com>
17315         selinux-h: improve stub types and add more stub functions
17317         * lib/se-selinux.in.h: Change security_context_t to a typedef
17318         rather than a define, as it's a pointer type and so is better
17319         as a typedef to avoid issues declaring multiple variables
17320         with the comma operator.  Also add stub for string_to_security_class().
17321         * lib/se-context.in.h: Add stub functions for
17322         context_{type,range,role,user}_get().
17324 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
17326         ignore-value: prefer GCC version back through 2.0
17327         The code didn't match the comments, so I did a bit of software
17328         archaeology.  GCC 2.0 seems to support __extension__ and
17329         __typeof__, so fix both code and comments to use 2.0.
17330         * lib/ignore-value.h (ignore_value): Use __extension__ and
17331         __typeof__ for GCC 2.0 through 3.3, too.
17333 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
17335         pty: Activate the signature wrapper of forkpty.
17336         The intended preprocessor macro HAVE_FORKPTY is
17337         never defined, yet `lib/forkpty.c' depends on it.
17339         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
17340         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
17341         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
17343 2013-11-18  Jim Meyering  <meyering@fb.com>
17344         and Paul Eggert  <eggert@cs.ucla.edu>
17346         quotearg: don't attempt to store 1 << 31 into an "int"
17347         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
17348         gcc's new -fsanitize=undefined and running its tests triggered some
17349         new test failures due to undefined behavior, all with this diagnostic:
17350           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
17351             cannot be represented in type int
17352         Rather than shifting "1" left to form a mask, shift the bits right and
17353         simply use "1" as the mask.
17355 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17357         error: depend on stdio
17358         Problem reported by Nikos Mavrogiannopoulos in
17359         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
17360         * modules/error (Depends-on): Add stdio.
17362 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
17364         * doc/relocatable-maint.texi (Supporting Relocation): Improve
17365         wording.
17366         Reported by Reuben Thomas <rrt@sc3d.org>.
17368 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17370         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
17371         New function and macro, to work around _DARWIN_C_SOURCE problem.
17372         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
17374 2013-11-11  Pádraig Brady  <P@draigBrady.com>
17376         base64: provide a fast path for encoding well sized buffers
17377         Avoid conditionals in the base64 encoding loop,
17378         which was seen to give 60% better throughput.
17379         * lib/base64.c (base64_encode_fast): A new function to be called
17380         when we don't want to NUL terminate, and we have enough space
17381         in the output to encode the given input.
17382         (base64_encode): Call the _fast() version when appropriate.
17383         Also remove a redundant mask with 0x3F on the first encoded byte.
17385 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
17387         extern-inline: port better to OS X 10.9
17388         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
17389         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
17390         OS X 10.9, except for g++ where the bug is still present.
17391         See <http://trac.macports.org/ticket/41033>.
17393 2013-11-08  Eric Blake  <eblake@redhat.com>
17395         fpending: fix regression on DragonFly BSD
17396         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
17397         * lib/fpending.h (__fpending): Don't declare twice.
17398         Reported by GW in
17399         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
17401 2013-11-05  Jim Meyering  <meyering@fb.com>
17403         hash: relax license to LGPLv2+, for libguestfs
17404         * modules/hash (License): Change from GPL to LGPLv2+.
17406 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17408         intprops: port to Oracle Studio c99
17409         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
17410         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
17412 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
17414         obstack: pacify HP C
17415         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
17416         warning "conversion from pointer to smaller integer" from HP
17417         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
17418         C89 or later nowadays, so cast to void instead of int.  Privately
17419         reported by H.Merijn Brand.  Also, change header to match glibc's,
17420         to make checking against glibc easier.
17422 2013-10-29  Jim Meyering  <meyering@fb.com>
17424         maint.mk: prefer gpgv2 over gpgv
17425         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
17426         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
17427         Reported by Gary Vaughan.
17429 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17431         isnan: port to VAX
17432         Reported by John Klos for NetBSD-5/VAX in
17433         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
17434         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
17435         (FUNC): Use it.
17437 2013-10-28  Jim Meyering  <meyering@fb.com>
17439         gnulib-tool: protect against CDPATH
17440         * gnulib-tool: Many "cd" built-in functions print a directory name
17441         to stdout when CDPATH is set, e.g.,
17442           $ bash -c 'CDPATH=/; cd tmp'
17443           /tmp
17444         Unset it, when possible.  Prompted by a comment from Bruce Korb.
17446         maint.mk: restore functionality removed by recent change...
17447         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
17448         the context of a shallow-cloned gnulib repository: "git describe"
17449         would fail in such a directory.  However, that change made it so
17450         the reported gnulib revision no longer includes the version number
17451         or a commit count, even when run from a full clone.
17452         * top/maint.mk (gnulib-version): Use the full "git describe"
17453         output when possible, e.g., the form above, rather than the
17454         abbreviated, no-tag, no-commit-count string, and fall back to
17455         using a 10-byte hash, rather than the default minimal-length
17456         hash prefix, since while the minimal-length one may be fine today,
17457         it is likely not to be unique for very long.
17459 2013-10-26  Jim Meyering  <meyering@fb.com>
17461         maint.mk: fix "release" target to build _version
17462         This fixes a bug in README-release whereby following the outlined
17463         steps, one would publish a tarball whose programs would report
17464         --version output not consistent with the package version number.
17465         This bug caused grep-2.15 to produce a grep program whose
17466         --version option made it print 2.14.56-1e3d rather than 2.15.
17467         * top/maint.mk (release): Making this target build "_version"
17468         ensures that the new version number is reflected in configure.
17470 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17472         install-reloc: Support multi-binary installation.
17473         * build-aux/install-reloc: Support installing multiple programs in
17474         one invocation, as done by Automake starting with commit
17475         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17476         Haible <bruno@clisp.org>, archived at
17477         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17478         Reported by Sylvain <beuc@gnu.org>.
17480 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17482         selinux-h: Really build without selinux when library is missing.
17483         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17484         continue without selinux, as already told in the warning message.
17486 2013-10-21  Jim Meyering  <meyering@fb.com>
17488         regex: also remove dependency on HAVE_WCSCOLL
17489         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17491 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17493         xfreopen: Fix typo. s/frepoen/freopen/
17494         * lib/xfreopen.c: Fix description.
17495         * modules/xfreopen: Likewise.
17497 2013-10-21  Jim Meyering  <meyering@fb.com>
17499         regex: don't depend on wcscoll
17500         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17501         It is no longer used.
17503 2013-10-20  Jim Meyering  <meyering@fb.com>
17505         error: add the printf attribute to a static function
17506         * lib/error.c (error_tail): Add the printf attribute, to placate
17507         gcc's -Werror=suggest-attribute=format option.
17509 2013-09-30  Jim Meyering  <meyering@fb.com>
17511         fpending, obstack, strerror-override: use pure+const function attrs
17512         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17513         * lib/obstack.c (_obstack_allocated_p): Likewise.
17514         * lib/obstack.h (_obstack_memory_used): Likewise.
17515         (_obstack_memory_used): Likewise.
17516         * lib/strerror-override.h (strerror_override): Declare with
17517         the "const" attribute.
17519 2013-10-18  Eric Blake  <eblake@redhat.com>
17521         extern-inline: make safe for -Wundef usage
17522         Reported by Vladimir 'phcoder' Serbinenko in
17523         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17524         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17526 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17528         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17529         Problem reported by Daniel Richard G. in
17530         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17531         * doc/posix-functions/mkfifo.texi (mkfifo):
17532         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17533         * doc/posix-functions/mknod.texi (mknod):
17534         * doc/posix-functions/mknodat.texi (mknodat):
17535         Document the HP-UX 11.11 bug.
17536         * tests/test-mkfifo.h (test_mkfifo):
17537         Allow the HP-UX 11.11 bug.
17539 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17541         acl: allow cross-compilation to Gentoo
17542         Problem reported by Gabriel Marcano in
17543         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17544         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17545         test only whether it links.
17547 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17549         mgetgroups: remove dependency on realloc-gnu
17550         The dependency violates the comment in realloc-gnu, which
17551         says that tests can't depend on realloc-gnu; some tests depend
17552         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17553         Problem reported by Daniel Richard G. in
17554         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17555         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17556         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17557         not realloc-gnu.
17559 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17561         regex-tests: port to HP-UX 11.11
17562         Problem reported by Daniel Richard G. in
17563         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17564         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17566 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17568         verify: document some 'assume' pitfalls
17569         * doc/verify.texi (Compile-time Assertions):
17570         Mention that 'assume (E)' can sometimes slow things down.
17571         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17573 2013-10-10  Eric Blake  <eblake@redhat.com>
17575         strtoumax: fix typo in previous commit.
17576         * modules/strtoumax (Depends-on): Fix typo.
17577         * modules/strtoimax (Depends-on): Likewise.
17579 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17581         strtoumax: port to Solaris 8
17582         This problem was introduced in the recent HP-UX patch.
17583         Reported by Tom G. Christensen in
17584         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17585         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17586         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17588 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17590         strtoimax, strtoumax: port to HP-UX 11.11
17591         Problem reported by Daniel Richard G. in
17592         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17593         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17594         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17595         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17596         REPLACE_STRTOUMAX.
17597         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17598         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17599         Replace the function if defined as a macro but not as a function.
17600         * modules/inttypes-incomplete (inttypes.h): Substitute
17601         REPLACE_STRTOUMAX.
17602         * modules/strtoumax (configure.ac): Replace strtoumax if
17603         REPLACE_STRTOUMAX.
17605 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17607         strtoimax: port to HP-UX 11.11
17608         Problem reported by Daniel Richard G.
17609         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17610         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17611         they might clash with inttypes.h.
17613 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17615         New module 'count-trailing-zeros'.
17616         * MODULES.html.sh: Mention it.
17617         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17618         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17619         * modules/count-trailing-zeros-tests:
17620         * tests/test-count-trailing-zeros.c:
17621         New files.
17623         count-leading-zeros: port to MSC; support types wider than 64 bits
17624         The ideas behind the MSC port are stolen from Emacs.
17625         * lib/count-leading-zeros.h:
17626         Don't include verify.h: it's no longer needed, as types wider than
17627         64 bits are now supported.
17628         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17629         performance with MSC.  All uses changed.  Do not assume that TYPE
17630         has at most 64 bits.
17631         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17632         All uses changed.  Fold the subtraction from 31 into the table.
17634         count-one-bits: port to MSC; support types wider than 64 bits
17635         The ideas behind the MSC port are stolen from Emacs.
17636         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17637         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17638         Don't include verify.h: it's no longer needed, as types wider than
17639         64 bits are now supported.
17640         (COUNT_ONE_BITS_GENERIC): New macro.
17641         (popcount_supported) [_MSC_VER]: New inline function.
17642         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17643         performance with MSC.  All uses changed.  Do not assume that TYPE
17644         has at most 64 bits.
17645         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17647 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17649         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17650         * lib/mountlist.c (read_file_system_list): fix leak of directory
17651         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17653 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17655         tests: improve diagnostic when an assertion fails
17656         * tests/macros.h (ASSERT): Report the assertion that failed.
17658 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17660         verify: new macro 'assume'
17661         This is taken from Emacs, and should be generally useful.
17662         * doc/verify.texi (assume): Document it.
17663         * lib/verify.h (assume): New macro.
17664         (__has_builtin): Expand to 0 if not defined.
17666 2013-09-26  Eric Blake  <eblake@redhat.com>
17668         dup2, dup3: work around another cygwin crasher
17669         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17670         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17671         * tests/test-dup2.c (main): Likewise.
17672         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17673         * lib/dup3.c (dup3): Likewise.
17674         * doc/posix-functions/dup2.texi (dup2): Document it.
17675         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17677         getdtablesize: work around cygwin issue
17678         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17679         * modules/getdtablesize (configure.ac): Build replacement.
17680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17681         * modules/unistd (Makefile.am): Expose the witness.
17682         * lib/unistd.in.h (getdtablesize): Declare replacement.
17683         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17684         * tests/test-getdtablesize.c (main): Test it.
17685         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17687 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17689         pmccabe2html: escaping of special characters
17690         Escape all '<', '>', and '&' in HTML output.
17691         * build-aux/pmccabe2html (html_fnc): Call gsub()
17692         instead of sub() to capture all '<', '>', and '&'.
17693         Neither of '<' and '>' is special in a regexp,
17694         so first arguments to gsub() are corrected. Also,
17695         in replacement strings, ampersand must be escaped.
17696         Finally, '&' must be handled first, then '<' and '>'.
17698 2013-09-24  Eric Blake  <eblake@redhat.com>
17700         manywarnings: enable nicer gcc warning messages
17701         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17702         some -f options for optimal warnings.
17704 2013-09-21  Jim Meyering  <meyering@fb.com>
17706         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17707         * lib/timespec-add.c (timespec_add): Also replace 999999999
17708         with TIMESPEC_RESOLUTION - 1.
17709         * lib/timespec-sub.c (timespec_sub): Likewise.
17711 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17713         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17714         Problem reported by Dagobert Michelsen via Eric Blake in
17715         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17716         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17717         not AC_COMPILE_IFELSE.
17719 2013-09-23  Eric Blake  <eblake@redhat.com>
17721         configmake: support new --runstatedir option
17722         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17723         even if autoconf was too old to provide the command line option.
17724         * modules/configmake (Makefile.am): Propagate it to .h file.
17726 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17728         ctype, string: depend on extern-inline
17729         This is needed to complete the recent OS X fixes.
17730         Also, fix related documentation as suggested by Eric Blake.
17731         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17732         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17733         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17734         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17735         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17736         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17737         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17738         * doc/posix-functions/toupper.texi:
17739         List the 'ctype' gnulib module.
17740         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17741         * doc/posix-functions/strncpy.texi:
17742         List the 'string' gnulib module.
17743         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17744         Add string.
17745         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17747 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17749         userspec: support optional parameters to parse_user_spec()
17750         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17751         then avoid group processing and treat the full spec as a user.
17752         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17753         be optional params (NULL), in which case they're ignored.
17755 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17757         timespec: new function make_timespec, and new constants
17758         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17759         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17760         (make_timespec): New function.
17761         * lib/dtotimespec.c (dtotimespec):
17762         * lib/timespec-add.c (timespec_add):
17763         * lib/timespec-sub.c (timespec_sub):
17764         * lib/utimens.c (validate_timespec):
17765         * lib/utimensat.c (rpl_utimensat):
17766         Use these new constants and functions.
17768         stdio: OS X port of putc_unlocked + extern inline
17769         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17770         * doc/posix-functions/putc_unlocked.texi:
17771         * doc/posix-functions/putchar_unlocked.texi:
17772         Document this portability problem.
17774         signal: OS X port of sigaddset etc. + extern inline
17775         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17776         (sigismember): #undef on problematic Apple platforms.
17777         * doc/posix-functions/sigaddset.texi:
17778         * doc/posix-functions/sigdelset.texi:
17779         * doc/posix-functions/sigemptyset.texi:
17780         * doc/posix-functions/sigfillset.texi:
17781         * doc/posix-functions/sigismember.texi:
17782         Document this portability problem.
17784         extern-inline: do not always suppress extern inline on OS X
17785         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17786         extern inline on Apple only if the particular compile-time
17787         configuration is known to have the problem.
17788         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17789         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17790         other Gnulib modules.
17792         extern-inline: document fixes for ctype and wctype macros
17793         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17794         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17795         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17796         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17797         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17798         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17799         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17800         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17801         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17802         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17803         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17804         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17805         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17806         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17807         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17808         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17809         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17810         * doc/posix-functions/strncpy.texi:
17811         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17812         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17813         Document that Gnulib fixes portability problems with these
17814         functions on OS X 10.8 and earlier when called from plain inline
17815         or extern inline functions.
17817 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17819         fflush, freadahead, fseeko: Fix for Android
17820         Suggested by Bruno Haible in:
17821         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17822         * lib/stdio-impl.h: Use local __sfileext definition.
17824 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17826         pmccabe2html: Portability to other awk versions.
17827         The functions systime() and strftime() are available
17828         in Gawk only.  Properly close two HTML-tags 'style'
17829         and 'span'.
17830         * build-aux/pmccabe2html (BEGIN): Store timing
17831         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17832         systime() in HTML_COMMENT.
17833         (html_header): Correctly close tag 'style'.
17834         (END): Replace strftime() by CHRONOS_TIME.  Close
17835         tag 'span' correctly, not as 'div'.
17837 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17839         getgroups: statement without effect
17840         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17841         Change equality conditional to expected assignment.
17843 2013-09-09  Eric Blake  <eblake@redhat.com>
17845         glob: fix compilation
17846         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17848 2013-09-07  Eric Blake  <eblake@redhat.com>
17850         glob: fix build for platforms without __THROW
17851         * lib/glob.in.h (__THROW): Add definition again.
17853 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17855         regex-quote: fix buffer access out of bounds
17856         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17857         * lib/regex-quote.c (regex_quote_spec_pcre):
17858         Fix typo that resulted in an out-of-bounds read.
17860 2013-09-04  Eric Blake  <eblake@redhat.com>
17862         glob: avoid -Wattribute warnings on glibc
17863         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17864         __THROWNL, not __THROW, on static functions.
17865         * lib/glob.in.h (__THROW): Adjust...
17866         (__THROWNL): ...accordingly.
17868 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17870         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17871         Suggested by Bruce Korb in:
17872         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17873         * doc/extern-inline.texi (extern inline):
17874         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17875         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17876         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17877         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17878         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17879         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17880         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17881         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17882         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17883         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17884         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17885         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17886         * lib/xtime.h:
17887         Check that _GL_INLINE_HEADER_BEGIN is defined.
17889 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17891         bootstrap: remove the --version requirement from ancillary tools
17892         * build-aux/bootstrap (check_exists): A new refactored function to
17893         determine if a command exists.
17894         (find_tool): Use the new function which does not require the
17895         --version option to be supported.
17896         (check_versions): Use the new function.
17898 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17900         gc: support HMAC-SHA256 and HMAC-SHA512.
17901         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17902         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17903         functions.
17904         (gc_hmac_md5): Use symbolic constant.
17905         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17906         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17907         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17908         * m4/sha256.m4: Protect against empty expansion.
17909         * m4/sha512.m4: Likewise.
17910         * lib/hmac-sha256.c: New file.
17911         * lib/hmac-sha512.c: Likewise.
17912         * m4/gc-hmac-sha256.m4: Likewise.
17913         * m4/gc-hmac-sha512.m4: Likewise.
17914         * m4/gc-sha256.m4: Likewise.
17915         * m4/gc-sha512.m4: Likewise.
17916         * modules/crypto/gc-hmac-sha256: Likewise.
17917         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17918         * modules/crypto/gc-hmac-sha512: Likewise.
17919         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17920         * modules/crypto/hmac-sha256: Likewise.
17921         * modules/crypto/hmac-sha256-tests: Likewise.
17922         * modules/crypto/hmac-sha512: Likewise.
17923         * modules/crypto/hmac-sha512-tests: Likewise.
17924         * tests/test-gc-hmac-sha256.c: Likewise.
17925         * tests/test-gc-hmac-sha512.c: Likewise
17926         * tests/test-hmac-sha256.c: Likewise.
17927         * tests/test-hmac-sha512.c: Likewise
17929 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17931         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17932         of AC_CHECK_DECLS.
17934 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17936         selinux-at: omit unnecessary include
17937         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17938         this source file doesn't use its macros, and subsidiary files that
17939         use the macros already include it.
17941 2013-08-21  Eric Blake  <eblake@redhat.com>
17943         d-ino: avoid false negative on symlink
17944         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17945         Reported by Stephane Chazelas.
17947 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17949         bootstrap: port to OpenBSD sed
17950         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17951         does not interpret `-' as a file argument to mean stdin.
17953 2013-08-15  Eric Blake  <eblake@redhat.com>
17955         warnings: minor optimization
17956         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17958         warnings: check -Wfoo rather than -Wno-foo
17959         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17960         -Wno-, test if the compiler recognizes the positive form instead.
17962 2013-08-15  Karl Berry  <karl@gnu.org>
17964         * config/srclist-update: add option "doclicense" to placate
17965         pulling *.texi files from Emacs.  Write terse usage
17966         documentation at the top.
17968 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17970         xvasprintf-tests: port to GCC with hardening flags
17971         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17972         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17973         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17975 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17977         fpending: port to recent Cygwin change to stdio_ext.h
17978         Reported by LRN in
17979         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17980         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17981         just declare __fpending unless it's a macro.
17982         A duplicate decl shouldn't hurt.
17983         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17984         call compiles and links, instead of separately checking for
17985         decl and lib function.
17986         * modules/fpending (configure-ac):
17987         Adjust to fpending.m4's renaming of shell variable.
17989 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17991         sys_time: port to OpenBSD
17992         * lib/sys_time.in.h: Simply delegate to the system's header
17993         in the BSDish cases as well.  Problem reported by Mike Miller in
17994         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17995         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17996         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17997         wider than time_t.
17999 2013-08-09  Pádraig Brady  <P@draigBrady.com>
18001         bootstrap: support checksum utils having -c but not --status
18002         * build-aux/bootstrap: Only look for sha1sum if updating po files.
18003         Add sha1 to the list of supported checksum utils since it's now
18004         supported through adjustments below.
18005         (update_po_files): Remove the use of --status
18006         in a way that will suppress all error messages, but since this is
18007         only used to minimize updates, it shouldn't cause an issue.
18008         Exit early if there is a problem updating the po file checksums.
18009         (find_tool): Remove the check for --version support as this
18010         is optional as per commit 86186b17.  Don't even check for the
18011         presence of the command as if that is needed, it's supported
18012         through configuring prerequisites in bootstrap.conf.
18013         Prompt that when a tool isn't found, one can define an environment
18014         variable to add to the hardcoded search list.
18016 2013-08-05  Jim Meyering  <meyering@fb.com>
18018         regex: port to non-glibc/lock-using systems
18019         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
18020         system with GNULIB_LOCK would fail due to absence of the
18021         included "glthread/lock.h".  This would affect any package
18022         for which the "lock" module is used only by the regex module,
18023         and not explicitly used.
18024         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
18025         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
18026         Add a dependency on the "lock" module.
18028 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18030         localecharset: make locale_charset thread-safe on Mac OS X
18031         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
18032         instead of MB_CUR_MAX.
18034 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18036         gettext: update to version 0.18.3
18037         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
18038         require AC_PROG_SED to allow user to specify custom sed command when
18039         generating en@quot PO file.
18041 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
18043         bootstrap: use correct source when copying build-aux files
18044         * build-aux/bootstrap (gnulib_extra_files): This variable is
18045         relative to upstream gnulib layout, not downstream.
18047 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18049         tmpdir: fix bug in VMS port
18050         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
18051         See Steven M. Schweda in
18052         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
18054 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18056         tmpdir: port to VMS, to // != /, and to long dirs
18057         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
18058         __secure_getenv, so that we're more like the glibc version.
18059         All uses changed.
18060         (path_search): Don't put slash after directory if __VMS.
18061         Problem reported by Steven M. Schweda in
18062         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
18063         Simplify code to add slash; no need for a loop.
18064         Do not remove trailing slash from "//".
18065         Do not assume dlen <= INT_MAX.
18067 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18069         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
18070         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
18071         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
18072         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
18074         accept4, dup3, pipe2: port to Cygwin
18075         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
18076         * lib/accept4.c (accept4) [O_BINARY]:
18077         * lib/dup3.c (dup3) [O_BINARY]:
18078         * lib/pipe2.c (pipe2) [O_BINARY]:
18079         Use set_binary_mode, not setmode.
18080         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
18081         * modules/binary-io (Depends-on): Remove module indicator.
18082         These last two bits undo the previous change to pipe2 and binary-io.
18084 2013-07-09  Pádraig Brady  <P@draigBrady.com>
18086         mountlist: add support for deallocating returned list entries
18087         * lib/mountlist.c (free_mount_entry): A new exported function
18088         to deallocate a mount list entry.
18089         (read_file_system_list): Refactor to use the new deallocation function.
18090         Suggested by Anton Ovchinnikov.
18092 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18094         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
18095         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
18096         * lib/stdalign.in.h (_Alignas, _Alignof):
18097         Port to FreeBSD 9.1, and to C11 and C++11.
18098         (_Alignas): Also support ICC.
18099         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
18100         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
18102 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18104         fnmatch: don't goto over declaration
18105         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
18106         undefined behavior for goto over a declaration.
18107         Problem reported by Charlie Brown in
18108         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
18110         pipe2: decouple from binary-io a bit
18111         This is for Emacs, which needs pipe2 but not binary-io.
18112         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
18113         * modules/binary-io (Depends-on): Add module indicator.
18115 2013-07-03  Eric Blake  <eblake@redhat.com>
18117         mgetgroups: relax license to LGPLv2+
18118         * modules/getugroups (License): Change from GPLv3+.
18119         * modules/mgetgroups (License): Likewise.
18120         * modules/getgroups (License): Change from LGPLv3+.
18122         xalloc-oversized: relax license to LGPLv2+
18123         * modules/xalloc-oversized (License): Change from GPLv3+.
18125         nproc: relax license to LGPLv2+
18126         * modules/nproc (License): Change from LGPLv3+.
18128         bootstrap: honor --no-git
18129         * build-aux/bootstrap: Don't even try to use git when user is
18130         pointing to a static checkout.
18132 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18134         ignore-value: port to gcc -pedantic
18135         * lib/ignore-value.h (ignore_value):
18136         Port to gcc -pedantic, by using __extension__.
18137         Reindent as per usual gnulib style nowadays.
18138         Simplify GCC version check.
18140 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18142         extern-inline: port to gcc -std=c89
18143         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18144         Do not use __gnu_inline__ if pedantic and pre-C99.
18146 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18148         doc: document extern-inline
18149         * doc/extern-inline.texi: New file.
18150         * doc/gnulib.texi (alloca-opt): Include it.
18151         * m4/extern-inline.m4: Move some comments to documentation,
18152         and others closer to what they describe.
18154         doc: chatter less
18155         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
18156         (updated-stamp): Use it.  This causes 'make' to output just
18157         one file name rather than zillions.
18159         fflush, fseeko: port to musl cross-compiles
18160         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
18161         on some implementation that (1) is not known to be buggy,
18162         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
18163         cross-compiled to so we can't easily check for lack of
18164         conformance.  This is for cross-compiling to musl.
18165         Reported by Rich Felker in
18166         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
18167         * m4/fclose.m4 (gl_FUNC_FCLOSE):
18168         * m4/fflush.m4 (gl_FUNC_FFLUSH):
18169         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
18170         Adjust to above change.
18171         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
18172         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
18173         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
18174         known not to work, or unknown.
18176 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18178         msvc-inval: port to mingw-w64
18179         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
18180         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
18181         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
18183 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18185         getcwd-lgpl: port to Tru64
18186         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
18187         Problem reported by Steven M. Schweda in
18188         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
18190         tests: port large-fd POSIX spawn tests to OS X
18191         Problem reported by Daiki Ueno in
18192         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
18193         * tests/test-posix_spawn_file_actions_addclose.c:
18194         * tests/test-posix_spawn_file_actions_adddup2.c:
18195         * tests/test-posix_spawn_file_actions_addopen.c:
18196         Include <limits.h>, for OPEN_MAX, if available.
18197         (big_fd): New static function.
18198         (main): Use it.
18200 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
18202         tests/nap.h: use an adaptive delay to avoid ctime update issues
18203         The recent change in nap.h (5191133e) decreased the probability of lost
18204         races to about a third, however such problems could still be observed
18205         in virtual machines and openSUSE's OBS.
18206         Before, nap() detected the needed time once empirically and then used
18207         that delay (together with a small correction multiplier) in further
18208         calls.  This problem has been reported and discussed several times,
18209         including guesses about possible kernel issues:
18210         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
18211         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
18212         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
18213         http://bugs.gnu.org/12820
18214         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
18215         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
18216         Now, nap() avoids the race alltogether by verifying on a reference
18217         file whether a timestamp difference has happened.
18218         * tests/nap.h (nap_fd): Define file descriptor variable for the
18219         witness file.
18220         (nap_works): Change return value to bool.  Change passing
18221         the old file's status by value instead of by reference as this function
18222         does no longer update that timestamp; rename the function argument from
18223         st to old_st.  Remove the local variables cdiff and mdiff because that
18224         function now returns true/false instead of the precise delay.
18225         (guess_delay): Remove function.
18226         (clear_tmp_file): Add new function to close and unlink the witness file.
18227         (nap): Instead of re-using the delay which has been calculated during
18228         the first call, avoid the race by actually verifying that a timestamp
18229         difference can be observed on the current file system.  Use an adaptive
18230         approach for the delay to minimize execution time.  Assert that the
18231         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
18232         = 2^31 - 1 = 2.1s.
18233         Use atexit to call clear_tmp_file when the process terminates.
18235 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18237         sig2str: port to C++
18238         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
18239         Reported by Daniel J Sebald in
18240         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
18242 2013-05-30  Eric Blake  <eblake@redhat.com>
18244         docs: mention cygwin shortcoming in <sys/un.h>
18245         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
18247         vasnprintf: silence mingw compiler warning
18248         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
18250 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18252         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
18253         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
18254         This fixes a porting bug I recently reintroduced in regex, and
18255         some other instances that I discovered while testing the fix.
18256         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
18257         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
18258         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
18259         with an empty argument if this is a pedantic pre-C99 GCC.
18260         * lib/verify.h: Do not use _Static_assert if this is a pedantic
18261         pre-C11 GCC.
18263         regex: adapt to locking regime instead of depending on pthread
18264         Instead of depending on pthread, adapt to whatever thread
18265         modules are in use.  Problem reported by Ludovic Courtès in
18266         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
18267         and by Mats Erik Andersson in
18268         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
18269         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18270         Support either the 'lock' module, or the 'pthread' module, or
18271         no module.
18272         (lock_lock, lock_unlock): New macros.
18273         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
18274         * modules/lock, modules/pthread (configure.ac): Add module indicator.
18275         * modules/regex (Depends-on): Remove pthread.
18277 2013-05-22  Eric Blake  <eblake@redhat.com>
18279         getgroups: document portability issues
18280         * doc/glibc-functions/initgroups.texi (initgroups): Mention
18281         multithread safety.
18282         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
18283         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
18284         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
18285         getugroups.
18286         * doc/posix-functions/getgroups.texi (getgroups): Mention
18287         multithread safety and mgetgroups.
18289 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
18291         test-lchown, test-chown: also skip test if chown fails with EPERM
18292         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
18293         skip this test, to handle FAT file systems.
18294         * tests/test-chown.h (test_chown): Likewise.
18296 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18298         regex: fix dfa race in multithreaded uses
18299         Problem reported by Ludovic Courtès in
18300         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
18301         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18302         New macros.  All uses of __libc_lock_define, __libc_lock_init
18303         changed to use the first two of these.
18304         (__libc_lock_lock, __libc_lock_unlock): New macros, for
18305         non-glibc platforms.
18306         (struct re_dfa_t): Define the lock unconditionally.
18307         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
18308         '#ifdef _LIBC"s.
18309         * modules/regex (Depends-on): Add pthread, if we use the
18310         included regex.
18312         * lib/regcomp.c: Do actions that are not needed for glibc,
18313         but may be needed elsewhere.
18314         (regfree, re_compile_internal): Destroy the lock.
18315         (re_compile_internal): Check for lock-initialization failure.
18317         malloca: port to compilers that reject size-zero arrays
18318         This fixes a bug introduced in my previous patch.
18319         * lib/malloca.c (struct preliminary_header): Use an int
18320         rather than a character array of size int; that's simpler.
18321         (struct header): Remove, replacing with ...
18322         (union header): New type.  This avoids the need for declaring a
18323         character array of size zero, which is not allowed on some platforms.
18324         All uses changed.
18326 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
18328         parse-datetime, tests: don't use "string" + int
18329         Recent versions of 'clang' complain about C source code that
18330         uses expressions of the form '"string literal" + integer',
18331         I guess on the theory that it's confusing for readers who are
18332         used to C++.  On those grounds I suppose it's OK to make this
18333         minor style change.
18334         * lib/parse-datetime.y (parse_datetime):
18335         * tests/test-fchdir.c (main):
18336         * tests/test-snprintf-posix.h (test_function):
18337         * tests/test-snprintf.c (main):
18338         * tests/test-vasnprintf-posix.c (test_function):
18339         * tests/test-vasnprintf.c (test_function):
18340         * tests/test-vsnprintf.c (main):
18341         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
18342         Rewrite '"str" + E' to '&"str"[E]'.
18344 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18346         argmatch: port to C++
18347         * lib/argmatch.h [__cplusplus]: Add extern "C".
18349         argp: typo fix
18350         * lib/argp-help.c: Typo in comment.
18352 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
18354         manywarnings: update for GCC 4.8.0
18355         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18356         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
18357         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
18358         -Wmissing-noreturn, as they are duplicates of other warnings.
18359         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
18360         was documented to be flaky in earlier versions of GCC.
18362         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
18363         * tests/test-spawn.c (main):
18364         * tests/test-sys_socket.c (main):
18365         * tests/test-sys_wait.c (main):
18366         Don't have a switch value that isn't covered by a case.
18368         getaddrinfo-tests: port --enable-gcc-warnings to clang
18369         * tests/test-getaddrinfo.c (simple):
18370         Avoid casts from looser to stricter-aligned pointers.
18372         thread: port --enable-gcc-warnings to clang
18373         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
18374         Include <signal.h>, to pacify a warning about pthread_sigmask.
18376         stdio: use __REDIRECT for fwrite, fwrite_unlocked
18377         * lib/stdio.in.h (fwrite):
18378         When working around bug 11959, use __REDIRECT rather than '#define
18379         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
18380         fix the -Wunused-value issue with clang, and it works with GCC too.
18381         Problem with targeting reported by Eric Blake in
18382         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
18383         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
18384         debugging the fwrite issue.
18386         stdio: port --enable-gcc-warnings to clang
18387         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
18388         since the GCC workaround for fwrite does not pacify clang.
18390         sig2str: port --enable-gcc-warnings to clang
18391         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
18393         obstack: port --enable-gcc-warnings to clang
18394         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
18395         Avoid casts from looser to stricter-aligned pointers.
18397         memchr2: port --enable-gcc-warnings to clang
18398         * lib/memchr2.c (memchr2):
18399         Avoid casts from looser to stricter-aligned pointers.
18401         mbsstr: port --enable-gcc-warnings to clang
18402         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
18403         Avoid casts from looser to stricter-aligned pointers.
18405         malloca: port --enable-gcc-warnings to clang
18406         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
18407         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
18409         inttostr: port --enable-gcc-warnings to clang
18410         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
18412         warnings: port to clang
18413         Problem reported by Daniel P. Berrange via Eric Blake in
18414         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
18415         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
18416         (gl_WARN_ADD): Use it.
18418 2013-05-11  Jim Meyering  <meyering@fb.com>
18420         quotearg: do not read beyond end of buffer
18421         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
18422         end of an ARG for which no length was specified.  With an N-byte
18423         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
18424         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
18425         via coreutils' misc/sort-debug-keys.sh test and detected by running
18426         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
18427         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
18428         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
18429         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
18430         characters correctly."
18432 2013-05-11  Daiki Ueno  <ueno@gnu.org>
18434         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18435         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
18436         compilation target is Mac OS X 10.6.
18437         Problem reported by parafin and Andoni Morales in
18438         <http://savannah.gnu.org/bugs/?37844> and
18439         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
18441 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
18443         mkdir-p: remove assumptions about umask and mode
18444         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
18445         umask is 0, or that MODE is a subset of MODE_BITS.
18447 2013-05-10  Eric Blake  <eblake@redhat.com>
18449         maint.mk: catch more abuse of HAVE_DECL in syntax-check
18450         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
18452 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
18454         deps: require Automake >= 1.9.6 in generated Makefile fragments
18456         That is the same minimal version required in the DEPENDENCIES file.
18457         Moreover, the old code generated a requirement of Automake >= 1.5,
18458         and that is an insanely outdated version.
18460         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
18461         * tests/havelib/rpathlx/Makefile.am: Likewise.
18462         * tests/havelib/rpathly/Makefile.am: Likewise.
18463         * tests/havelib/rpathlyx/Makefile.am: Likewise.
18464         * tests/havelib/rpathlz/Makefile.am: Likewise.
18465         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
18466         * tests/havelib/rpathx/Makefile.am: Likewise.
18467         * tests/havelib/rpathy/Makefile.am: Likewise.
18468         * tests/havelib/rpathz/Makefile.am: Likewise.
18470 2013-05-08  Eric Blake  <eblake@redhat.com>
18472         bootstrap: AC_INIT may have more than four parameters
18473         * build-aux/bootstrap (extract_package_name): Correctly extract
18474         non-empty tarname field.  Avoid range in regex.
18475         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18477 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18479         qacl: port to MS-Windows port of GNU Emacs
18480         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18481         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18482         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18483         <http://bugs.gnu.org/14295#14>.
18485 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18487         acl: include quote.h
18488         * lib/copy-acl.c: Include quote.h.
18489         * lib/set-acl.c: Likewise.
18491 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18493         fchownat, renameat, unlinkat: update statat dependencies
18494         These modules use statat and lstatat, not fstatat; so depend on
18495         the statat module, which was split out recently from fstatat.
18496         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18497         * modules/renameat: Likewise.  Also delete fstat.
18498         URL: http://bugs.gentoo.org/468790
18500 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18502         Assume gnulib is checked out from Git, not CVS
18504         In fact, access to the gnulib repository through CVS has been
18505         disabled, or more precisely, got broken and was never restored; see:
18506         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18508         Note that support for CVS is not removed completely and unthinkingly
18509         by this change: only support for CVS checkouts of gnulib itself is
18510         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18511         files and CVS directories, for the benefit of those poor gnulib clients
18512         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18514         * gnulib-tool: Simplify accordingly.
18515         * posix-modules: Likewise.
18516         * MODULES.html.sh: Likewise.
18517         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18518         repository.
18519         * doc/gnulib-intro.texi: Likewise.
18520         * doc/gnulib-readme.texi: Likewise.
18521         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18522         sample '.gitignore' file rather than a sample '.cvsignore'.
18523         * NEWS: Update.
18524         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18525         to "CVS Autoconf" rather than "git Autoconf".
18527 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18529         utimensat-tests, etc.: try to fix some races
18530         Problem reported by Bernhard Voelker in
18531         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18532         I don't know whether this patch fixes that race condition, but it
18533         fixes *some* race conditions, so it should be a win.
18534         * modules/chown-tests (Depends-on):
18535         * modules/fchownat-tests (Depends-on):
18536         * modules/fdutimensat-tests (Depends-on):
18537         * modules/futimens-tests (Depends-on):
18538         * modules/lchown-tests (Depends-on):
18539         * modules/stat-time-tests (Depends-on):
18540         * modules/utimens-tests (Depends-on):
18541         * modules/utimensat-tests (Depends-on):
18542         Depend on nanosleep, not usleep.
18543         * modules/chown-tests (test_chown_LDADD):
18544         * modules/lchown-tests (test_lchown_LDADD):
18545         * modules/stat-time-tests (test_stat_time_LDADD):
18546         New macro.
18547         * modules/fchownat-tests (test_fchownat_LDADD):
18548         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18549         * modules/futimens-tests (test_futimens_LDADD):
18550         * modules/utimens-tests (test_utimens_LDADD):
18551         * modules/utimensat-tests (test_utimensat_LDADD):
18552         Add $(LIB_NANOSLEEP).
18553         * modules/stat-time-tests (Files): Add tests/nap.h.
18554         * tests/nap.h: Include <limits.h>, for INT_MAX.
18555         (lt_mtime): Remove.
18556         (diff_timespec): New function.
18557         (get_stat): Rename from get_mtime.  All callers changed.
18558         (nap_works): Determine the needed delay by inspecting the
18559         file system's timestamp jumps; this should be more reliable.
18560         Look at both mtime and ctime, and take the maximum of the two jumps.
18561         (nap_works, guess_delay):
18562         Return a nanosecond count, not a microsecond count.
18563         All callers changed.
18564         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18565         failure.
18566         (nap): Multiply the guess by 1.125, to accommodate the case where
18567         the file system's clock is a bit slower than nanosleep's clock.
18568         * tests/test-stat-time.c (BASE): New macro.
18569         Include nap.h.
18570         (nap): Remove; nap.h now defines this.  This removes a duplicate
18571         implementation of 'nap'.
18573         utimens, utimensat: work around Solaris UTIME_OMIT bug
18574         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18575         Linux kernel 2.6.32 does.  Work around it in the same way.
18576         * doc/posix-functions/futimens.texi (futimens):
18577         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18578         * lib/utimens.c (fdutimens, lutimens):
18579         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18581         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18582         Formerly, it was your responsibility to do this for all Makefile.ams
18583         other than Gnulib's.  Now it's your responsibility to do it for
18584         Gnulib's Makefile.am, too.
18585         * NEWS: Document this.
18586         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18588         acl: include errno.h to get errno
18589         Reported by Daiki Ueno in
18590         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18591         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18593 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18595         tests: don't assume getdtablesize () <= 10000000
18596         * modules/cloexec-tests:
18597         * modules/dup2-tests:
18598         * modules/dup3-tests:
18599         * modules/nonblocking-tests:
18600         * modules/posix_spawn_file_actions_addclose-tests:
18601         * modules/posix_spawn_file_actions_adddup2-tests:
18602         * modules/posix_spawn_file_actions_addopen-tests:
18603         * modules/unistd-safer-tests:
18604         Depend on the getdtablesize module.
18605         * tests/test-cloexec.c:
18606         * tests/test-dup-safer.c:
18607         * tests/test-dup2.c:
18608         * tests/test-dup3.c:
18609         * tests/test-fcntl.c:
18610         * tests/test-nonblocking.c:
18611         * tests/test-posix_spawn_file_actions_addclose.c:
18612         * tests/test-posix_spawn_file_actions_adddup2.c:
18613         * tests/test-posix_spawn_file_actions_addopen.c:
18614         Don't assume getdtablesize () <= 10000000.
18616 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18618         extern-inline: work around bug in Sun c99
18619         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18620         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18622 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18624         qacl: new module, broken out from the acl module
18625         This is for GNU Emacs, which wants the acl functions but does
18626         not want 'error' invoked when they fail.
18627         * lib/acl-internal.h: Do not include error.h, quote.h.
18628         (ENOSYS, ENOTSUP): Remove; no longer needed.
18629         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18630         * lib/acl.h: Include <stdbool.h>.
18631         (acl_errno_valid): New function.
18632         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18633         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18634         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18635         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18636         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18637         * lib/file-has-acl.c (file_has_acl):
18638         * lib/qcopy-acl.c (qcopy_acl):
18639         * lib/qset-acl.c (qset_acl):
18640         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18641         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18642         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18643         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18644         Add lib/set-acl.c.
18645         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18646         Add qacl.
18647         (configure.ac): Move gl_FUNC_ACL to qacl module.
18648         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18649         Rename set-mode-acl.c to set-acl.c.
18650         * lib/acl-errno-valid.c: New file.
18651         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18652         copy_acl function remains in copy-acl.c.
18653         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18654         (_): Remove; not needed.
18655         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18656         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18657         * modules/qacl: New file, moved from the old modules/acl.
18658         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18659         Remove set-mode-acl.c, copy-acl.c.
18660         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18662         alignof, intprops, malloca: port better to IBM's C compiler
18663         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18664         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18665         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18667 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18669         wctype-h: fix gettext link error on mingw
18670         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18671         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18672         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18673         rpl_towupper and rpl_towupper.
18675 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18677         regex-tests, regex: allow glibc re_search behavior
18678         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18679         re_search input data to make the multi-character collating element
18680         in it clearly visible, and treat re_search return code 0 as valid.
18681         * m4/regex.m4 (gl_REGEX): Likewise.
18683 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18685         stdalign: doc fix
18686         * doc/posix-headers/stdalign.texi (stdalign.h):
18687         Gnulib doesn't support '_Alignof expr'.
18689 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18691         stdalign: port to stricter ISO C11
18692         ISO C11 says that _Alignof's operand must be a parenthesized type.
18693         Problem reported by Eli Zaretskii in
18694         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18695         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18696         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18698 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18700         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18701         Problem reported by Marco Atzeri in
18702         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18703         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18704         Simply delegate to the system <sys/select.h> in this case too.
18705         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18706         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18707         be needed on Solaris either.
18708         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18709         Simply delegate to the system <sys/time.h> in this case.
18711 2013-03-19  Karl Berry  <karl@gnu.org>
18713         * build-aux/gnupload: check for erroneous (with gnupload) use of
18714         ftp-upload.gnu.org, tweak help.
18716 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18718         copy-file, rpmatch: fix problems found by cppcheck
18719         Reported by Arno Onken in
18720         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18721         * lib/rpmatch.c (try): Fix memory leak.
18722         * lib/copy-file.c: Include "ignore-value.h".
18723         (qcopy_file_preserving): Ignore chown value.
18724         * modules/copy-file (Depends-on): Add ignore-value.
18726 2013-01-27  Jim Meyering  <jim@meyering.net>
18728         prefix-gnulib-mk: give better diagnostics
18729         * build-aux/prefix-gnulib-mk: Don't just "die".
18730         Give better diagnostics upon failure.
18732 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18734         putenv: port to Solaris 10
18735         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18736         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18737         is not what is wanted here.
18738         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18739         declaration, not for its existence.
18741 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18743         mktime: fix configure typo
18744         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18746 2013-03-12  Eric Blake  <eblake@redhat.com>
18748         regex-tests: skip UTF-8 test on mingw
18749         * modules/regex-tests (Depends-on): Add localcharset.
18750         * tests/test-regex.c (main): Use it to skip test on mingw.
18752 2013-03-11  Eric Blake  <eblake@redhat.com>
18754         tests: make it easier to bypass alarm time in debugger
18755         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18756         * tests/test-memmem.c (main): Likewise.
18757         * tests/test-passfd.c (main): Likewise.
18758         * tests/test-ptsname.c (main): Likewise.
18759         * tests/test-ptsname_r.c (main): Likewise.
18760         * tests/test-strcasestr.c (main): Likewise.
18761         * tests/test-strstr.c (main): Likewise.
18763         regex: port to mingw's recent addition of undeclared alarm
18764         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18765         exists but still doesn't work in newer mingw.
18766         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18767         not existence.  Ensure SIGALRM is not trapped.
18768         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18769         * m4/regex.m4 (gl_REGEX): Likewise.
18770         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18771         * tests/test-regex.c (main): Use correct probe for alarm.
18773         putenv: avoid compilation warning on mingw
18774         * lib/putenv.c (_unsetenv): Protect variable declaration.
18775         (putenv): Fix indentation.
18777 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18779         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18780         * lib/unistd.in.h: be careful not to include un-needed system
18781         stdlib.h from here, because that prevents gnulib stdlib.h from
18782         defining rpl_strtod correctly.
18784 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18786         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18787         changesets, but for the 'precision 0' test.
18788         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18789         round-to-even, since POSIX says rounding is implementation-defined
18790         and OS X 10.8.2 rounds 1.51 to 1 here.
18792         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18793         changeset.
18794         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18795         round-to-even, since POSIX says rounding is implementation-defined
18796         and OS X 10.8.2 rounds 1.5 to 1 here.
18798 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18800         vasnprintf-posix-tests: allow rounding 1.5 to 1
18801         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18802         round-to-even, since POSIX says rounding is implementation-defined
18803         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18804         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18806         bootstrap: port to FreeBSD
18807         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18808         that treat '--' differently.  Reported by Mats Erik Andersson in
18809         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18811 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18813         regex: rename remaining __attribute calls to __attribute__.
18814         2012-02-25 changed definition of __attribute, but left some uses
18815         unchanged, preventing compilation of regex module on most non-gcc
18816         environments.
18817         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18818         (lookup_collation_sequence_value, build_range_exp)
18819         (build_collating_symbol): Set attributes with newly renamed
18820         __attribute__ decorator.
18821         * lib/regex_internal.c (re_string_peek_byte_case)
18822         (re_node_set_compare, re_node_set_contains): Likewise.
18823         * lib/regexec.c (acquire_init_state_context): Likewise.
18825 2013-03-06  Bruno Haible  <bruno@clisp.org>
18827         execute: Revert last change, but use a different condition.
18828         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18829         on Windows.
18831 2013-03-05  Eric Blake  <eblake@redhat.com>
18833         execute: drop dead code
18834         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18836 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18838         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18839         * m4/non-recursive-gnulib-prefix-hack.m4
18840         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18841         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18842         <http://bugs.gnu.org/10305#237>.
18844 2013-03-04  Eric Blake  <eblake@redhat.com>
18846         test-getsockopt: avoid compiler warning
18847         * tests/test-getsockopt.c (includes): Ensure close is declared.
18849 2013-03-02  Bruno Haible  <bruno@clisp.org>
18851         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18852         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18854 2013-03-02  Bruno Haible  <bruno@clisp.org>
18856         gettext: Update to version 0.18.2.
18857         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18858         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18859                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18861 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18863         regex: merge patches from libc
18865         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18866         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18867         All uses changed.
18868         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18869         (re_string_wchar_at, re_string_elem_size_at):
18870         Mark function as possibly unused.
18872         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18873         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18874         elements compare against the byte sequence of it, not its name.
18876 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18878         putenv: port better to native Windows
18879         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18880         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18881         (_unsetenv): Use _putenv if available.
18882         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18883         a bit less likely to cause damage.
18884         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18885         Fix the wrong value with SetEnvironmentVariable.
18886         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18887         code better.
18889 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18891         regex: ignore old-style-definition warnings
18892         * lib/regex.c: Add pragma to ignore these warnings.
18893         Problem reported for GNU tar by Pavel Raiskup.
18895 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18897         getcwd: support coreutils better
18898         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18899         but this might not be correct in coreutils, which disables
18900         the raw decl checks.  Problem reported by Nagendra in
18901         <http://bugs.gnu.org/10305#192>.
18902         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18903         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18904         Test the getcwd function, not any macro, since getcwd.c wants the
18905         function.
18906         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18907         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18908         compile, as might happen if there's a macro but no function.
18910         strtod: support coreutils better
18911         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18912         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18913         disables the raw decl checks.  This assumes there is an underlying
18914         strtod, but that's a safe assumption these days.
18915         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18917         mountlist: port to HP NonStop
18918         Reported by Joachim Schmitz in
18919         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18920         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18921         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18923 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18925         extern-inline: avoid compilation error with HP-UX cc
18926         Reported by Richard Lloyd in
18927         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18928         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18929         Suppress extern inline with HP-UX cc.  This should be safe,
18930         though it may hurt performance.  Perhaps someone with some HP-UX
18931         experience can come up with a higher-performance fix.
18933 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18935         putenv: fix heap corruption with mixed putenv/_putenv
18936         Problem reported by Michael Goffioul in
18937         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18938         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18939         Rely on _putenv to allocate the new environment.
18940         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18941         * modules/putenv (configure.ac): Use it.
18943 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18945         unsetenv etc.: port to Solaris 11 + GNU Emacs
18946         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18947         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18948         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18949         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18950         idea but is too painful to fix right now), and without this gnulib
18951         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18952         compiling unsetenv.c on Solaris 11.  Fix the problem for
18953         unsetenv.c, and fix other similar occurrences.
18955 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18957         secure_getenv: fix C++ declaration typo
18958         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18959         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18960         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18962 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18964         careadlinkat: stop exporting careadlinkatcwd
18965         Only Emacs used it directly, and Emacs no longer needs it.
18966         * NEWS: Document this simplification.
18967         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18968         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18969         for readlink.
18970         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18971         Don't include stdlib.h; no longer needed.
18972         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18973         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18974         * modules/areadlink (Depends-on): Add readlink.
18975         (Maintainer): Add self.
18976         * modules/careadlinkat (Depends-on): Remove readlink.
18978         extensions: port better to HP-UX
18979         This is merged from git Autoconf.
18980         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18981         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18982         so that it's compatible with the value used when compiling.
18984         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18985         Problem reported by Mats Erik Andersson in
18986         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18987         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18988         openpty function exists, not merely when we intend to replace it.
18989         This corrects the 2013-01-31 patch, which mistakenly defined
18990         HAVE_OPENPTY even on hosts that lacked it.
18992 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18994         secure_getenv: fix include typo
18995         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18997         secure_getenv: port better to FreeBSD and Solaris
18998         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18999         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
19000         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
19001         This works better on BSDish platforms.
19002         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
19003         Test for issetugid if __secure_getenv is missing.
19005 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19007         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
19008         Some of these changes are merged in from git Autoconf.
19009         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
19010         When deciding whether to define _XOPEN_SOURCE, inspect the
19011         preprocessor macro __hpux instead of the more-heavyweight
19012         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
19013         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
19014         as the key for __EXTENSIONS__.
19016         unistd: avoid namespace pollution on non-glibc systems
19017         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
19018         This avoids namespace pollution on non-glibc systems, by causing
19019         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
19020         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
19021         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
19023 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19025         tmpdir: use secure_getenv
19026         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
19027         Define to secure_getenv, not getenv.
19028         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
19029         as that's now secure_getenv's job.
19030         * modules/tmpdir (Depends-on): Add secure_getenv.
19032         tempname: use secure_getenv
19033         * lib/tempname.c (__secure_getenv) [!_LIBC]:
19034         Define to secure_getenv, not getenv.
19035         * modules/tempname (Depends-on):
19036         Add secure_getenv.
19038         secure_getenv: new module
19039         * MODULES.html.sh (Extra functions based on ANSI C 89):
19040         Add secure_getenv.
19041         * doc/glibc-functions/secure_getenv.texi: New file.
19042         * doc/gnulib.texi: Include it.
19043         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
19044         New files.
19045         * lib/stdlib.in.h (secure_getenv): New decl.
19046         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
19047         * modules/stdlib (stdlib.h):
19048         Add secure_getenv checks.
19050 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
19052         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
19053         Reported for OS X 10.8.2 by Assaf Gordon in
19054         <http://bugs.gnu.org/13516>.
19055         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
19056         !HAVE_OPENAT && !HAVE_FDOPENDIR.
19057         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
19058         so that they can be kept in sync more easily.  Avoid PATH_MAX
19059         test on the Hurd.  Sync from test-getcwd.c for errno tests after
19060         mkdir or chdir failure.
19061         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
19062         lib/getcwd.c.
19063         (test_abort_bug): Do not test for the deep directory bug unless we
19064         have openat support.  Avoid PATH_MAX test on the Hurd.
19066         regex-tests, regex: fix bug: memset undeclared
19067         * tests/test-regex.c: Don't include regex.h twice.  Include
19068         string.h, to declare memset.  Christensen's report also mentioned
19069         this issue.
19070         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
19071         test-regex.c, to avoid future problems like this.  Remove
19072         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
19073         twice.
19075         regex-tests: fix link errors on older Solaris
19076         These need to link with @LIBINTL@ to get libintl_gettext.
19077         Problem reported by Tom G. Christensen in
19078         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
19079         * modules/regex-tests (test_regex_LDADD): New macro.
19081 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
19083         regex-tests: new module
19084         * modules/regex-tests, tests/test-regex.c: New files.
19086         regex: fix off-by-one error in configure test
19087         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
19089 2013-01-31  Eric Blake  <eblake@redhat.com>
19091         regex: avoid infinite configure test
19092         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
19094 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
19096         openpty: fix bug where HAVE_OPENPTY wasn't defined
19097         See the thread starting at:
19098         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
19099         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19100         openpty function exists, not merely when we intend to replace it.
19102 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19104         sys_time: port to Solaris 2.6
19105         There is a circularity problem on Solaris 2.6, where <time.h> includes
19106         <sys/time.h> for struct timespec.  The include nesting is gnulib
19107         <time.h>, system <time.h>, gnulib <sys/time.h>, system
19108         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
19109         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
19110         <sys/siginfo.h>; the last, innermost file needs struct
19111         timestruc_t, which is defined in <sys/time.h>, which has not been
19112         fully parsed.  Problem reported by Tom G. Christensen in
19113         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
19114         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
19115         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
19116         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
19117         uses split double-inclusion guards.
19119 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19121         regex: test for buffer overrun
19122         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
19123         for the just-fixed regex bug.
19125 2013-01-29  Andreas Schwab  <schwab@suse.de>
19127         regex: fix buffer overrun in regexp matcher [BZ #15078]
19128         * lib/regexec.c (extend_buffers): Add parameter min_len.
19129         (check_matching): Pass minimum needed length.
19130         (clean_state_log_if_needed): Likewise.
19131         (get_subexp): Likewise.
19133 2013-01-28  Pádraig Brady  <P@draigBrady.com>
19135         mountlist: don't consider "devtmpfs" as dummy
19136         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
19137         as there is storage associcated with it.
19139 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19141         futimens-tests, utimens-tests: Depend on gettext.
19142         This works around a problem introduced in my 2013-01-12 patch,
19143         which added @LIBINTL@ to these modules.
19144         * modules/futimens-tests (Depends-on):
19145         * modules/utimens-tests (Depends-on): Add gettext.
19147 2013-01-26  Eric Blake  <eblake@redhat.com>
19149         test-getpeername: fix typo
19150         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
19152 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
19154         bootstrap: remove the need for a sorted .gitignore file
19155         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
19156         rename to insert_if_absent(), so that we don't need or generate
19157         a sorted .gitignore file.  We do require a .gitignore with no
19158         existing duplicate entries and enforce that.
19159         (sort_patterns): Remove this function as we now use the simpler
19160         technigue of inserting blacklist entries at the top of the file,
19161         assuming gnulib won't be inserting !whitelist entries.
19163 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19165         readlinkat: don't depend on gl_FUNC_OPENAT
19166         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
19167         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
19168         renameat.m4, symlinkat.m4; but one thing at a time.
19170         statat: new module, split out from fstatat
19171         GNU Emacs needs the POSIX-specified fstatat, but not the
19172         gnulib-specified statat and lstat.  Split the latter two into a
19173         new module 'statat'.
19174         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
19175         * lib/openat.h, lib/statat.c (STATAT_INLINE):
19176         Rename from FSTATAT_INLINE. All uses changed.
19177         * modules/fstatat (Files): Remove lib/statat.c.
19178         (gl_MODULE_INDICATOR([fstatat])): Remove.
19179         (lib_SOURCES): Remove.
19180         (Maintainer): Add self.
19181         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
19182         * tests/test-fstatat.c (BASE): Don't define if already defined.
19183         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
19185 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
19187         tests: don't assume fd 99 is closed
19188         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
19189         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
19190         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
19191         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
19192         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
19193         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
19194         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
19195         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
19196         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
19197         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
19198         * tests/test-fwrite.c, tests/test-getpeername.c:
19199         * tests/test-getsockname.c, tests/test-getsockopt.c:
19200         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
19201         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
19202         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
19203         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
19204         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
19205         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
19206         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
19207         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
19208         * tests/test-unlinkat.c, tests/test-unlockpt.c:
19209         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
19210         Close file descriptor 99, instead of assuming it's already closed.
19212 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19214         stpncpy: port to OS X 10.8
19215         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
19216         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
19218 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
19220         unistd: port to recent mingw
19221         * lib/unistd.in.h: Remove special invocation convention for mingw,
19222         which breaks for the latest mingw version.  See John W. Eaton in
19223         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
19225         largefile: port better to Mac OS X 10.5
19226         This patch is backported from Autoconf git.
19227         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
19228         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
19229         with ino_t size being different for configuration time versus
19230         build/run time.  Problem reported by PHO in
19231         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
19233 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19235         doc: clarify -Werror
19236         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
19237         clarify that it's intended for developers, not for ordinary builds,
19238         and mention --enable-gcc-warnings as one possible use.
19240 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
19242         stdint: fix build with Android's Bionic fox x86
19243         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
19244         was already included as _SSIZE_T_DEFINED_ might also be defined
19245         in include/machine/_types.h, which is included by stdio.h
19247 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
19249         net_if-tests: port to Solaris 7 + GCC 3.4.6
19250         Problem reported by Tom G. Christensen in
19251         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
19252         * tests/test-net_if.c (ni): Move to next the code that uses it,
19253         so that it's declared only if needed.
19255 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
19257         net_if-tests: port to older Solaris
19258         Problem reported by Tom G. Christensen in
19259         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19260         * modules/net_if-tests (NET_IF_LIB): New substitution.
19261         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
19262         (HAVE_IF_NAMEINDEX): New C macro.
19263         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
19265         system-quote-tests: port to older Solaris
19266         Problem reported by Tom G. Christensen in
19267         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19268         * tests/test-system-quote-child.c (fopen, fread): Undef.
19270         c-xvasprintf etc.: fix link errors on older Solaris
19271         These need to link with @LIBINTL@ to get libintl_gettext.
19272         Problem reported by Tom G. Christensen in
19273         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19274         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
19275         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
19276         * modules/futimens-tests (test_futimens_LDADD):
19277         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
19279 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19281         locale: port to Solaris 2.6 and 7 + GNU gettext
19282         * lib/locale.in.h: Just include_next <locale.h> when
19283         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
19284         when combining the localename module with GNU gettext 0.18.2.
19285         Problem reported by Tom G. Christensen in
19286         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
19288 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19290         stdlib: port to Solaris 2.6
19291         Also, the code worked on Solaris 7 through 9 only by accident.
19292         Problem reported by Tom G. Christensen in
19293         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
19294         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
19295         simply include the system stdlib.h.
19296         * lib/getopt.in.h (__need_system_stdlib_h):
19297         * lib/pthread.in.h (__need_system_stdlib_h):
19298         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
19299         Define when including <stdlib.h>, to avoid problems at least for
19300         the pthread case on Solaris 2.6 and 7.  These .h files can get by
19301         with the system stdlib.h.
19303 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
19305         doc: update main copyright year
19306         * doc/gnulib.texi: Update copyright date.
19308         doc: improve ISO 8601 discussion
19309         * doc/parse-datetime.texi (Combined date and time of day items):
19310         Specify more carefully what formats are supported and what is
19311         done with excess precision.
19313 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
19315         doc: avoid small caps
19316         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
19317         they're more trouble than they're worth.  Suggested by Karl Berry
19318         in <http://bugs.gnu.org/13360>.
19320         regex: conform to strict C
19321         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
19322         From Aharon Robbins.
19324         gnulib-tool: fix incompatibility with autopoint 0.18.2
19325         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
19326         Problem reported by Tom G. Christensen in
19327         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
19329 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
19331         fprintftime: bring back and reword fwrite comment
19332         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
19334         stdio: remove now-unnecessary stdio.c
19335         Since stdio.in.h no longer uses inline functions, we no longer
19336         need to compile the extern versions.
19337         * lib/stdio.c: Remove.
19338         * modules/stdio (Files): Remove lib/stdio.c.
19339         (lib_SOURCES): Remove.
19341         unicodeio: depend on stdio, not ignore-value
19342         * lib/unicodeio.c: Do not include ignore-value.h.
19343         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
19344         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
19346         fprintftime: depend on stdio, not ignore-value
19347         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
19348         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
19349         since the stdio module arranges to silence that warning now.
19350         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
19352 2012-10-04  Simon Josefsson  <simon@josefsson.org>
19354         stdint-tests: Fix expanded-before-required-warning.
19355         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
19357 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19359         fwrite: silence __wur only for older glibc versions
19360         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
19361         This will help us remove this workaround some time in the far future.
19363 2013-01-03  Eric Blake  <eblake@redhat.com>
19365         fwrite: silence __wur without using inline
19366         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
19367         just gcc, and in a way that avoids inline issues.
19368         * modules/stdio (Depends-on): Drop extern-inline.
19370 2013-01-03  Jim Meyering  <jim@meyering.net>
19372         update-copyright: avoid copyright notice date corruption
19373         Given a sequence of copyright year numbers in which the final
19374         one was a two-digit number that happened to be a substring of
19375         a preceding four-digit year number, we would mistakenly update
19376         the substring (from two- to four-digit) rather than the two-digit
19377         number at the end, which, combined with the addition of the current
19378         4-digit year number would yield two 5-digit year numbers, e.g.,
19379         here, it would convert the first "99" to "1999, 2013" rather than
19380         the final one:
19381           1991, 99
19382           11999, 20131, 1999
19383         * build-aux/update-copyright: Tighten a regexp.
19384         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
19385         Reported by Joseph Myers in
19386         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
19388 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19390         regex: omit needless signed-pointer casts
19391         * lib/regcomp.c (build_charclass, build_charclass_op):
19392         Use char *, not unsigned char *, for class name and extra.
19393         The char values are always nonnegative so there's no need to
19394         insist on unsigned char * here, and using char * removes the need
19395         for casts.  Reported by Aharon Robbins in
19396         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19398         regex: support Gawk, which never uses alloca
19399         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
19400         Do not include in this case.  Gawk doesn't supply a substitute
19401         alloca.h and doesn't need one.
19403         regex: port __libc_lock_define usage to C89
19404         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
19405         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
19406         does not conform to C89, as it has an empty macro argument.
19407         Reported by Aharon Robbins in
19408         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19410 2013-01-01  Eric Blake  <eblake@redhat.com>
19412         maint: update all copyright year number ranges
19413         Run "make update-copyright".
19415         version-etc: bump copyright year reported in --version
19416         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
19418 2012-12-31  Eric Blake  <eblake@redhat.com>
19420         sigprocmask-tests: skip test if pid is unexpectedly large
19421         * tests/test-sigprocmask.c (main): Add range check.
19423         git-version-gen: avoid test -z portability glitch
19424         * build-aux/git-version-gen: Prefer portable test spelling, since
19425         git-version-gen is run on more than just developer machines.
19427 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
19429         git-version-gen: add --fallback option to use if git is not present
19430         * build-aux/git-version-gen: Add support for the new option --fallback,
19431         which comes into play when there is no $tarball_version_file and
19432         git is not working.
19433         (scriptversion): Update.
19435         maint.mk: handle missing git with more grace
19436         * top/maint.mk (no-submodule-changes, public-submodule-commit):
19437         Quietly proceed if git is not present.
19439 2012-12-31  Eric Blake  <eblake@redhat.com>
19441         dup2: work around cygwin bug
19442         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
19443         * lib/dup2.c (rpl_dup2): Work around it.
19444         * doc/posix-functions/dup2.texi (dup2): Document it.
19446 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19448         regex: remove unnecessary dependency on localcharset.h
19449         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
19450         hasn't been needed for years.
19451         * modules/regex (Depends-on): Remove localcharset.
19453         regex: revert single-byte change
19454         * lib/regexec.c (check_node_accept_bytes): Revert previous change
19455         to this function.  This was alredy fixed in a different way, at
19456         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
19457         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
19458         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
19460         regex: simplify based on Gawk version
19461         * lib/regex_internal.c (re_dfa_add_node): Simplify.
19462         Reported by Aharon Robbins in
19463         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19465 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19467         regex: check that pattern char is single-byte
19468         Reported by Aharon Robbins in
19469         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19470         * lib/regexec.c (check_node_accept_bytes):
19471         Return 0 if the pattern string has a multibyte character here.
19473         regex: implement rational ranges
19474         Reported by Aharon Robbins in
19475         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19476         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19477         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19478         Implement rational ranges.
19480         regex: avoid redefining __wctype
19481         Reported by Aharon Robbins in
19482         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19483         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19484         #undef before defining.
19486         regex: port to hosts where malloc (0) == NULL
19487         Reported by Aharon Robbins in
19488         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19489         * lib/regex_internal.c (re_node_set_alloc):
19490         Don't assume that malloc (0) yields nonnull.
19491         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19492         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19493         * modules/regex (Files): Add m4/eealloc.m4.
19495         regex: port to C89
19496         Reported by Aharon Robbins in
19497         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19498         * lib/regcomp.c (init_word_char): Declaration before statement.
19500         regex: merge glibc changes
19501         Also, copy the license wording from glibc.  This simplifies
19502         merging changes.  gnulib-tool will change the wording to GPL as
19503         appropriate, when importing it to other packages.  The only
19504         glibc change made since the last merge, which needs merging, is:
19505         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19506         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19508         * users.txt: Add Emacs.
19510         doc: omit mention of version when not needed
19511         * doc/gnulib-intro.texi (Portability and Application Code):
19512         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19513         Don't mention particular dates or versions when not necessary, so
19514         that the documentation won't go out of date so quickly.
19516         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19518 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19520         bootstrap: pass --force to autoreconf.
19521         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19522         Add "--force" so that Automake's ylwrap and other such tools
19523         be updated at each bootstrap invocation.
19524         Use it.
19526 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19528         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19529         The earlier patch forgot to update one of the #if conditions, causing
19530         a problem on Debian testing i386 reported by Mats Erik Andersson
19531         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19532         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19533         (__argp_fmtstream_puts, argp_fmtstream_puts)
19534         (__argp_fmtstream_write, argp_fmtstream_write)
19535         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19537         * doc/gnulib-readme.texi: Minor fixups.
19538         (Portability guidelines): Modernize URLs.  Remove some repetition.
19539         (Indent with spaces not TABs): Reword to avoid too-long lines.
19540         Remove some '@ifset standalone' stuff that isn't used.
19542         * doc/gnulib-readme.texi (Portability guidelines):
19543         ctype.h, not ctime.h.
19545         Correct name of POSIX.1-2001.
19546         * doc/posix-functions/fgetc.texi (fgetc):
19547         * doc/posix-functions/fgets.texi (fgets):
19548         * doc/posix-functions/fread.texi (fread):
19549         * doc/posix-functions/fscanf.texi (fscanf):
19550         * doc/posix-functions/getc.texi (getc):
19551         * doc/posix-functions/getchar.texi (getchar):
19552         * doc/posix-functions/scanf.texi (scanf):
19553         POSIX.1-2001, not POSIX-2001.
19555         doc: move README into manual
19556         * README: Move contents to new file doc/gnulib-readme.texi.
19557         Replace with a one-line summary.
19558         * doc/gnulib.texi (Brief Overview): New section,
19559         with old intro preface.  Include gnulib-readme.texi for contents.
19560         (Philosophy): Rename from "Introduction", since this
19561         section no longer introduces the rest.  Write a new preface.
19562         * doc/gnulib-readme.texi: New file, with the old contents of
19563         README texinfo-ized.  This way, the README info appears
19564         in the online and printed manual.
19566 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19568         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19569         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19570         c_vasprintf() prototype.
19572 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19574         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19575         * lib/c-vasprintf.h: Remove stray semicolon.
19577 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19579         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19580         It is obsolete and is planned to be removed from Automake 1.14; see
19581         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19582         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19583         (installdirs-data, installdirs-data-yes):
19584         Use $(MKDIR_P), not $(mkdir_p).
19585         * m4/intl.m4 (AM_INTL_SUBDIR):
19586         * m4/po.m4 (AM_PO_SUBDIRS):
19587         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19589 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19591         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19592         On this platform, we are not optimizing but we are using
19593         the substitute for extern inlines, so compile as if
19594         C99-style extern inline, or a substitute, is available.
19595         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19596         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19597         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19598         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19599         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19600         Declare as ARGP_FS_EI, not as extern.
19601         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19602         (__option_is_short, _option_is_end, __option_is_end)
19603         [!_LIBC && __USE_EXTERN_INLINES]:
19604         Declare as ARGP_EI, not as extern.
19606 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19608         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19609         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19610         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19611         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19612         ...), as the latter is fatal with older Autoconfs.
19613         Problem reported and fix suggested by Eric Blake in thread starting at
19614         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19616 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19618         AC_PROG_MKDIR_P: don't workaround if not buggy
19619         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19620         Define only for Autoconf versions before 2.62.
19621         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19622         undocumented m4_PACKAGE_VERSION, for consistency with the
19623         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19624         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19625         was introduced in 2.62.
19627 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19629         New 'c-*printf' modules for formatted output in C locale.
19631         New module 'c-vasnprintf'.
19632         * modules/c-vasnprintf: New file.
19633         * lib/c-vasnprintf.c: New file.
19634         * lib/c-vasnprintf.h: New file.
19636         New module 'c-snprintf'.
19637         * modules/c-snprintf: New file.
19638         * modules/c-snprintf-tests: New file.
19639         * lib/c-snprintf.c: New file.
19640         * lib/c-snprintf.h: New file.
19641         * tests/test-c-snprintf.c: New file.
19642         * tests/test-c-snprintf.sh: New file.
19644         New module 'c-vsnprintf'.
19645         * modules/c-vsnprintf: New file.
19646         * modules/c-vsnprintf-tests: New file.
19647         * lib/c-vsnprintf.c: New file.
19648         * lib/c-vsnprintf.h: New file.
19649         * tests/test-c-vsnprintf.c: New file.
19650         * tests/test-c-vsnprintf.sh: New file.
19652         New module 'c-vasprintf'.
19653         * modules/c-vasprintf: New file.
19654         * modules/c-vasprintf-tests: New file.
19655         * lib/c-asprintf.c: New file.
19656         * lib/c-vasprintf.c: New file.
19657         * lib/c-vasprintf.h: New file.
19658         * tests/test-c-vasprintf.c  +: New file.
19659         * tests/test-c-vasprintf.sh: New file.
19661         New module 'c-xvasprintf'.
19662         * modules/c-xvasprintf: New file.
19663         * modules/c-xvasprintf-tests: New file.
19664         * lib/c-xasprintf.c: New file.
19665         * lib/c-xvasprintf.c: New file.
19666         * lib/c-xvasprintf.h: New file.
19667         * tests/test-c-xvasprintf.c: New file.
19668         * tests/test-c-xvasprintf.sh: New file.
19670 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19672         argp: better 'inline'
19673         Use extern-inline module to declare extern inline functions.
19674         This avoids some bogus warning diagnostics.  Problem discovered
19675         when modifying GNU tar to use the manywarnings module.
19676         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19677         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19678         Define based on extern-inline.
19679         * modules/argp (Depends-on): Add extern-inline.
19681 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19683         filemode, sys_stat: Handle MPX files a la AIX.
19684         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19685         * lib/sys_stat.in.h (S_ISMPX): New macro.
19686         * tests/test-sys_stat.c: Add tests for MPX files.
19688 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19690         x-to-1: honor $PERL
19691         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19692         a chance to use his preferred version of Perl.  This is typically
19693         required by Darwin users whose default /usr/bin/perl does not have all
19694         the libraries required by help2man, and who need to use their MacPorts
19695         installation of Perl instead.
19697 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19699         gnu-web-doc-update: add all the new files, even in new directories
19700         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19701         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19702         Use it.
19703         (main): Don't use cvsutils to get the list of unknown files,
19704         just add all the existing files and directories.
19706 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19708         gnu-web-doc-update: improve --help
19709         * build-aux/gnu-web-doc-update: Move comments into --help.
19711 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19713         mountlist: recognize more "dummy" file systems
19714         * lib/mountlist.c (ME_DUMMY_0):
19715         Add these dummy FS names to the list:
19716         - "debugfs" virtual filesystem for kernel debugging
19717         - "devpts" PTY slave filesystem
19718         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19719         - "fusectl" control filesystem for FUSE
19720         - "mqueue" enumerates POSIX message queues
19721         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19722         - "sysfs" is for exporting kernel objects
19723         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19725 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19727         extern-inline: avoid incompatibility with Darwin Libc
19728         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19729         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19730         Problem reported by Akim Demaille in
19731         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19733 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19735         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19736         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19737         let it handle password prompting.
19739 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19741         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19742         * lib/canonicalize.c (canonicalize_filename_mode):
19743         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19744         fetching the current directory.  Don't overrun the beginning of
19745         rpath if there's no slashes after the MS-Windows drive letter.
19747 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19749         maint.mk: avoid extra forks
19750         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19751         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19752         So use that instead of "$(shell test -f FILE && echo FILE)".
19754 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19756         vasnprintf: fix ASCII_ONLY typo
19757         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19758         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19759         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19760         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19761         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19763 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19765         list, oset, xlist, xoset: fix extern inline issue with C99
19766         This was introduced by my recent changes for 'inline'.
19767         Problem reported for gettext by Daiki Ueno in
19768         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19769         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19770         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19771         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19772         (gl_list_previous_node, gl_list_get_at)
19773         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19774         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19775         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19776         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19777         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19778         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19779         (gl_list_iterator_free, gl_sortedlist_search)
19780         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19781         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19782         (gl_sortedlist_remove):
19783         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19784         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19785         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19786         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19787         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19788         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19789         (gl_list_add_at, gl_sortedlist_add):
19790         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19791         Wrap these extern decls inside "#if 0", because they are implemented
19792         as inline functions, and extern inline is not what's wanted here.
19793         It would simplify these .h files to remove the extern decls entirely,
19794         although a downside would be less-clear separation between
19795         specification and implementation.
19797 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19799         sys_stat: no 'static inline'
19800         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19801         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19803         extern-inline: no 'static inline'
19804         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19805         Do not require AC_C_INLINE.
19806         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19807         'static inline', for older compilers.
19809         snippet/warn-on-use: no 'static inline'
19810         * build-aux/snippet/warn-on-use.h:
19811         Remove unnecessary 'inline' in comment.
19813         rbtree-list, rbtreehash-list: no 'static inline'
19814         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19815         * lib/gl_anytree_list2.h (node_at):
19816         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19817         (gl_oset_first, add_nodes_to_buckets):
19818         Now static, not static inline.
19820         regex: no 'static inline'
19821         * lib/regex_internal.c (calc_state_hash):
19822         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19823         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19824         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19825         Now static, not static inline.
19826         (inline) [__GNUC__ < 3 && _LIBC]:
19827         Remove macro; no longer needed.
19829         xvasprintf: no 'static inline'
19830         * lib/xvasprintf.c (xstrcat):
19831         Now static, not static inline.
19832         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19833         Do not require AC_C_INLINE.
19835         parse-datetime, parse-duration: no 'static inline'
19836         * lib/parse-datetime.y (to_uchar):
19837         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19838         (scale_n_add):
19839         Now static, not static inline.
19840         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19841         * modules/parse-duration (configure.ac):
19842         Do not require AC_C_INLINE.
19844         getaddrinfo: no 'static inline'
19845         * lib/getaddrinfo.c (validate_family):
19846         Now static, not static inline.
19847         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19848         Do not require AC_C_INLINE.
19850         ftruncate, fts, lstat, openat, raise: no 'static inline'
19851         * lib/ftruncate.c (chsize_nothrow):
19852         * lib/fts.c (opendirat, diropen):
19853         * lib/lstat.c (orig_lstat):
19854         * lib/openat.c (orig_openat):
19855         * lib/raise.c (raise_nothrow):
19856         Now static, not static inline.
19857         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19858         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19859         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19860         * m4/openat.m4 (gl_PREREQ_OPENAT):
19861         * m4/raise.m4 (gl_PREREQ_RAISE):
19862         Do not require AC_C_INLINE.
19864         fflush, stat: no 'static inline'
19865         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19866         (clear_ungetc_buffer, disable_seek_optimization)
19867         (restore_seek_optimization, update_fpos_cache):
19868         * lib/stat.c (orig_stat):
19869         Now static, not static inline.
19870         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19871         (update_fpos_cache):
19872         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19873         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19874         * m4/stat.m4 (gl_PREREQ_STAT):
19875         Do not require AC_C_INLINE.
19877         error, filevercmp: no 'static inline'
19878         * lib/error.c (is_open, flush_stdout):
19879         * lib/filevercmp.c (order):
19880         Now static, not static inline.
19881         * m4/error.m4 (gl_PREREQ_ERROR):
19882         * modules/filevercmp (configure.ac):
19883         Do not require AC_C_INLINE.
19885         dup, execute, fatal-signal, etc.: no 'static inline'
19886         * lib/dup.c (dup_nothrow):
19887         * lib/execute.c (nonintr_close, nonintr_open):
19888         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19889         * lib/fopen.c (orig_fopen):
19890         * lib/freadseek.c (freadptrinc):
19891         * lib/freopen.c (orig_freopen):
19892         * lib/fstat.c (orig_fstat, fstat_nothrow):
19893         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19894         (get_rusage_as_via_iterator):
19895         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19896         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19897         * lib/isatty.c (_isatty_nothrow):
19898         * lib/open.c (orig_open):
19899         * lib/read.c (read_nothrow):
19900         * lib/sigprocmask.c (signal_nothrow):
19901         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19902         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19903         * lib/wait-process.c (unregister_slave_subprocess):
19904         * lib/write.c (write_nothrow):
19905         Now static, not static inline.
19906         * lib/spawn-pipe.c (nonintr_open): Define only if
19907         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19908         * m4/dup.m4 (gl_PREREQ_DUP):
19909         * m4/execute.m4 (gl_EXECUTE):
19910         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19911         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19912         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19913         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19914         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19915         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19916         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19917         * m4/open.m4 (gl_PREREQ_OPEN):
19918         * m4/read.m4 (gl_PREREQ_READ):
19919         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19920         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19921         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19922         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19923         * m4/write.m4 (gl_PREREQ_WRITE):
19924         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19925         Do not require AC_C_INLINE.
19927         c-strtod, memcoll, readutmp: no 'static inline'
19928         * lib/c-strtod.c (c_locale):
19929         * lib/memcoll.c (strcoll_loop):
19930         * lib/readutmp.c (desirable_utmp_entry):
19931         Now static, not static inline.
19932         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19933         * m4/memcoll.m4 (gl_MEMCOLL):
19934         * m4/readutmp.m4 (gl_READUTMP):
19935         Do not require AC_C_INLINE.
19937         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19938         * lib/arctwo.c (to_uchar):
19939         * lib/md4.c (set_uint32):
19940         * lib/md5.c (set_uint32):
19941         * lib/sha1.c (set_uint32):
19942         * lib/sha256.c (set_uint32):
19943         * lib/sha512.c (set_uint64):
19944         Now static, not static inline.  This is a bit simpler, and doesn't
19945         affect performance with GCC and default optimization.
19946         * m4/arctwo.m4 (gl_ARCTWO):
19947         * m4/md4.m4 (gl_MD4):
19948         * m4/md5.m4 (gl_MD5):
19949         * m4/sha1.m4 (gl_SHA1):
19950         * m4/sha256.m4 (gl_SHA256):
19951         * m4/sha512.m4 (gl_SHA512):
19952         Do not require AC_C_INLINE.
19954         cond, lock, thread: better 'inline'
19955         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19956         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19957         New macros.  Use them instead of static inline, for header functions.
19958         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19959         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19960         * lib/glthread/lock.c (gl_waitqueue_init)
19961         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19962         * lib/glthread/thread.c (get_current_thread_handle):
19963         Change 'static inline' to 'inline'.
19964         * lib/glthread/cond.h, lib/glthread/thread.h:
19965         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19966         * m4/cond.m4 (gl_COND):
19967         * m4/lock.m4 (gl_PREREQ_LOCK):
19968         * m4/thread.m4 (gl_THREAD):
19969         Do not require AC_C_INLINE.
19970         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19972         chdir-long, cycle-check, savewd: better 'inline'
19973         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19974         (find_non_slash):
19975         * lib/cycle-check.c (is_zero_or_power_of_two):
19976         * lib/savewd.c (savewd_delegating):
19977         Change 'static inline' to 'inline'.
19978         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19979         Replace all remaining uses of 'static inline' with it.
19980         * lib/savewd.h:
19981         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19982         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19983         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19984         * m4/savewd.m4 (gl_SAVEWD):
19985         Do not require AC_C_INLINE.
19986         * modules/savewd (Depends-on): Add extern-inline.
19988         base32, base64: no need for 'inline'
19989         * lib/base32.c (to_uchar, get_8, decode_8):
19990         * lib/base64.c (to_uchar, get_4, decode_4):
19991         Change 'static inline' to 'inline'.
19992         * m4/base32.m4 (gl_PREREQ_BASE32):
19993         * m4/base64.m4 (gl_PREREQ_BASE64):
19994         Do not require AC_C_INLINE.
19996         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19997         * lib/gl_array_oset.c (gl_array_nx_add_at):
19998         (gl_array_remove_at):
19999         * lib/gl_linkedhash_list.c (hash_resize_after_add)
20000         (add_to_bucket, remove_from_bucket):
20001         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
20002         Change 'static inline' to 'static', as it's simpler to omit
20003         'inline' unless there's a significant performance advantage.
20005         list, oset, xlist, xoset, xsublist: simplify via extern inline
20006         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
20007         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
20008         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
20009         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
20010         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
20011         New macro.  Replace all uses of 'static inline' with it.
20012         [HAVE_INLINE]: Implement functions as *_INLINE functions,
20013         instead of as macros FOO that are defined to static inline
20014         functions FOO_inline.
20015         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
20016         * lib/gl_xsublist.c:
20017         Reimplement from scratch, by defining the corresponding *_INLINE
20018         macro and including the corresponding .h file.  This is simpler.
20019         * modules/list, modules/oset, modules/xlist, modules/xoset:
20020         (Files): Remove m4/gl_list.m4.
20021         (configure.ac): Remove gl_LIST.
20022         * m4/gl_list.m4: Remove.
20023         * modules/list, modules/oset, modules/xlist, modules/xoset:
20024         * modules/xsublist:
20025         (Depends-on): Depend on extern-inline, not inline.
20027         xalloc: better 'inline'
20028         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
20029         New macro.  Replace all uses of 'static inline' with it.
20030         (static_inline): Remove.
20031         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
20032         Let 'extern inline' do the work automatically, instead of doing
20033         it by hand.
20034         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
20035         Remove.  All uses removed.
20036         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
20038         gethrxtime: better 'inline'
20039         * lib/xtime.c: New file.
20040         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
20041         * lib/xtime.h (XTIME_INCLUDE):
20042         New macros.  Replace all uses of 'static inline' with them.
20043         * lib/gethrxtime.c (gethrxtime): Define only if
20044         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
20045         this source file is now always compiled, because of the extern inline.
20046         * lib/gethrxtime.h, lib/xtime.h:
20047         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20048         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
20049         if gethrtime works, as they're not needed in that case.
20050         (gl_XTIME): Do not require AC_C_INLINE.
20051         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
20052         compiled now.  Move the check into gl_GETHRXTIME.
20053         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
20054         (Depends-on): Add extern-inline.
20055         (configure.ac): gethrxtime is always compiled now.
20056         (lib_SOURCES): Add gethrxtime.c.
20058         wctype-h: better 'inline'
20059         * lib/wctype-h.c: New file.
20060         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
20061         New macro.  Replace all uses of 'static inline' with it.
20062         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20063         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
20064         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
20065         (Depends-on): Add extern-inline.
20067         unistd: better 'inline'
20068         * lib/unistd.c: New file.
20069         * lib/unistd.in.h (_GL_UNISTD_INLINE):
20070         New macro.  Replace all uses of 'static inline' with it.
20071         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20072         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
20073         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
20074         (Depends-on): Add extern-inline.
20076         sys_socket: better 'inline'
20077         * lib/sys_socket.c: New file.
20078         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
20079         New macro.  Replace all uses of 'static inline' with it.
20080         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20081         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
20082         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
20083         (Depends-on): Add extern-inline.
20085         stdio: better 'inline'
20086         * lib/stdio.c: New file.
20087         * lib/stdio.in.h (_GL_STDIO_INLINE):
20088         New macro.  Replace all uses of 'static inline' with it.
20089         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20090         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
20091         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
20092         (Depends-on): Add extern-inline.
20094         sigaction: better 'inline'
20095         * lib/sig-handler.c: New file.
20096         * lib/sig-handler.h (SIG_HANDLER_INLINE):
20097         New macro.  Replace all uses of 'static inline' with it.
20098         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20099         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
20100         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
20101         (Depends-on): Add extern-inline.
20103         selinux-h: better 'inline'
20104         * lib/se-context.c, lib/se-selinux.c: New files.
20105         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
20106         * lib/se-context.in.h (SE_CONTEXT_INLINE):
20107         New macro.  Replace all uses of 'static inline' with it.
20108         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20109         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
20110         New macro.  Replace all uses of 'static inline' with it.
20111         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20112         * modules/selinux-h (Files, lib_SOURCES):
20113         Add lib/se-context.c, lib/se-selinux.c.
20114         (Depends-on): Add extern-inline.
20115         (configure.ac): Do not require AC_C_INLINE.
20117         pthread: better 'inline'
20118         * lib/pthread.c: New file.
20119         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
20120         New macro.  Replace all uses of 'static inline' with it.
20121         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20122         * m4/pthread.m4 (gl_PTHREAD_CHECK):
20123         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
20124         * modules/pthread (Files): Add lib/pthread.c.
20125         (Depends-on): Add extern-inline.
20127         math: better 'inline'
20128         * lib/math.c: New file.
20129         * lib/math.in.h (_GL_MATH_INLINE):
20130         New macro.  Replace all uses of 'static inline' with it.
20131         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20132         * m4/math_h.m4 (gl_MATH_H):
20133         Do not require AC_C_INLINE.
20134         * modules/math (Files, lib_SOURCES):
20135         Add lib/math.c.
20136         (Depends-on): Add extern-inline.
20138         count-one-bits: better 'inline'
20139         * lib/count-one-bits.c: New file.
20140         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
20141         New macro.  Replace all uses of 'static inline' with it.
20142         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20143         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
20144         Do not require AC_C_INLINE.
20145         * modules/count-one-bits (Files, lib_SOURCES):
20146         Add lib/count-one-bits.c.
20147         (Depends-on): Add extern-inline.
20149         count-leading-zeros: better 'inline'
20150         * lib/count-leading-zeros.c: New file.
20151         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
20152         New macro.  Replace all uses of 'static inline' with it.
20153         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20154         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
20155         Do not require AC_C_INLINE.
20156         * modules/count-leading-zeros (Files, lib_SOURCES):
20157         Add lib/count-leading-zeros.c.
20158         (Depends-on): Add extern-inline.
20160         bitrotate: better 'inline'
20161         * lib/bitrotate.c: New file.
20162         * lib/bitrotate.h (BITROTATE_INLINE):
20163         New macros.
20164         Replace all uses of 'static inline' with them.
20165         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20166         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
20167         (Depends-on): Add extern-inline.
20168         (configure.ac): Do not require AC_C_INLINE.
20170 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
20172         maint.mk: avoid gratuitous failure
20173         Reported by Stefano Lattarini in
20174         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
20175         * top/maint.mk (public-submodule-commit): Quote more safely.
20177 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
20179         canonicalize, canonicalize-lgpl: support MS-Windows file names
20180         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
20181         for test cases, which it'd be nice to add at some point.
20182         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
20183         * lib/canonicalize.c (canonicalize_filename_mode):
20184         * lib/canonicalize-lgpl.c (__realpath):
20185         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
20186         slash is at the beginning of the file name.  Use ISSLASH, instead
20187         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
20188         the first character with '/'.  Test for
20189         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
20190         with a drive letter.
20191         * lib/canonicalize.c (SLASHES): New macro.
20192         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
20194 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
20196         fts: introduce FTS_VERBATIM
20197         * lib/fts_.h (FTS_VERBATIM): New bit flag.
20198         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
20199         * lib/fts.c (fts_open): Honor it.
20201 2012-11-09  Pádraig Brady  <P@draigBrady.com>
20203         getlogin-tests: allow errno == ENXIO
20204         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20205         with errno == ENXIO (No controlling tty).
20206         getlogin_r-tests: Likewise. Also allow errno == ENOENT
20207         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
20208         with errno == ENOENT.  This was reported to happen in various
20209         situations on GNU/Linux.
20211 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
20213         getlogin-tests: allow errno == ENOENT
20214         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20215         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
20216         when running a test in an Emacs shell buffer.
20218 2012-11-08  Jim Meyering  <jim@meyering.net>
20220         tests/nap.h: avoid warning about unused variable
20221         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
20223         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
20224         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
20225         white space before each of the special-cased file names, to avoid
20226         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
20227         in http://bugs.gnu.org/12830.
20229 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
20231         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
20232         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
20233         fails with errno == EBADF when fd is opened with O_PATH.
20234         Reported by Jim Meyering in
20235         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
20236         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20237         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
20239 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20241         test-utimens: speed up by taking shorter naps
20242         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
20243         New functions.
20244         (nap): Use them, to do a better job of guessing the delay.
20245         On Fedora 17 with ext4 atop md atop hard disks, this made
20246         test-utimens run 10x faster, because the test napped for
20247         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
20248         <http://bugs.gnu.org/12820#11>.
20250 2012-11-07  Jim Meyering  <jim@meyering.net>
20252         mountlist.c: fix a compilation failure
20253         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
20254         I introduced while transforming commit v0.0-7683-g613bcb6
20256 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20258         errno: port to LynxOS 178 2.2.2
20259         Problem reported by Joel Brobecker in
20260         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
20261         * doc/posix-headers/errno.texi (errno.h): Document this.
20262         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
20263         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
20264         Supply a string for EILSEQ.
20265         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
20267 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20269         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
20270         Linux kernel 2.6.39 introduced O_PATH (see
20271         <http://lwn.net/Articles/433854/>) and this is a better fallback
20272         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
20273         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20274         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
20275         * lib/fcntl.in.h (O_ACCMODE):
20276         * tests/test-fcntl-h.c (main):
20277         Do not reject O_ACCMODE merely because it has more than the
20278         minimal number of bits, as POSIX allows extensions here.
20280 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
20282         mountlist: do not classify a bind-mounted dir entry as "dummy"
20283         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
20284         the "none"-testing clause.
20285         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
20286         exception for bind-mounted directories.
20288 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
20290         quote: provide a means to escape strings with nul characters
20291         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
20292         (quote, quote_n): Rename formal arguments for consistency with
20293         quotearg.
20295 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20297         test-raise: don't assume 199 is an invalid signal
20298         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
20300         sh-quote-tests: port to Solaris 9
20301         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
20302         Problem reported by Dagobert Michelsen in
20303         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
20305 2012-10-28  Jim Meyering  <jim@meyering.net>
20307         maint.mk: rename a new configurable variable
20308         * top/maint.mk (_gl_translatable_string_re): Rename from
20309         translation-markers: _gl_ prefix to insulate from user Makefile code,
20310         and the _re suffix to inform that it's a regular expression.
20312 2012-10-26  Eric Blake  <eblake@redhat.com>
20314         maint.mk: let packages tweak sc_po_check pattern
20315         * top/maint.mk (sc_po_check): Add translation-markers, to allow
20316         finding files with other translation markers.
20318 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20320         euidaccess: speed up 'configure' on GNU hosts
20321         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
20322         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
20323         it's needed only in this case.  Use AC_CHECK_DECLS, not
20324         AC_CHECK_DECLS_ONCE.
20325         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
20326         or AC_REQUIRE for AC_FUNC_GETGROUPS.
20328         * lib/regexec.c (re_search_internal): Fix grammar in comment.
20330 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20332         fchmodat, fchownat, fstatat: port to non-inlining compilers
20333         Problem reported for FreeBSD 9 by Jim Meyering in
20334         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
20335         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
20336         New files, which define FCHMODAT_INLINE etc.
20337         * lib/fchmodat.c (FCHMODAT_INLINE):
20338         * lib/fchownat.c (FCHOWNAT_INLINE):
20339         * lib/fstatat.c (FSTATAT_INLINE):
20340         Remove, as chmodat.c etc. now do this.
20341         * modules/fchmodat (Files): Add lib/chmodat.c.
20342         * modules/fchownat (Files): Add lib/chownat.c.
20343         * modules/fstatat (Files): Add lib/statat.c.
20345 2012-10-15  Jim Meyering  <jim@meyering.net>
20347         fchmodat.c, fchownat.c: compile-impeding typos
20348         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
20349         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
20350         Introduced in commit v0.0-7636-gd202279.
20352 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20354         fcntl-h: support GNU flags like O_IGNORE_CTTY
20355         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
20356         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
20357         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
20358         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
20359         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
20360         Define to 0 if not already defined.
20361         * tests/test-fcntl-h.c: Test these new flags.
20363 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
20365         faccessat, etc.: support AT_FDCWD-only use
20366         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
20367         this function only if its first argument is AT_FDCWD.
20368         Emacs wants faccessat for AT_EACCESS but not for any first-arg
20369         values other than AT_FDCWD, so it doesn't want all the openat
20370         machinery with fchdir etc.
20371         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
20372         * modules/fstatat, modules/mkdirat, modules/openat (Files):
20373         * modules/unlinkat (Files):
20374         Remove lib/openat-priv.h, as at-internal supplies this file.
20375         Removing this file here allows us to support programs like Emacs
20376         that avoid at-internal.
20378         faccessat: speed up 'configure' on mainstream hosts
20379         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
20380         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
20381         since it's only on unusual platforms that we need to check for
20382         'access', and it's better not to slow 'configure' down on all
20383         platforms.
20385         faccessat: port to Solaris 10
20386         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
20387         Needed on Solaris 10, which doesn't have AT_EACCESS,
20388         so we need the Gnulib fcntl.h, which defines it.
20390 2012-10-14  Pádraig Brady  <P@draigBrady.com>
20391         canonicalize: fix C89 compilation
20392         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
20393         declarations so C89 is supported.  Also remove the comment
20394         referencing memorty allocation as the suggested feature could
20395         not be implemented as suggested.
20396         Reported by Michael Goffioul.
20398 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
20400         group-member: omit unnecessary dependencies
20401         This is for Emacs, which has its own allocator and where we
20402         don't want to use xalloc.
20403         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
20404         since we no longer use xmalloc.  Do not include stdbool.h, since
20405         the changes below happen to remove the only use of bool.
20406         (GROUPBUF_SIZE): New constant.
20407         (struct group_info): Remove n_groups member.  Add groupbuf member.
20408         This lets us get the groups without using malloc, usually.
20409         (free_group_info, get_group_info): Adjust to this.
20410         (get_group_info): Return the number of groups found, or -1 on error.
20411         Use plain malloc not xmalloc, and treat its failure as if there
20412         are no groups, as the user already loses in case of error.
20413         (group_member): Simplify, based on changes to get_group_info.
20414         * modules/group-member (Depends-on): Remove dependencies on
20415         xalloc and stdbool.  Add dependency on xalloc-oversized.
20417 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
20419         gethrxtime: port to C++
20420         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
20422 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
20424         ptsname: fix macro-name typo
20425         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
20427 2012-10-03  Simon Josefsson  <simon@josefsson.org>
20429         inttostr: Relax license.
20430         * modules/inttostr (License): Change from LGPL to LGPLv2+.
20432 2012-10-03  Eric Blake  <eblake@redhat.com>
20434         ptsname_r: support ptys returned by FreeBSD posix_openpt
20435         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
20436         lives in /dev/pts/.
20438 2012-10-02  Eric Blake  <eblake@redhat.com>
20440         pselect: reject invalid file descriptors
20441         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
20442         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
20443         * modules/pselect (Depends-on): Add dup2.
20444         * doc/posix-functions/pselect.texi (pselect): Document this.
20446         select: reject invalid file descriptors
20447         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
20448         * lib/select.c (rpl_select) [!win32]: Work around it.
20449         * modules/select (Depends-on): Add dup2.
20450         * doc/posix-functions/select.texi (select): Document this.
20452         select: enhance test
20453         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
20454         New functions.
20455         (test_function): Enhance test.
20456         (do_select_bad_fd): Avoid any stale errno values.
20458         ptsname: reject invalid file descriptors
20459         http://www.austingroupbugs.net/view.php?id=503
20460         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
20461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
20462         * modules/stdlib (Makefile.am): Replace witness.
20463         * lib/stdlib.in.h (ptsname): Allow for replacement.
20464         * modules/ptsname (configure.ac): Trigger replacement.
20465         * doc/posix-functions/ptsname.texi (ptsname): Document this.
20467 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
20469         hash-pjw-bare: new module
20470         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20471         * lib/hash-pjw-bare.h: Likewise.
20472         * modules/hash-pjw-bare: New file.
20473         * MODULES.html.sh (Misc): Add it.
20475 2012-10-02  Eric Blake  <eblake@redhat.com>
20477         manywarnings: cater to more gcc infelicities
20478         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20479         -Wuninitialized without -O.
20481 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20483         select, poll tests: Make setsockopt invocation effective.
20484         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20485         the bind() call.
20486         * tests/test-select.h (open_server_socket): Likewise.
20488 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20490         sockets, sys_stat: restore AC_C_INLINE
20491         This undoes the 2012-09-22 patch.
20492         * m4/sockets.m4 (gl_SOCKETS):
20493         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20494         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20495         and does not support plain 'inline'.  Reported by Bruno Haible in
20496         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20498 2012-09-30  Bruno Haible  <bruno@clisp.org>
20500         localeconv tests: Avoid test failure on OpenIndiana.
20501         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20502         skip the 'grouping' and 'mon_grouping' tests.
20503         Reported by Jim Meyering.
20505 2012-09-30  Bruno Haible  <bruno@clisp.org>
20507         havelib: Follow libtool developments.
20508         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20509         Suggested by Simon Josefsson.
20511 2012-09-29  Jim Meyering  <meyering@redhat.com>
20513         fstatat.c: fix a compile-impeding typo
20514         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20515         Introduced in commit v0.0-7636-gd202279.
20516         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20518 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20520         extern-inline: provide a -Wundef safe config.h
20521         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20522         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20523         to produce a -Wundef warning free config.h.
20525 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20527         hash-pjw: relax license to LGPLv2+
20528         * modules/hash-pjw (License): Relax, with consent of author.
20530 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20532         maint.mk: fix strict vs. lazy variable issues with RELEASE
20533         * top/maint.mk (_equal): New function.
20534         (member_check): Strip the result to avoid spurious spaces.
20535         (url_dir_list): Do not use ifeq, which is strict, as it will
20536         require RELEASE_TYPE to be defined.
20537         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20538         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20539         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20540         (announcement_Cc_beta,announcement_mail_headers_beta)
20541         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20542         (release): Do not depend on $(release-type), as it forces its
20543         evaluation.  Bounce to it.
20545 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20547         maint.mk: formatting changes
20548         * top/maint.mk: Indent bodies of if's.
20550 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20552         maint.mk: factor the validation of RELEASE_TYPE
20553         With help from Jim Meyering.
20554         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20555         * top/maint.mk (_empty, _sp): Move their definition earlier.
20556         (member-check, release-type): New.
20557         Use the latter instead of $(RELEASE_TYPE).
20558         Remove now useless local checks.
20560 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20562         maint.mk: provide "make upload" to ease uploading
20563         See
20564         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20565         Do not depend simply on the current $(VERSION), as there may have been
20566         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20567         as "make release-commit" already does.
20569         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20570         "make TYPE".
20572         * top/maint.mk (upload_command, upload, release): New.
20573         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20574         (VERSION): first word of $(RELEASE) is always right.
20575         (emit_upload_commands): Adjust.
20576         * top/README-release: Update.
20578 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20580         maint.mk: silent rules
20581         With help from Stefano Lattarini.
20582         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20583         (announcement): Use $(AM_V_at).
20585 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20587         localename: port gl_locale_name_thread_unsafe to FreeBSD
20588         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20589         and use the simpler FreeBSD implementation on Mac OS X as well.
20590         Original idea suggested by Ed Maste in
20591         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20593 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20595         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20596         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20597         * lib/mbuiter.c, lib/xsize.c: New files.
20598         * lib/binary-io.h (BINARY_IO_INLINE):
20599         * lib/eealloc.h (EEALLOC_INLINE):
20600         * lib/mbfile.h (MBFILE_INLINE):
20601         * lib/mbiter.h (MBITER_INLINE):
20602         * lib/mbuiter.h (MBUITER_INLINE):
20603         * lib/xsize.h (XSIZE_INLINE):
20604         New macros.
20605         Replace all uses of 'static inline' with them.
20606         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20607         * m4/eealloc.m4 (gl_EEALLOC):
20608         * m4/mbfile.m4 (gl_MBFILE):
20609         * m4/mbiter.m4 (gl_MBITER):
20610         * m4/xsize.m4 (gl_XSIZE):
20611         Do not require AC_C_INLINE.
20612         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20613         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20614         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20615         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20616         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20617         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20618         * modules/binary-io, modules/eealloc, modules/mbfile:
20619         * modules/mbiter, modules/mbuiter:
20620         (Depends-on): Add extern-inline.
20622         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20623         * lib/pipe-filter-aux.c: New file.
20624         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20625         Replace all uses of 'static inline' with it.
20626         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20627         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20628         (filter_retcode): No real need for inline here.
20629         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20630         (Files): Add lib/pipe-filter-aux.c.
20631         (Depends-on): Add extern-inline.
20632         (configure.ac): Do not require AC_C_INLINE.
20633         (lib_SOURCES): Add pipe-filter-aux.c.
20635         fdutimensat: omit unnecessary AC_C_INLINE
20636         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20638         fchmodat, fchownat, fstatat: use extern-inline
20639         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20640         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20641         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20642         New macros.
20643         * lib/openat.h:
20644         Replace all uses of 'static inline' with them.
20645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20646         * modules/fchmodat, modules/fchownat, modules/fstatat:
20647         * modules/openat-h:
20648         (Depends-on):
20649         Add extern-inline.
20650         (configure.ac): Remove AC_C_INLINE.
20652         acl, mbchar, priv-set: use extern-inline
20653         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20654         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20655         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20656         New macros.
20657         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20658         Replace all uses of 'static inline' with it.
20659         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20660         * m4/acl.m4 (gl_FUNC_ACL):
20661         * m4/mbchar.m4 (gl_MBCHAR):
20662         * m4/priv-set.m4 (gl_PRIV_SET):
20663         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20664         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20665         Add extern-inline.
20667         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20668         * m4/sockets.m4 (gl_SOCKETS):
20669         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20670         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20671         environments where it's already guaranteed to work, so we needn't
20672         check for it at 'configure'-time.
20674         tls-tests: omit unnecessary 'inline'
20675         * tests/test-tls.c (perhaps_yield): No longer inline.
20676         Simplicity and portability trump efficiency in test cases.
20678         utimens-tests: avoid unnecessary 'inline'
20679         * modules/fdutimensat-tests (configure.ac):
20680         * modules/futimens-tests (configure.ac):
20681         * modules/utimens-tests (configure.ac):
20682         * modules/utimensat-tests (configure.ac):
20683         Remove AC_C_INLINE.
20684         * tests/test-utimens-common.h (ctime_compare):
20685         No longer inline.  Simplicity and portability trump efficiency here.
20687         misc: don't limit commentary to inline functions
20688         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20689         * lib/xalloc-oversized.h, lib/xsize.h:
20690         Contrast macros to functions in general, not just to inline functions,
20691         when the commentary does not apply only to inline functions.
20693 2012-09-20  Jim Meyering  <meyering@redhat.com>
20695         non-recursive-gnulib-prefix-hack: new module
20696         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20697         the file that originated in Bison.
20698         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20699         largely copied from a snippet that resided in bison's configure.ac.
20700         * modules/non-recursive-gnulib-prefix-hack: New file.
20701         * MODULES.html.sh (Support for maintaining and releasing projects):
20702         Add it.
20704 2012-09-18  Jim Meyering  <meyering@redhat.com>
20706         maint.mk: generalize _gl_tight_scope for non-recursive make
20707         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20708         that *.h would describe additional .h files in the directory
20709         specified by $(_gl_TS_dir).  I.e., add this...
20710         (_gl_TS_other_headers): New variable.
20712         maint.mk: exempt trailing blanks found in "binary" files
20713         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20714         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20715         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20717 2012-09-17  Jim Meyering  <meyering@redhat.com>
20719         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20720         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20721         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20722         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20724 2012-09-17  Jim Meyering  <meyering@redhat.com>
20726         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20727         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20728         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20729         It is not in the same category as "exit (0)" or "exit (1)", and
20730         besides, I know of no symbolic name for that 77.  Reported by
20731         Richard W.M. Jones in
20732         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20734 2012-09-17  Jim Meyering  <meyering@redhat.com>
20736         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20737         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20738         all uses of #define, not just those that start in column 1.
20739         Richard W.M. Jones reported a false positive in
20740         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20742 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20744         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20745         * lib/localcharset.c (locale_charset) [DARWIN7]:
20746         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20747         as these two values are incompatible.  Problem reported by Max Horn.
20748         For more discussion, please see
20749         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20751         doc: document sticky-EOF issue
20752         * doc/posix-functions/fgetc.texi (fgetc):
20753         * doc/posix-functions/fgets.texi (fgets):
20754         * doc/posix-functions/fread.texi (fread):
20755         * doc/posix-functions/fscanf.texi (fscanf):
20756         * doc/posix-functions/getc.texi (getc):
20757         * doc/posix-functions/getchar.texi (getchar):
20758         * doc/posix-functions/scanf.texi (scanf):
20759         Mention that glibc and default Solaris do not conform to
20760         C99 and POSIX-2001 or later, with respect to how getchar
20761         etc. behave when feof reports nonzero.
20763 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20765         poll: fix poll(0, NULL, msec)
20766         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20767         but nfd is 0.  In that case poll should behave like select.
20769 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20770             Paolo Bonzini  <bonzini@gnu.org>
20772         poll: fix for systems that can't recv() on a non-socket
20773         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20774         is readable.  In this case POLLHUP will not be supported.
20775         * doc/posix-functions/poll.texi: Document this.
20777 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20779         poll/select: document portability problems not fixed by Gnulib.
20780         * doc/posix-functions/poll.texi: poll does not work well on
20781         pipes under Windows.  It has the same limitations as select on
20782         BeOS.
20783         * doc/posix-functions/select.texi: select does not work well
20784         on pipes under Windows.
20786 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20788         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20789         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20790         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20791         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20793 2012-09-06  Eric Blake  <eblake@redhat.com>
20795         net_if: give more details about the bug being fixed
20796         * doc/posix-headers/net_if.texi: Add clarification.
20798 2012-09-05  Eric Blake  <eblake@redhat.com>
20800         net_if: new module
20801         * modules/net_if: New module, borrowing ideas from netinet_in.
20802         * m4/net_if_h.m4: New file.
20803         * lib/net_if.in.h: Likewise.
20804         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20805         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20806         * tests/test-net_if.c: Make function checks conditional.
20807         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20809 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20811         readutmp: fix non-portable UT_PID use
20812         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20813         Use `UT_PID (u) > 0' as absolute condition.
20815 2012-09-04  Jim Meyering  <meyering@redhat.com>
20817         fts: reduce two or more trailing spaces to just one, usually
20818         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20819         or more slashes, trim all but the final one.  But if a name consists
20820         solely of two slashes, don't modify it.  If it consists solely of
20821         three or more slashes, strip all but one.
20823         This is part of the solution to a minor problem with rm:
20824         it would print a bogus ELOOP diagnostic when failing to remove
20825         the slash-decorated name of a symlink-to-directory:
20827             $ mkdir d && ln -s d s && env rm -r s/
20828             rm: cannot remove 's': Too many levels of symbolic links
20830         With the change below and a trivial don't-trim-trailing-slashes
20831         adjustment to remove.c, it does this:
20833             $ env rm -r s/
20834             rm: cannot remove 's/': Not a directory
20836         Improved by: Eric Blake
20838         fts: when there is no risk of overlap, use memcpy, not memmove
20839         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20841 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20843         stdbool: be more compatible with mixed C/C++ compiles
20844         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20845         Define to bool, true, false, respectively, as GCC's builtin
20846         stdbool.h does.  Problem reported by Michael Goffioul in
20847         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20849 2012-08-28  Jim Meyering  <meyering@redhat.com>
20851         revert last change: it was not needed
20852         * tests/test-vc-list-files-git.sh: There's already a test for
20853         a working git, just below.
20855 2012-08-28  Jim Meyering  <meyering@redhat.com>
20857         tests: test-vc-list-files-git.sh: skip if git is not available
20858         * tests/test-vc-list-files-git.sh: Skip this test when git is
20859         not available.
20861 2012-08-26  Bruno Haible  <bruno@clisp.org>
20863         gnulib-tool: Remove no-op option --no-changelog.
20864         * gnulib-tool (func_usage): Don't mention --no-changelog.
20865         (do_changelog): Remove variable.
20866         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20868 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20870         doc: remove fdl-1.2.texi
20871         It is no longer used or maintained, and its use of @acronym
20872         is problematic.  See the thread containing
20873         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20874         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20875         * doc/old-licenses/fdl-1.2.texi: Remove.
20877         execinfo: port to FreeBSD
20878         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20879         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20880         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20881         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20883 2012-08-23  Jim Meyering  <meyering@redhat.com>
20885         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20886         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20887         to placate gcc's -Wold-style-declaration.
20889 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20891         doc: do not use @acronym
20892         * doc/inet_ntoa.texi (inet_ntoa):
20893         * doc/parse-datetime.texi (Seconds since the Epoch)
20894         (Specifying time zone rules):
20895         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20896         Don't use @acronym.  Problem reported by John Darlington in
20897         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20899 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20901         stdnoreturn: port to newer GCCs
20902         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20903         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20904         Problem reported by Jim Meyering in
20905         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20906         Also, rename the 'test' function to a void a clash with the
20907         already-supplied 'main' function; this fixes a bug that incorrectly
20908         rejected GCC 4.7.1's <stdnoreturn.h>.
20909         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20910         Document GCC problem.
20912 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20914         pipe-filter: fix comment typo
20915         * lib/pipe-filter.h: Mention correct function.
20917 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20919         execinfo: new module
20920         This is for Emacs.  Currently, it provides a no-effect stub
20921         on all platforms where it does not already work.
20922         It already works on glibc-based systems, and on Solaris 11.
20923         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20924         New files.
20925         * doc/glibc-headers/execinfo.texi (execinfo.h):
20926         * MODULES.html.sh (Misc): Document it.
20928 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20930         extern-inline: support old GCC 'inline'
20931         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20932         if available.  This applies to GCC versions 2.7 through 4.2, or
20933         when newer GCC is using -fgnu89-inline.  The goal is to address
20934         some of the performance issues mentioned by Bruno Haible in
20935         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20937 2012-08-20  Eric Blake  <eblake@redhat.com>
20939         maint.mk: avoid redundant file name in message
20940         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20941         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20942         (sc_makefile_path_separator_check): Remove bogus $(ME).
20944 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20946         timer-time: fix link order when static linking on glibc
20947         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20948         _after_ -lrt so that it's significant.
20950 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20952         timespec: omit unnecessary AC_C_INLINE
20953         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20955         stat-time: omit unnecessary AC_C_INLINE
20956         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20957         Do not require AC_C_INLINE.
20959         ignore-value: omit unnecessary AC_C_INLINE
20960         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20962         sys_select: avoid 'static inline'
20963         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20965         mktime: avoid 'static inline'
20966         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20967         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20969 2012-08-19  Bruno Haible  <bruno@clisp.org>
20971         gnulib-tool: Improve coding style.
20972         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20973         func_emit_lib_Makefile_am.
20974         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20976 2012-08-19  Bruno Haible  <bruno@clisp.org>
20978         gnulib-tool: Fix indentation.
20979         * gnulib-tool (func_import): Fix indentation.
20981 2012-08-19  Bruno Haible  <bruno@clisp.org>
20983         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20984         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20985         on the list of removed files.
20987 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20989         test-parse-datetime: avoid glibc leap-second glitch
20990         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20991         with the 2012 rules.  Problem reported by Bruce Dubbs in
20992         <http://bugs.gnu.org/12206>.
20994 2012-08-14  Bruno Haible  <bruno@clisp.org>
20996         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20997         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20998         from argument.
20999         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21001 2012-08-14  Eric Blake  <eblake@redhat.com>
21003         ldexp: relax license
21004         * modules/ldexp (License): Trivial relax, since the module only
21005         provides a permissively licensed m4 file.
21007 2012-08-13  Bruno Haible  <bruno@clisp.org>
21009         gnulib-tool: Fix persistence of --witness-c-macro option.
21010         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
21011         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21013 2012-08-11  Eric Blake  <eblake@redhat.com>
21015         count-leading-zeros: use a lookup table on non-gcc compilers
21016         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
21017         alternate implementation, suggested by Jim Meyering.
21019 2012-08-10  Eric Blake  <eblake@redhat.com>
21021         count-leading-zeros: new module
21022         * modules/count-leading-zeros: New module.
21023         * m4/count-leading-zeros.m4: New file.
21024         * lib/count-leading-zeros.h: Likewise.
21025         * modules/count-leading-zeros-tests: New test.
21026         * tests/test-count-leading-zeros.c: New file.
21027         * MODULES.html.sh (Integer arithmetic functions): Document it.
21029 2012-08-07  Simon Josefsson  <simon@josefsson.org>
21030             Jim Meyering  <meyering@redhat.com>
21032         maintainer-makefile: Fix syntax error with dash.
21033         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
21034         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
21036 2012-08-05  Jim Meyering  <meyering@redhat.com>
21038         extern-inline: also ignore -Wmissing-declarations
21039         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
21040         required with gcc-4.8.0-to-be.
21042         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
21043         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
21044         for /error ?([^,]*)/.  This avoids false-positives for strings like
21045         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
21047 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
21049         gnumakefile: better interaction with Automake-NG
21050         * modules/gnumakefile [Makefile.am]: The makefiles generated by
21051         Automake-NG always contain a definition of VPATH, even in non-VPATH
21052         builds (its value being simply '.' in that case).  So, in the
21053         'clean-GNUmakefile' rule, to determine whether running under a
21054         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
21055         '$(VPATH)' expands to the empty string.
21057 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
21059         base64: Use extern C scope in header file, for C++.
21060         * lib/base64.h: Add C++ namespace protection.
21062 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21064         stat-time, timespec, u64: support naive out-of-dir builds
21065         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
21066         Use '#include "foo.h"', not '#include <foo.h>', when including
21067         one's own interface.  This works better when configuring with
21068         out-of-directory builds, since packages need not add an
21069         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
21071 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21073         utimens: use extern-inline
21074         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
21075         * lib/utimens.h: Add copyright notice, since this is now large enough
21076         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21077         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
21078         * modules/utimens (Depends-on): Add extern-inline.
21080         u64: use extern-inline
21081         * lib/u64.c: New file.
21082         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21083         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
21084         * modules/u64 (Files): Add lib/u64.c.
21085         (Depends-on): Add extern-inline.
21086         (configure.ac): No need to require AC_C_INLINE, since extern-inline
21087         does that now.
21088         (lib_SOURCES): Add u64.c.
21090         timespec: use extern-inline
21091         * lib/timespec.c: New file.
21092         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21093         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
21094         * modules/timespec (Files): Add lib/timespec.c.
21095         (Depends-on): Add extern-inline.
21096         (lib_SOURCES): Add timespec.c.
21098         stat-time: use extern-inline
21099         * lib/stat-time.c: New file.
21100         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21101         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
21102         * modules/stat-time (Files): Add lib/stat-time.c.
21103         (Depends-on): Add extern-inline.
21104         (lib_SOURCES): Add stat-time.c.
21106         extern-inline: new module
21107         * modules/extern-inline, m4/extern-inline.m4: New files.
21108         This is for better support of 'extern inline' a la ISO C99,
21109         with a portable alternative on compilers that do not support
21110         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
21111         of the Emacs executable, when compiled with debugging disabled,
21112         which is a typical way that Emacs is built while developing.
21114 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
21116         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
21117         * build-aux/do-release-commit-and-tag: Move variable definitions
21118         together.
21119         ($branch): Instead of defaulting to "master", default to the current
21120         branch (as gnu-web-doc-update does).
21121         (help): Display the current values of the option arguments.
21122         * top/maint.mk (release-commit): New.
21123         * top/README-release: Simplify the corresponding step.
21125 2012-07-30  Eric Blake  <eblake@redhat.com>
21127         passfd: fix comment on recvfd
21128         * lib/passfd.c (recvfd): Fix comment.
21129         Reported by Jann Horn <jannhorn@googlemail.com>.
21131 2012-07-30  Jim Meyering  <meyering@redhat.com>
21133         maint.mk: avoid a sub-shell
21134         * top/maint.mk (release-prep): Remove unneeded sub-shell.
21136 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21138         maint.mk: use silent-rules support from Automake
21139         * top/maint.mk (news-check, vc-diff-check, announcement)
21140         (no-submodule-changes, alpha beta stable, release-prep)
21141         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
21143 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21145         maint.mk: provide a web-manual-update target
21146         * top/maint.mk: here.
21147         * top/README-release: Use it to simplify the web manual update step.
21149 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21151         README-release: shorten the circuit to post a news
21152         * top/README-release: Point directly to the news submission form.
21154 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21156         gnu-web-doc-update: fix --help
21157         * build-aux/gnu-web-doc-update: The information "top level" was written
21158         twice.
21160 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21162         maint.mk: absolute VPATH issue
21163         * top/maint.mk (release-prep): Help Git find .git/.
21164         From Jim Meyering.
21166 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21168         gitlog-to-changelog: fix previous change
21169         * build-aux/gitlog-to-changelog: Fix condition.
21170         Add missing ";".
21172 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21174         gitlog-to-changelog: don't expect .git to be in $srcdir
21175         Reported by Bruno Haible.
21176         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
21177         * build-aux/gitlog-to-changelog (&git_dir_option): New.
21178         Use it.
21180 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21182         maint.mk: absolute VPATH build fix
21183         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
21184         $(srcdir) is not a parent of $(builddir).
21186 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
21188         clean-temp: Fix memory leak.
21189         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
21190         'files' members of tmpdir.
21192 2012-07-27  Jim Meyering  <meyering@redhat.com>
21194         maint.mk: new rule: refresh-gnulib-patches
21195         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
21196         Use this rule to refresh them.
21197         * top/maint.mk (refresh-gnulib-patches): New rule.
21199 2012-07-24  Bruno Haible  <bruno@clisp.org>
21201         gnulib-tool: Fix handling of inctests variable.
21202         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
21203         Reported by Nick Bowler <nbowler@elliptictech.com>.
21205 2012-07-22  Bruno Haible  <bruno@clisp.org>
21207         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
21208         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
21209         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21210         Remove exemption for getpass.h.
21211         Suggested by Eric Blake.
21213 2012-07-20  Eric Blake  <eblake@redhat.com>
21215         verify: document conflict with -Wnested-externs
21216         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
21218         maint.mk: forbid exit(-1)
21219         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
21221 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
21223         fsusage: port back to Solaris
21224         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
21225         error (fsd not declared) on Solaris 10.  Reported privately by
21226         Andrew Borodin.
21228 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
21230         gnu-web-doc-update: fix error messages
21231         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
21233         gnu-web-doc-update: check the requirements.
21234         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
21235         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
21236         * build-aux/bootstrap (find_tool): Comment change.
21238 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
21240         maint.mk: minor simplication.
21241         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
21242         for default values.
21244 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
21246         gitlog-to-changelog: VPATH build issues
21247         If builddir is not a subdirectory of srcdir, running git from it will
21248         fail.
21249         * build-aux/gitlog-to-changelog (--srcdir): New option.
21251 2012-07-15  Bruno Haible  <bruno@clisp.org>
21253         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
21254         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
21255         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
21256         Remove exemption for fpending.h.
21257         Suggested by Eric Blake.
21259 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21261         pthread_sigmask: fix bug on FreeBSD 9
21262         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
21263         Include string.h.
21264         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
21265         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
21266         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
21267         but pthread_sigmask (1729, NULL, NULL) returns zero.
21268         See <http://bugs.gnu.org/11884>.
21269         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
21270         by inspecting whether the main call changed the old mask.
21272 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
21274         README-release: make it more legible
21275         * top/README-release: Improve typography slightly.
21277 2012-07-15  Jim Meyering  <meyering@redhat.com>
21279         maint: require that each sc_... command start with "@"
21280         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
21281         "make sc_maint" helps us avoid this nit.
21283 2012-07-15  Jim Meyering  <meyering@redhat.com>
21285         maint.mk: add leading "@" to quiet new "make syntax-check" rule
21286         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
21288 2012-07-13  Eric Blake  <eblake@redhat.com>
21290         maint.mk: new syntax check for HAVE_DECL checks
21291         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
21292         * cfg.mk
21293         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21294         Exempt some false positives.
21295         Based on a report by Karel Zak.
21297         argp: make HAVE_DECL usage consistent
21298         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
21299         macros, not whether they are defined.
21300         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
21301         convention with other declaration checks.
21302         Reported by Karel Zak, with suggestions from Paul Eggert.
21304         stat-time: relax license to LGPLv2+
21305         * modules/stat-time (License): Relax, with consent of all authors.
21307         strndup: fix m4 usage error
21308         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
21309         defined, to either 0 or 1.
21310         Reported by Karel Zak.
21312 2012-07-11  Jim Meyering  <meyering@redhat.com>
21314         maint: enable the sc_avoid_if_before_free syntax-check rule
21315         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
21316         (if_before_free_offenders_): Define.
21317         (if_before_free_basename_re_): Define.
21318         Exempt current files with useless if-before-free.
21320 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21322         gettext: do not assume '#define ... defined ...' behavior
21323         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
21324         Do not use '#define FOO ... defined BAR ...', as the C standard says
21325         it's not portable to expect that this works after macro expansion.
21326         Problem reported for gzip by Steven M. Schweda in
21327         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
21329 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21331         getloadavg: clean out old Emacs and Autoconf cruft
21332         See Glenn Morris in <http://bugs.gnu.org/11905>.
21333         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
21334         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
21335         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
21336         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
21338 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
21340         bootstrap: let warn be like tests/init.sh's warn_
21341         Reported by Jim Meyering.
21342         * build-aux/bootstrap (warn): Remove, replaced by...
21343         (warnf_, warn_): these.
21344         Adjust callers.
21345         Shorten messages that no longer fit in 80 columns.
21347 2012-07-09  Bruno Haible  <bruno@clisp.org>
21349         getopt: Simplify after Emacs changed.
21350         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
21351         (gl_GETOPT_IFELSE): Remove macro.
21353 2012-07-09  Jim Meyering  <meyering@redhat.com>
21355         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
21356         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
21358         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
21359         Bugs in both of those conspired to make the
21360         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
21361         _sc_search_regexp's handling of non-empty $in_files would filter
21362         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
21363         choice of in_files value meant there would be no match in most
21364         projects, due to the presence of two or more Makefile.in files.
21365         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
21366         Fix a bug in how a non-empty $$in_files was processed:
21367         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
21368         in spite of the name, it's a regexp, not a list of file names.
21370 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
21372         getloadavg, getopt: fix commentary re configure.in
21373         Autoconf is deprecating the name 'configure.in', so change it to
21374         to the new name 'configure.ac' in a couple of places.
21375         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
21376         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
21377         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
21378         Emacs has renamed it to configure.ac, and it no longer refers
21379         to these macros anyway.
21381         timespec: mark functions with const attributes
21382         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
21383         Mark with _GL_ATTRIBUTE_CONST.
21385 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21387         canonicalize[-lgpl]: handle "guessing" values when cross-building
21388         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
21389         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
21390         matches "*yes" instead of just "yes".  Regression introduced in commit
21391         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
21393 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21394             Bruno Haible  <bruno@clisp.org>
21396         canonicalize: make the right guess when cross-compiling to GNU
21397         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
21398         determine whether cross-compiling to glibc systems, so as to
21399         include GNU/Hurd.
21401 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21403         timespec-sub: avoid duplicate include
21404         * lib/timespec-sub.c: Do not include <config.h> twice.
21405         Reported by Juanma Barranquero.
21407 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
21409         bootstrap: use a more consistent error reporting scheme
21410         * build-aux/bootstrap (warn, die): New.
21411         Use them.
21413 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21415         sys_time: allow too-wide tv_sec
21416         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
21417         timeval even if tv_sec is wider than time_t.  This allows
21418         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
21419         as without this patch gnulib replaces struct timeval
21420         and OpenBSD futimes therefore has a type mismatch.
21421         * doc/posix-headers/sys_time.texi: Mention this.
21423         pthread: check for both pthread_create and pthread_join
21424         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
21425         alter the check so that it tests for both pthread_create and
21426         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
21427         Suggested by Bruno Haible and Richard Yao in
21428         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
21430         parse-datetime: doc tuneup
21431         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
21432         spacing issues.
21434 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
21436         do-release-commit-and-tag: fix the previous commit
21437         * build-aux/do-release-commit-and-tag: Actually the test was right,
21438         but the comment and the error message were misleading.
21439         Fix comment, and improve error message.
21440         Perform check first, so that NEWS is not modified uselessly.
21442         do-release-commit-and-tag: fix typo
21443         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
21444         _not_ start with a stub.
21446 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21448         pthread: check for pthread_create, not pthread_join
21449         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
21450         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
21451         pthread_join in libc.  I hope this removes the need for all the
21452         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
21453         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
21455 2012-07-04  Jim Meyering  <meyering@redhat.com>
21457         parse-datetime: fix failure to diagnose invalid input
21458         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
21459         rather than diagnosing the invalid input.  Now it reports this:
21460         date: invalid date '\260'
21461         * lib/parse-datetime.y (to_uchar): Define.
21462         (yylex): Don't sign-extend "other" bytes.
21463         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
21464         Thanks to Bruno Haible for the patch to this file.
21465         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
21466         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
21468 2012-07-03  Jim Meyering  <meyering@redhat.com>
21470         bootstrap: do not require now-removed build-aux/missing
21471         Now that build-aux/missing is, er, missing, bootstrap would
21472         silently fail.
21473         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21474         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21475         no longer part of gnulib.
21476         Diagnose the failure.
21478 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21480         alloca: add support for HP NonStop TNS/E native
21481         * lib/alloca.in.h (alloca): Support the new host.
21482         From a suggestion by Joachim Schmitz in
21483         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21485 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21487         fsusage: remove code not needed on non GNU/Linux systems.
21489         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21490         Don't include headers no longer needed in this case.
21491         * lib/fsusage.c [STAT_STATVFS &&
21492         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21493         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21495 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21497         fsusage: include files needed for glibc 2.6 fallback
21498         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21499         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21500         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21501         Problem reported by Ludovic Courtès in
21502         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21504         fsusage: avoid needless check on GNU/Linux
21505         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21506         on GNU/Linux systems, since it can't possibly work.
21508 2012-07-01  Bruno Haible  <bruno@clisp.org>
21510         log: Fix an autoconf >= 2.64 warning.
21511         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21512         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21514 2012-06-28  Bruno Haible  <bruno@clisp.org>
21516         log10f: Fix possible configuration problem.
21517         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21518         $LOGF_LIBM.
21519         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21521 2012-06-28  Bruno Haible  <bruno@clisp.org>
21523         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21524         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21525         not gl_cv_func_unlink_works.
21526         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21528 2012-06-27  Eric Blake  <eblake@redhat.com>
21530         config: drop scripts that automake says are not independent
21531         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21532         * build-aux/elisp-comp: Delete.
21533         * build-aux/missing: Likewise.
21534         * build-aux/ylwrap: Likewise.
21535         * modules/elisp-comp: Likewise.
21536         * MODULES.html.sh: Drop mention of elisp-comp.
21537         * NEWS: Mention this.
21539 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21541         root-uid: new module
21542         This is for portability to Tandem's NonStop Kernel.
21543         * lib/root-uid.h, modules/root-uid: New files.
21544         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21545         * lib/write-any-file.c, tests/test-sethostname2.c:
21546         Include "root-uid.h".
21547         * lib/euidaccess.c (euidaccess):
21548         * lib/pt_chown.c (main):
21549         * lib/unlinkdir.c (cannot_unlink_dir):
21550         * lib/write-any-file.c (can_write_any_file):
21551         * m4/mknod.m4 (gl_FUNC_MKNOD):
21552         * tests/test-sethostname2.c (geteuid, main):
21553         Don't assume ROOT_UID == 0.
21554         * modules/euidaccess (Depends-on):
21555         * modules/pt_chown (Depends-on):
21556         * modules/sethostname-tests (Depends-on):
21557         * modules/unlinkdir (Depends-on):
21558         * modules/write-any-file (Depends-on):
21559         Add root-uid.
21561         regex: use locale-independent comparison for codeset name
21562         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21563         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21564         for codeset name.
21565         * lib/regex_internal.h: Do not include <strings.h>, since we
21566         no longer use strcasecmp.
21567         * modules/regex (Depends-on): Remove strcase.
21569 2012-06-23  Bruno Haible  <bruno@clisp.org>
21571         getopt-posix: No longer guarantee that option processing is resettable.
21572         * doc/posix-functions/getopt.texi: Drop description of problem with
21573         internal state. Fix info about mingw and msvc9.
21574         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21575         option processing by getopt(). Run three test programs instead of one.
21576         Simplify cross-compilation guess.
21577         * NEWS: Mention the change.
21578         Reported by Rich Felker <dalias@aerifal.cx>.
21580 2012-06-26  Bruno Haible  <bruno@clisp.org>
21582         argp, regex: Ensure strcasecmp gets declared.
21583         * lib/argp-help.c: Include <strings.h>.
21584         * lib/regex_internal.h: Likewise.
21585         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21587 2012-06-24  Bruno Haible  <bruno@clisp.org>
21589         ptsname_r: Make it consistent with ptsname on AIX.
21590         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21591         implementation as for OSF/1.
21592         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21593         a pty master.
21595         ptsname_r: Make it consistent with ptsname on OSF/1.
21596         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21597         OSF/1.
21599 2012-06-24  Bruno Haible  <bruno@clisp.org>
21601         ttyname_r: Fix result on OSF/1, Solaris.
21602         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21604 2012-06-24  Bruno Haible  <bruno@clisp.org>
21606         ptsname_r: Add support for Solaris.
21607         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21608         Solaris.
21610         ptsname_r: Fix test failure on native Windows.
21611         * modules/ptsname_r (Depends-on): Add isatty.
21613         ptsname_r: Fix test failures on IRIX, Solaris.
21614         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21615         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21616         accordingly.
21617         * lib/ptsname_r.c: Include <fcntl.h>.
21618         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21619         set errno if fd is invalid.
21620         * tests/test-isatty.c (main): Update comments.
21622 2012-06-24  Bruno Haible  <bruno@clisp.org>
21624         ptsname test: Extend test.
21625         * tests/test-ptsname.c: Include <errno.h>.
21626         (main): Test behaviour with invalid file descriptor.
21628 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21630         time: fix obsolete comment
21631         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21632         reference to HAVE_STRUCT_TIMESPEC in comment.
21634 2012-06-23  Bruno Haible  <bruno@clisp.org>
21636         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21637         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21638         does not handle abbreviated long options with equivalent
21639         disambiguations, set gl_replace_getopt to yes.
21640         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21642 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21644         time_r: fix typo that always overrode localtime_r decl
21645         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21646         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21647         not in a standard include.
21649 2012-06-22  Bruno Haible  <bruno@clisp.org>
21651         Write "Mac OS X" instead of "MacOS X".
21652         * README: Write "Mac OS X" instead of "MacOS X".
21653         * build-aux/bootstrap: Likewise.
21654         * build-aux/install-reloc: Likewise.
21655         * lib/acl-internal.h: Likewise.
21656         * lib/acl_entries.c: Likewise.
21657         * lib/argp-ba.c: Likewise.
21658         * lib/argp-pv.c: Likewise.
21659         * lib/config.charset: Likewise.
21660         * lib/copy-acl.c: Likewise.
21661         * lib/csharpexec.c: Likewise.
21662         * lib/euidaccess.c: Likewise.
21663         * lib/fbufmode.c: Likewise.
21664         * lib/fflush.c: Likewise.
21665         * lib/file-has-acl.c: Likewise.
21666         * lib/filemode.h: Likewise.
21667         * lib/fpurge.c: Likewise.
21668         * lib/freadable.c: Likewise.
21669         * lib/freadahead.c: Likewise.
21670         * lib/freading.c: Likewise.
21671         * lib/freadptr.c: Likewise.
21672         * lib/freadseek.c: Likewise.
21673         * lib/fseeko.c: Likewise.
21674         * lib/fseterr.c: Likewise.
21675         * lib/fsusage.c: Likewise.
21676         * lib/fwritable.c: Likewise.
21677         * lib/fwriting.c: Likewise.
21678         * lib/get-rusage-as.c: Likewise.
21679         * lib/get-rusage-data.c: Likewise.
21680         * lib/getdomainname.c: Likewise.
21681         * lib/idpriv-drop.c: Likewise.
21682         * lib/idpriv-droptemp.c: Likewise.
21683         * lib/localcharset.c: Likewise.
21684         * lib/locale.in.h: Likewise.
21685         * lib/localename.c: Likewise.
21686         * lib/mbsrtowcs-state.c: Likewise.
21687         * lib/nproc.c: Likewise.
21688         * lib/passfd.c: Likewise.
21689         * lib/posix_openpt.c: Likewise.
21690         * lib/printf-parse.c: Likewise.
21691         * lib/progreloc.c: Likewise.
21692         * lib/safe-read.h: Likewise.
21693         * lib/safe-write.h: Likewise.
21694         * lib/sched.in.h: Likewise.
21695         * lib/set-mode-acl.c: Likewise.
21696         * lib/signal.in.h: Likewise.
21697         * lib/stdint.in.h: Likewise.
21698         * lib/stdio-impl.h: Likewise.
21699         * lib/stdlib.in.h: Likewise.
21700         * lib/strtod.c: Likewise.
21701         * lib/sys_select.in.h: Likewise.
21702         * lib/tcgetsid.c: Likewise.
21703         * lib/unistd.in.h: Likewise.
21704         * lib/unlockpt.c: Likewise.
21705         * lib/vasnprintf.c: Likewise.
21706         * lib/vma-iter.c: Likewise.
21707         * lib/wcsrtombs-state.c: Likewise.
21708         * m4/acl.m4: Likewise.
21709         * m4/acosl.m4: Likewise.
21710         * m4/asinl.m4: Likewise.
21711         * m4/atanl.m4: Likewise.
21712         * m4/c-stack.m4: Likewise.
21713         * m4/cosl.m4: Likewise.
21714         * m4/expl.m4: Likewise.
21715         * m4/extensions.m4: Likewise.
21716         * m4/fdatasync.m4: Likewise.
21717         * m4/fmal.m4: Likewise.
21718         * m4/frexp.m4: Likewise.
21719         * m4/frexpf.m4: Likewise.
21720         * m4/frexpl.m4: Likewise.
21721         * m4/fsusage.m4: Likewise.
21722         * m4/getdomainname.m4: Likewise.
21723         * m4/getloadavg.m4: Likewise.
21724         * m4/getopt.m4: Likewise.
21725         * m4/gettext.m4: Likewise.
21726         * m4/gnulib-common.m4: Likewise.
21727         * m4/intdiv0.m4: Likewise.
21728         * m4/intlmacosx.m4: Likewise.
21729         * m4/largefile.m4: Likewise.
21730         * m4/ldexpl.m4: Likewise.
21731         * m4/link-follow.m4: Likewise.
21732         * m4/locale-ar.m4: Likewise.
21733         * m4/locale-fr.m4: Likewise.
21734         * m4/locale-ja.m4: Likewise.
21735         * m4/locale-tr.m4: Likewise.
21736         * m4/locale-zh.m4: Likewise.
21737         * m4/locale_h.m4: Likewise.
21738         * m4/lock.m4: Likewise.
21739         * m4/logl.m4: Likewise.
21740         * m4/mathfunc.m4: Likewise.
21741         * m4/minus-zero.m4: Likewise.
21742         * m4/mktime.m4: Likewise.
21743         * m4/mmap-anon.m4: Likewise.
21744         * m4/multiarch.m4: Likewise.
21745         * m4/nanosleep.m4: Likewise.
21746         * m4/nocrash.m4: Likewise.
21747         * m4/poll.m4: Likewise.
21748         * m4/printf-frexpl.m4: Likewise.
21749         * m4/printf.m4: Likewise.
21750         * m4/signbit.m4: Likewise.
21751         * m4/sinl.m4: Likewise.
21752         * m4/sqrtl.m4: Likewise.
21753         * m4/strerror_r.m4: Likewise.
21754         * m4/tanl.m4: Likewise.
21755         * m4/threadlib.m4: Likewise.
21756         * m4/ttyname_r.m4: Likewise.
21757         * m4/unlink.m4: Likewise.
21758         * m4/visibility.m4: Likewise.
21759         * m4/wcwidth.m4: Likewise.
21760         * tests/minus-zero.h: Likewise.
21761         * tests/test-alloca-opt.c: Likewise.
21762         * tests/test-copy-acl.sh: Likewise.
21763         * tests/test-copy-file.sh: Likewise.
21764         * tests/test-fdatasync.c: Likewise.
21765         * tests/test-file-has-acl.sh: Likewise.
21766         * tests/test-flock.c: Likewise.
21767         * tests/test-fsync.c: Likewise.
21768         * tests/test-localename.c: Likewise.
21769         * tests/test-malloca.c: Likewise.
21770         * tests/test-nonblocking-pipe.h: Likewise.
21771         * tests/test-nonblocking-socket.h: Likewise.
21772         * tests/test-openpty.c: Likewise.
21773         * tests/test-posix_openpt.c: Likewise.
21774         * tests/test-ptsname.c: Likewise.
21775         * tests/test-ptsname_r.c: Likewise.
21776         * tests/test-sameacls.c: Likewise.
21777         * tests/test-select.h: Likewise.
21778         * tests/test-set-mode-acl.sh: Likewise.
21779         * tests/test-snprintf-posix.h: Likewise.
21780         * tests/test-sprintf-posix.h: Likewise.
21781         * tests/test-strtod.c: Likewise.
21782         * tests/test-time.c: Likewise.
21783         * tests/test-vasnprintf-posix.c: Likewise.
21784         * tests/test-vasprintf-posix.c: Likewise.
21785         * doc/acl-resources.txt: Likewise.
21786         * doc/**/*.texi: Likewise.
21787         Reported by Max Horn <max@quendi.de>.
21789 2012-06-22  Bruno Haible  <bruno@clisp.org>
21791         grantpt: Relax requirement regarding invalid file descriptors.
21792         * lib/grantpt.c: Don't include <fcntl.h>.
21793         (grantpt): Don't verify the validity of the file descriptor.
21794         * modules/grantpt (Depends-on): Remove fcntl-h.
21795         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21796         file descriptors.
21797         * doc/posix-functions/grantpt.texi: Document more platforms on which
21798         grantpt succeeds for invalid file descriptors.
21799         Reported by Rich Felker <dalias@aerifal.cx>.
21801 2012-06-22  Bruno Haible  <bruno@clisp.org>
21803         fbufmode test: Don't test unportable behaviour.
21804         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21805         (main): Invoke it three times.
21806         Reported by Szabolcs Nagy <nsz@port70.net>
21807         and Rich Felker <dalias@aerifal.cx>.
21809 2012-06-21  Bruno Haible  <bruno@clisp.org>
21811         gnulib-tool: Refactor inctests variable.
21812         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21813         (func_modules_transitive_closure,
21814         func_modules_transitive_closure_separately,
21815         func_import, func_create_testdir): Update.
21817         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21818         * gnulib-tool: Accept option --without-tests.
21819         (func_usage): Document --without-tests option. Rearrange.
21820         (inctests): Normalize according to the mode.
21821         * NEWS: Mention the change.
21822         Suggested by Simon Josefsson.
21824 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21826         parse-duration test: Avoid spurious output.
21827         * tests/test-parse-duration.sh: Reindent with leading tabs.
21829 2012-06-21  Jim Meyering  <meyering@redhat.com>
21831         maint: disable the strncpy prohibition
21832         * cfg.mk: Do not prohibit strncpy here.
21834 2012-06-21  Bruno Haible  <bruno@clisp.org>
21836         nonblocking: Avoid compilation error on mingw64.
21837         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21838         fscanf.
21839         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21840         * modules/vfscanf (configure.ac): Likewise.
21841         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21842         definition only if stdio.h has prepared it.
21843         Reported by Daniel P. Berrange <berrange@redhat.com>.
21845 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21847         gnulib-tool: Use readlink if it is available.
21848         * gnulib-tool (func_readlink): Choose function more appropriately.
21850 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21852         posixtm-tests: port to buggy compiler
21853         Problem reported by Simon Josefsson in
21854         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21855         * modules/posixtm-tests (Depends-on): Add stdint.
21856         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21857         Now of type int_least64_t, not int64_t, both because that's
21858         what INT64_C returns and because int_least64_t works even
21859         on 72-bit hosts.
21860         (T): Use INT64_C on constants outside the traditional int range,
21861         to work around compiler bug noted by Simon.
21863         mktime: fix integer overflow in 'configure'-time test
21864         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21865         after integer overflow.  Problem reported by Rich Felker in
21866         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21867         Also, don't look for further instances of a bug if we've already
21868         found one instance; this helps 'configure' run faster.
21870 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21872         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21873         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21874         GetVersionEx correctly.
21875         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21877 2012-06-20  Bruno Haible  <bruno@clisp.org>
21879         fdopen: Allow implementations that don't reject invalid fd arguments.
21880         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21881         succeeds.
21882         Reported by Rich Felker <dalias@aerifal.cx>.
21884 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21886         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21887         bring in LIBINTL.
21889 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21891         init.sh: do not rely on autoupated PWD
21892         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21893         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21894         Although Nelson's bug was not necessarily fixed by this patch,
21895         it seems wise to make the change for safety.
21896         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21897         automagically after 'cd'; this is not reliable on older shells.
21898         (setup_): Fail if we cannot cd to temporary directory.
21900 2012-06-19  Bruno Haible  <bruno@clisp.org>
21902         stat, fstat: Avoid warnings on mingw64.
21903         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21904         redefining.
21905         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21906         Reported by Daniel P. Berrange <berrange@redhat.com>.
21908 2012-06-19  Bruno Haible  <bruno@clisp.org>
21910         stdioext: Add support for musl libc.
21912         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21913         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21915         * m4/fseterr.m4: New file.
21916         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21917         function exists.
21918         * modules/fseterr (Files): Add m4/fseterr.m4.
21919         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21920         __fseterr does not exist.
21921         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21923         * lib/freadable.h: Update comment.
21925         * lib/fwritable.h: Update comment.
21927         * lib/freading.h: Update comment.
21929         * lib/fwriting.h: Update comment.
21931         * m4/freadahead.m4: New file.
21932         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21933         that function exists.
21934         * modules/freadahead (Files): Add m4/freadahead.m4.
21935         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21936         __freadahead does not exist.
21937         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21939         * m4/freadptr.m4: New file.
21940         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21941         function exists.
21942         * modules/freadptr (Files): Add m4/freadptr.m4.
21943         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21944         __freadptr does not exist.
21945         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21947         * m4/freadseek.m4: New file.
21948         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21949         exists.
21950         * modules/freadseek (Files): Add m4/freadseek.m4.
21951         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21953         * lib/fpurge.c (fpurge): Update comment.
21955         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21957 2012-06-19  Bruno Haible  <bruno@clisp.org>
21959         *printf-posix: Put more info into config.log.
21960         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21961         exit code into config.log.
21963 2012-06-19  Bruno Haible  <bruno@clisp.org>
21965         getopt-gnu: Fix exit code overflow in autoconf test.
21966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21967         to keep them below < 128.
21969 2012-06-17  Jim Meyering  <meyering@redhat.com>
21971         maint.mk: fix typo in code to derive GPG key at release time
21972         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21974 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21976         regex: avoid warning when pointers are not long
21977         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21978         and uintptr_t, not long, for portability to hosts where pointers and
21979         long have different sizes.  Issue noted by Daniel P. Berrange in
21980         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21981         and fix suggested by Bruno Haible in
21982         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21984 2012-06-17  Bruno Haible  <bruno@clisp.org>
21986         dummy: Relicense into the public domain.
21987         * modules/dummy (License): Set to "public domain".
21988         Suggested by Reuben Thomas.
21990 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21992         announce-gen: VPATH issues
21993         * build-aux/announce-gen (--srcdir): New option, used to trim the
21994         $srcdir part of the path from $builddir to NEWS.
21995         * top/maint.mk (announcement): Adjust.
21997 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21999         gnu-web-doc-update: VPATH builds
22000         * build-aux/gnu-web-doc-update (--builddir): New option.
22001         Revamp the handling of options.
22002         Prefer $(...) to `...`.
22003         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
22004         the template, and it is GNU mktemp specific.
22005         Prefer set -e to long series of &&.
22006         Restore the initial git branch, not "master".
22007         Properly initialize submodules (don't rely only on bootstrap).
22008         Do not reconfigure blindly, use config.status.
22009         * top/README-release: Update instructions for gnu-web-doc-update.
22011 2012-06-11  Jim Meyering  <meyering@redhat.com>
22013         maint.mk: revert most of the previous change re "all these"
22014         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
22015         For rationale, see the discussion at
22016         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
22018 2012-06-10  Karl Berry  <karl@gnu.org>
22020         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
22022         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
22024 2012-06-10  Bruce Korb  <bkorb@gnu.org>
22026         parse-duration: Relicense under LGPLv2+.
22027         * modules/parse-duration (License): Change to LGPLv2+.
22029 2012-06-10  Jim Meyering  <meyering@redhat.com>
22031         maint.mk: prohibit common grammar error: "all these"
22032         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
22033         the list of prohibited word sequences.  It should be "all of these".
22034         * lib/tempname.c (__gen_tempname): Fix one of them.
22036 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22038         do-release-commit-and-tag: support VPATH builds
22039         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
22040         (noteworthy): Defined earlier to factor its value.
22041         (noteworthy_stub): New.
22042         Use it to factor.
22043         (help_version): Split into...
22044         (help, version): these.
22045         Adjust the option processing part.
22046         Support "--option=value" in addition to "--option value".
22047         (builddir): New.
22048         (--builddir): New option.
22049         * top/README-release: Document this.
22050         Reword slightly so that the reader cannot understand that he
22051         has to do these steps before calling do-release-commit-and-tag.
22053 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22055         readme-release: also require announce-gen and maintainer-makefile
22056         * modules/readme-release (Depends-on): here.
22057         * modules/announce-gen, modules/do-release-commit-and-tag,
22058         modules/gnu-web-doc-update, modules/maintainer-makefile
22059         (Description): Point to readme-release.
22061 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22063         maint.mk: fix VPATH issues.
22064         * top/maint.mk (news-check): GNU Make understand $< very well.
22065         (release-prep): NEWS is in $(srcdir).
22067 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
22069         readme-release: require the promoted modules.
22070         * modules/readme-release (Depends-on): Add
22071         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
22072         in this text.
22074 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22075             Bruno Haible  <bruno@clisp.org>
22077         error, strerror-override: Support mingw64 from Fedora 17.
22078         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
22079         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
22080         EINPROGRESS.
22081         * lib/strerror-override.h (strerror_override): Test it.
22082         * lib/strerror-override.c (strerror_override): Likewise.
22083         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
22085 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22086             Bruno Haible  <bruno@clisp.org>
22088         error, strerror-override: Support mingw64 from Fedora 17.
22089         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
22090         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
22091         * lib/strerror-override.h (strerror_override): Test it.
22092         * lib/strerror-override.c (strerror_override): Likewise.
22094 2012-06-03  Bruno Haible  <bruno@clisp.org>
22096         error, strerror-override: Support new errno values from POSIX:2008.
22097         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
22098         ENOTRECOVERABLE.
22099         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
22100         platforms.
22101         * lib/strerror-override.c (strerror_override): Conditionalize the
22102         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
22103         * lib/strerror-override.h (strerror_override): Declare also if
22104         GNULIB_defined_EOWNERDEAD is defined.
22105         * tests/test-errno.c (e130, e131): New variables.
22106         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
22107         ENOTRECOVERABLE.
22108         Reported by Paolo Bonzini.
22110 2012-05-31  Jim Meyering  <meyering@redhat.com>
22112         savewd: add missing dependency on sys_wait module
22113         * modules/savewd (Depends-on): Add sys_wait, needed at least
22114         for MSVC.  Report and suggested change by Michael Goffioul.
22116 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22118         system-quote-tests: port to CentOS 5
22119         Problem reported by Tom G. Christensen in
22120         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
22121         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
22123 2012-05-29  Jim Meyering  <meyering@redhat.com>
22125         maint: fix typos in comments and ChangeLog
22126         Culprits identified and fixed mostly automatically using these commands:
22127         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
22128         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
22129         using http://github.com/lyda/misspell-check
22130         * ChangeLog: Fix typos.
22131         * doc/solaris-versions: Likewise.
22132         * lib/regexec.c (re_search_stub): Likewise.
22133         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22135 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22137         manywarnings: remove duplicate -Wmultichar entry
22138         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
22139         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
22140         so keep the entry marked as documented.
22142 2012-05-27  Karl Berry  <karl@gnu.org>
22144         * config/srclist.txt (mktime.c): remove last libc sync,
22145         perhaps just temporarily.
22147 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22149         regex: don't assume uint64_t or uint32_t
22150         * lib/regcomp.c (init_word_char): Don't assume that the types
22151         uint64_t and uint32_t exist.  The C standard doesn't guarantee
22152         them, and on some 32-bit compilers there is no uint64_t.
22153         Problem reported by Gianluigi Tiesi in
22154         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
22156 2012-05-25  Jim Meyering  <meyering@redhat.com>
22158         maint.mk: add strncpy-prohibiting syntax-check rule
22159         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
22161 2012-05-24  Jim Meyering  <meyering@redhat.com>
22163         maint.mk: compute $(gpg_key_ID) more portably
22164         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
22165         That use of sed is not portable to some fringe systems.
22166         Reported by Paul Eggert in
22167         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
22169 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22171         mktime: sync from glibc
22172         * config/srclist.txt: Uncomment mktime.c.
22173         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
22174         First, indent with tabs, since glibc uses tabs and doesn't want to
22175         change and we'd rather be identical to glibc.  Also, two small
22176         coding changes:
22177         (isdst_differ): Use &&, not &, as && is the usual style.
22178         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
22179         for clarity.
22181 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22183         announce-gen: du -h is more portable than du --human
22184         * build-aux/announce-gen (sizes): Invoke du with -h instead
22185         of --human.  Accept leading white space in its output.
22187 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22189         announce-gen: Improve diagnostics.
22190         * build-aux/announce-gen: When parsing command line options,
22191         prefer "announce-gen: option --release-type requires an argument"
22192         to "Option release-type requires an argument".
22194 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22196         maint.mk: gpg_key_ID: use sed more portably
22197         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
22198         the closing brace.
22199         (refresh-po): Fuse two sed invocations into one.
22201 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
22203         gitlog-to-changelog: support the log message format used in Bison.
22204         * build-aux/gitlog-to-changelog: Support --strip-tab and
22205         --strip-cherry-picked.
22207 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22209         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
22210         the rest of the current time slice to another thread in the current
22211         process. So if the thread that feeds the file decscriptor we're
22212         polling is not in the current process, we get busy-waiting.
22213         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
22214         Patch from Theodore Leblond.
22215         * lib/select.c: Split polling out of the loop that sets the output
22216         fd_sets.  Check for zero result and loop if the wait timeout is
22217         infinite.
22219 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22221         select: Fix build error on IRIX 6.5.
22222         * lib/select.c: Include stddef.h for NULL.
22224 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22226         gc: fix libgcrypt detection on older machines.
22227         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
22228         copyright years because the file has been distributed every year
22229         since it was created.
22231 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22233         crypto: fix bug in large buffer handling
22234         Problem reported by Serge Belyshev for glibc in
22235         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
22236         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
22237         * lib/md4.c (md4_process_block):
22238         * lib/md5.c (md5_process_block):
22239         * lib/sha1.c (sha1_process_block):
22240         * lib/sha256.c (sha256_process_block):
22241         Don't assume the buffer length is less than 2**32.
22242         * lib/sha512.c (sha512_process_block): Likewise.
22243         Here, the bug is present only in the rare case where the host does
22244         not support uint64_t or where size_t is wider than 64 bits.
22245         Use u64size to work around the problems.
22246         * lib/u64.h (u64size): New macro.
22248 2012-05-15  Pádraig Brady  <P@draigBrady.com>
22250         fsusage: fix block size returned on older Linux 2.6
22252         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
22253         which is available since Linux 2.6.
22254         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
22255         when the member is available so it can be used as a fallback.
22256         * doc/posix-functions/statvfs.texi: Mention the hang issue
22257         on Linux < 2.6.36.
22259 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22261         bootstrap: suppress stderr chatter
22262         * build-aux/bootstrap (insert_sorted_if_absent, main program):
22263         Omit unnecessary chatter to stderr.  The main program chatter
22264         was there only inadvertantly.
22266         bootstrap: .gitignore files created by autopoint, libtool
22267         I ran into this problem when bootstrapping the latest diffutils.
22268         After './bootstrap', 'git status' reported lots of untracked files
22269         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
22270         autopoint and do not need to be version-controlled.
22271         * build-aux/bootstrap: Put into .gitignore the files that
22272         autopoint and libtool create, by keeping track of files that exist
22273         after but not before these programs are run.
22274         (version_controlled_file): Move up.  2nd arg is now full file
22275         name, not base name; this is more convenient.  Put CVS at the end,
22276         as it's now somewhat deprecated.
22278 2012-05-14  Jim Meyering  <meyering@redhat.com>
22280         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
22281         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
22282         definition.  Reported by Bruno Haible.
22284 2012-05-13  Bruno Haible  <bruno@clisp.org>
22285             Paul Eggert  <eggert@cs.ucla.edu>
22287         binary-io: Define set_binary_mode function.
22288         * lib/binary-io.h (set_binary_mode): New function.
22289         (SET_BINARY): Define in terms of set_binary_mode.
22290         * modules/binary-io (configure.ac): Require AC_C_INLINE.
22291         * tests/test-binary-io.c (main): Accept an argument, and test either
22292         set_binary_mode or SET_BINARY depending on the argument.
22293         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
22294         argument. Clean up also t-bin-out0.tmp.
22296 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
22298         bootstrap: take advantage of POSIX shell features
22300         The 'bootstrap' script offered by Gnulib script already uses POSIX
22301         shell features (like $((...)) arithmetic expansions) that are not
22302         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
22303         means that bootstrap must already be run using a proper POSIX shell,
22304         which will thus provide more features, like ${var#pattern} parameter
22305         expansion or inversion of a command exit status with '!'.  We can
22306         thus use these features to improve the clarity and the performances
22307         of the bootstrap script.
22309         Suggested by Eric Blake.
22311         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
22312         of sed/expr plus command substitutions, to save some forks.  While
22313         we are at it, prefer the POSIX $(...) form of command substitution,
22314         rather than the legacy form `...` (since the former is visually
22315         clearer and interacts better with quoting), and prefer the idiom:
22316           "if ! CMD; then ACTION ..."
22317         over the idiom:
22318           "if CMD; then :; else ACTION ..."
22319         which was required by legacy Bourne shells not supporting '!'.
22321 2012-05-12  Bruno Haible  <bruno@clisp.org>
22323         system-quote: Add more comments.
22324         * lib/system-quote.h: Add more comments about wilcards and limitations.
22325         Suggested by Eli Zaretskii <eliz@gnu.org>.
22327         sh-quote, system-quote: Add comments about wildcards.
22328         * lib/sh-quote.h: Clarify what happens with wildcard characters.
22329         * lib/system-quote.h: Likewise.
22330         Reported by Eli Zaretskii <eliz@gnu.org>.
22332 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22334         fsusage: check for GNU/Linux statvfs problem dynamically
22335         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
22336         Define STAT_STATFS2_BSIZE too, since in this case the code now
22337         checks dynamically whether statvfs is reliable, falling back on
22338         Linux-style statfs otherwise.
22339         (statvfs_works): New function, for dynamically testing statvfs.
22340         (get_fs_usage) [STAT_STATVFS]: Use it.
22341         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
22342         statvfs on GNU/Linux hosts, since it's now done dynamically.
22344 2012-05-10  Bruno Haible  <bruno@clisp.org>
22346         system-quote, execute, spawn-pipe: Escape '?' on Windows.
22347         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
22348         '?' character.
22349         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
22350         * tests/test-system-quote-main.c (check_all): Check also strings like
22351         "??????????".
22352         Reported by Eli Zaretskii <eliz@gnu.org>.
22354 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22356         _Noreturn: port config.h to gcc -Wundef
22357         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
22358         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
22359         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
22361 2012-05-10  Bruno Haible  <bruno@clisp.org>
22363         system-quote: Refactor.
22364         * lib/system-quote.h (system_quote_copy): Fix comment.
22365         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
22366         New functions, extracted from system_quote_copy.
22367         (system_quote_length, system_quote_copy): Use these functions.
22368         Reported by Paul Eggert.
22370 2012-05-08  Bruno Haible  <bruno@clisp.org>
22372         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
22373         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
22375 2012-05-08  Bruno Haible  <bruno@clisp.org>
22377         Tests for module 'system-quote'.
22378         * modules/system-quote-tests: New file.
22379         * tests/test-system-quote.sh: New file.
22380         * tests/test-system-quote-main.c: New file.
22381         * tests/test-system-quote-child.c: New file.
22383         New module 'system-quote'.
22384         * lib/system-quote.h: New file.
22385         * lib/system-quote.c: New file.
22386         * modules/system-quote: New file.
22388 2012-05-08  Bruno Haible  <bruno@clisp.org>
22390         sh-quote: Make C++ safe and allow multiple inclusion.
22391         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
22392         declarations in extern "C".
22394 2012-05-08  Bruno Haible  <bruno@clisp.org>
22396         sh-quote tests: Make tests stricter.
22397         * tests/test-sh-quote.c (check_one): Check the return value of
22398         shell_quote_copy.
22399         (main): Check a string with a CR character. Check a string that
22400         contains UCHAR_MAX.
22402 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
22404         warnings.m4: provide a means to specify the program to compile.
22405         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
22406         (gl_WARN_ADD): here.
22407         Use gl_AS_VAR_APPEND.
22408         Support an argument to specify the program to compile.
22409         (gl_WARN_ADD): Accept an argument to specify the program to compile.
22410         AC_SUBST the WARN_CFLAGS when they are used.
22411         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
22412         leave this to gl_WARN_ADD.
22414 2012-05-08  Eric Blake  <eblake@redhat.com>
22416         doc: recommendations on gettext version
22417         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
22418         choice between versions.
22419         * DEPENDENCIES (gettext): Cover both approaches.
22421 2012-05-08  Jim Meyering  <meyering@redhat.com>
22423         init.sh: explain why EXEEXT support uses aliases rather than functions
22424         * tests/init.sh: Add a comment.
22426         init.sh: don't let bash aliases interfere with tests
22427         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
22428         is bash.  This avoids problems for those who alias standard commands to
22429         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
22430         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
22432 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
22434         stdint: be more consistent with glibc, SunOS libc
22435         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
22436         (gl_int_fast16_t, gl_uint_fast16_t)
22437         (gl_int_fast32_t, gl_uint_fast32_t)
22438         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
22439         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
22440         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
22441         Be consistent with glibc by default, and with SunOS 5.10 and later
22442         if __sun is defined.  This lessens the likelihood of clashes if
22443         code compiled for older hosts is combined with code compiled for
22444         newer ones.  Problem reported by Niels Möller in
22445         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
22447 2012-05-07  Eric Blake  <eblake@redhat.com>
22449         isatty: relax license to LGPLv2+
22450         * modules/isatty (License): Relax license.
22452 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22454         stat-size: comment fix
22455         * lib/stat-size.h: Remove obsolete comment about indenting.
22457 2012-05-06  Bruno Haible  <bruno@clisp.org>
22459         Tests for module 'sh-quote'.
22460         * modules/sh-quote-tests: New file.
22461         * tests/test-sh-quote.c: New file.
22463 2012-05-06  Bruno Haible  <bruno@clisp.org>
22465         sh-quote: Improve shell_quote_argv's signature.
22466         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
22467         * lib/sh-quote.c (shell_quote_argv): Likewise.
22469 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22471         stdint: document issues with int_fast8_t etc.
22472         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22473         stdint.h substitutes may define these types differently.  See
22474         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22476 2012-05-05  Bruno Haible  <bruno@clisp.org>
22478         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22479         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22480         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22481         or 'guessing no (mishandles large arguments)'.
22483 2012-05-05  Bruno Haible  <bruno@clisp.org>
22485         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22486         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22487         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22488         set gl_cv_func_link_follows_symlink to "guessing no".
22490 2012-05-05  Bruno Haible  <bruno@clisp.org>
22492         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22493         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22494         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22495         "guessing no".
22496         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22498 2012-05-05  Bruno Haible  <bruno@clisp.org>
22500         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22501         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22502         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22503         set gl_cv_struct_dirent_d_ino to "guessing yes".
22505 2012-05-05  Bruno Haible  <bruno@clisp.org>
22507         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22508         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22509         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22510         "guessing yes".
22512 2012-05-05  Bruno Haible  <bruno@clisp.org>
22514         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22515         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22516         compiling to a glibc system, set gl_cv_func_signbit and
22517         gl_cv_func_signbit_gcc to "guessing yes".
22519 2012-05-05  Bruno Haible  <bruno@clisp.org>
22521         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22522         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22523         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22524         to "guessing yes".
22525         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22526         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22528 2012-05-05  Bruno Haible  <bruno@clisp.org>
22530         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22531         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22532         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22533         gl_cv_func_realpath_works to "guessing yes".
22535 2012-05-05  Bruno Haible  <bruno@clisp.org>
22537         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22538         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22539         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22541 2012-05-04  Bruno Haible  <bruno@clisp.org>
22543         Tweak last commit.
22544         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22545         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22547 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22549         unistd_h: make it easier to avoid sys_types_h
22550         This is useful for Emacs, which has its own method of porting to
22551         Windows, and which therefore does not need the sys_types_h module.
22552         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22553         code moved here from gl_SYS_TYPES_H.
22554         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22555         using the code directly.
22556         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22557         gl_SYS_TYPES_H.
22558         * modules/sys_types (Files):
22559         * modules/unistd (Files): Add m4/off_t.m4.
22561 2012-05-03  Bruno Haible  <bruno@clisp.org>
22563         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22564         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22565         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22566         "guessing yes" or "guessing no".
22567         (gl_FUNC_LSTAT): Update.
22568         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22569         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22570         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22572 2012-05-03  Bruno Haible  <bruno@clisp.org>
22574         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22575         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22576         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22577         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22578         cross-compiling, choose the first alternative on glibc systems.
22579         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22581 2012-05-03  Bruno Haible  <bruno@clisp.org>
22583         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22584         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22585         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22587 2012-05-03  Bruno Haible  <bruno@clisp.org>
22589         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22590         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22592 2012-05-03  Bruno Haible  <bruno@clisp.org>
22594         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22595         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22596         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22597         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22598         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22599         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22600         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22601         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22602         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22603         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22604         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22605         gl_cv_func_chown_ctime_works to "guessing yes".
22606         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22607         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22608         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22609         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22610         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22611         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22612         compiling to glibc systems, set gl_cv_func_open_directory_works to
22613         "guessing yes".
22614         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22615         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22616         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22617         "guessing yes".
22618         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22619         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22620         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22621         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22622         "guessing yes".
22623         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22624         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22625         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22626         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22627         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22628         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22629         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22630         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22631         "guessing yes".
22632         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22633         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22634         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22635         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22636         "guessing yes".
22637         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22638         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22639         "guessing yes".
22640         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22641         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22642         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22643         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22644         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22645         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22646         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22647         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22648         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22649         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22650         "guessing yes".
22651         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22652         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22653         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22654         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22655         "guessing yes".
22656         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22657         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22658         "guessing yes".
22659         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22660         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22661         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22662         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22663         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22664         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22665         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22666         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22667         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22668         "guessing yes".
22669         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22670         compiling to glibc systems, set gl_cv_func_mknod_works to
22671         "guessing yes".
22672         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22673         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22674         "guessing yes".
22675         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22676         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22677         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22678         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22679         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22680         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22681         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22682         compiling to glibc systems, set gl_cv_func_svid_putenv to
22683         "guessing yes".
22684         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22685         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22686         "guessing yes".
22687         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22688         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22689         "guessing yes".
22690         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22691         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22692         to "guessing yes".
22693         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22694         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22695         to "guessing yes".
22696         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22697         compiling to glibc systems, set gl_cv_func_rmdir_works to
22698         "guessing yes".
22699         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22700         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22701         gl_cv_func_unlink_parent_fails to "guessing yes".
22702         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22703         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22704         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22705         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22706         gl_cv_func_rename_dest_works to "guessing yes".
22707         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22708         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22709         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22710         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22711         "guessing yes".
22712         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22713         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22714         "guessing yes".
22715         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22716         compiling to glibc systems, set gl_cv_func_setenv_works to
22717         "guessing yes".
22718         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22719         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22720         "guessing yes".
22721         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22722         compiling to glibc systems, set gl_cv_func_sleep_works to
22723         "guessing yes".
22724         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22725         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22726         "guessing yes".
22727         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22728         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22729         "guessing yes".
22730         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22731         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22732         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22733         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22734         "guessing yes".
22735         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22736         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22737         "guessing yes".
22738         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22739         compiling to glibc systems, set gl_cv_func_usleep_works to
22740         "guessing yes".
22741         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22742         compiling to glibc systems, set gl_cv_func_futimesat_works to
22743         "guessing yes".
22745 2012-05-03  Bruno Haible  <bruno@clisp.org>
22747         Say "guessing yes" or "guessing no" when cross-compiling.
22748         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22749         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22750         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22751         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22752         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22753         am_cv_func_working_getline to "guessing yes" or "guessing no".
22754         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22755         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22756         (gl_FUNC_MEMMEM): When cross-compiling, set
22757         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22758         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22759         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22760         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22761         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22762         "guessing no".
22763         (gl_FUNC_STRCASESTR): When cross-compiling, set
22764         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22765         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22766         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22767         (gl_FUNC_STRSTR): When cross-compiling, set
22768         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22769         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22770         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22771         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22772         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22774 2012-05-01  Bruno Haible  <bruno@clisp.org>
22776         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22777         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22778         * build-aux/reloc-ldflags: Likewise.
22779         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22781 2012-05-01  Bruno Haible  <bruno@clisp.org>
22783         gnulib-tool: Remove transitional code.
22784         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22785         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22787 2012-05-01  Bruno Haible  <bruno@clisp.org>
22789         getcwd: Fix misindentation.
22790         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22792 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22794         exclude: process exclude and include directives in order
22795         This restores the pre-2009 behavior, and is part of a fix of a
22796         grep bug reported by Quentin Arce in
22797         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22798         * lib/exclude.c (struct exclude): Remove 'tail' member.
22799         (new_exclude_segment): Prepend the new segment instead of appending.
22800         Return void, since that's now more convenient.
22801         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22802         (file_name_matches): Renamed from excluded_file_name_p.
22803         (file_pattern_matches, file_name_matches):
22804         Return true if the pattern matches, not if it excludes.
22805         All callers changed.
22806         (excluded_file_name): Process the list in reverse order;
22807         since the list is now reversed this restores the pre-2009 behavior.
22808         (add_exclude): Adjust to new reversed-order list.  Use local var
22809         rather than macro, for clarity.
22810         * tests/test-exclude7.sh: Adjust to corrected behavior.
22812         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22813         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22814         it's not possible here.  Handle the case of \ at end of pattern
22815         without dumping core.
22816         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22818         _Noreturn: future-proof non-GNU and non-MSVC compilers
22819         * build-aux/snippet/_Noreturn.h (_Noreturn):
22820         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22821         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22822         C11 or later.  This is more likely to work with random future C
22823         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22824         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22826         exclude: handle wildcards with FNM_EXTMATCH
22827         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22828         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22829         comment that "has wildcards" really means "has or may have
22830         wildcards".  Simplify by avoiding the need to call strcspn.
22832 2012-04-29  Bruno Haible  <bruno@clisp.org>
22834         gnulib-tool: Fix list of authors.
22835         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22837 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22839         bootstrap: support Automake-NG in $buildreq
22840         * bootstrap (check_versions): Handle automake and aclocal from
22841         Automake-NG specially.  They can be specified as respectively
22842         the "automake-ng" and "aclocal-ng" requirements.
22844 2012-04-25  Eric Blake  <eblake@redhat.com>
22846         bootstrap: only force latest Makefile.in.in for gettext module
22847         * build-aux/bootstrap (with_gettext): Only install latest
22848         Makefile.in.in for projects requesting bleeding edge gettext.
22850 2012-04-22  Bruno Haible  <bruno@clisp.org>
22852         doc: Mention reason for replacement on glibc/Linux systems.
22853         * doc/posix-functions/dprintf.texi: Mention the problem with special
22854         'long double' values.
22855         * doc/posix-functions/fprintf.texi: Likewise.
22856         * doc/posix-functions/printf.texi: Likewise.
22857         * doc/posix-functions/snprintf.texi: Likewise.
22858         * doc/posix-functions/sprintf.texi: Likewise.
22859         * doc/posix-functions/vdprintf.texi: Likewise.
22860         * doc/posix-functions/vfprintf.texi: Likewise.
22861         * doc/posix-functions/vprintf.texi: Likewise.
22862         * doc/posix-functions/vsnprintf.texi: Likewise.
22863         * doc/posix-functions/vsprintf.texi: Likewise.
22864         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22865         platforms with F_DUPFD_CLOEXEC problems.
22866         * doc/posix-functions/glob.texi: Mention which platforms are affected
22867         by the problem with symbolic links.
22868         * doc/posix-functions/linkat.texi: Mention the problem with
22869         AT_SYMLINK_FOLLOW on Linux.
22871 2012-04-22  Bruno Haible  <bruno@clisp.org>
22873         pwrite: Don't replace on all platforms.
22874         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22876 2012-04-22  Bruno Haible  <bruno@clisp.org>
22878         rint* tests: Avoid gcc warnings.
22879         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22880         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22881         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22883 2012-04-21  Bruno Haible  <bruno@clisp.org>
22885         users.txt: Update.
22886         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22887         switched from CVS to git, bzr, or svn.
22889 2012-04-21  Bruno Haible  <bruno@clisp.org>
22891         Large File Support for native Windows platforms.
22893         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22894         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22896         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22897         type.
22898         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22899         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22900         * doc/posix-headers/sys_types.texi: Mention the effect of the
22901         'largefile' module.
22903         * lib/fcntl.in.h: Add comments about off_t.
22904         * modules/fcntl-h (Depends-on): Add sys_types.
22906         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22907         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22908         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22909         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22910         * modules/unistd (Depends-on): Add sys_types.
22911         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22913         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22914         instead of lseek.
22915         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22916         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22917         * modules/lseek (Depends-on): Add sys_types.
22919         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22920         msvc-nothrow.h.
22921         (SetFileSize): New function.
22922         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22923         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22924         if Large File Support is requested.
22925         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22926         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22928         * lib/stdio.in.h: Add comments about off_t.
22929         * modules/stdio (Depends-on): Add sys_types.
22931         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22932         instead of ftello.
22933         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22934         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22935         (gl_PREREQ_FTELLO): New macro.
22936         * modules/ftello (Depends-on): Add sys_types.
22937         (configure.ac): Incoke gl_PREREQ_FTELLO.
22939         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22940         instead of fseeko.
22941         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22942         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22943         (gl_PREREQ_FSEEKO): New macro.
22944         * modules/fseeko (Depends-on): Add sys_types.
22945         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22947         * lib/sys_stat.in.h: Add comments about off_t.
22948         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22949         64-bit integer for st_size in 'struct stat'.
22950         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22951         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22952         * modules/sys_stat (Depends-on): Add sys_types.
22953         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22955         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22956         instead of stat or _stat.
22958         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22959         'struct _stati64' instead of fstat and 'struct stat'.
22960         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22961         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22963         Reported by Ray Satiro <raysatiro@yahoo.com>.
22965 2012-04-19  Eric Blake  <eblake@redhat.com>
22967         bootstrap: accommodate older libtool
22968         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22969         Reported by Daniel P. Berrange.
22971 2012-04-19  Jim Meyering  <meyering@redhat.com>
22973         announce-gen: avoid failure due to lack of Digest::SHA1
22974         Even with the preferred Digest::SHA available, this script
22975         would fail when the backup module, Digest::SHA1, was not installed.
22976         * build-aux/announce-gen: Quote the conditional use of "use".
22977         Reported by Reuben Thomas in:
22978         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22980         bootstrap: don't let a user's CDPATH setting affect this script
22981         When CDPATH is set, cd will sometimes generate output.
22982         When "cd" is run in a subshell whose output matters, that
22983         surprising-to-some output can cause malfunction.
22984         Unsetting CDPATH turns off this shell "feature."
22985         * build-aux/bootstrap (CDPATH): Unset.
22986         Reported by Reuben Thomas in:
22987         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22988         and inspired by his patch here:
22989         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22991 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22992         and Jim Meyering  <meyering@redhat.com>
22994         maint.mk: catch "see @xref{}" and similar
22995         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22996         prohibit "See also @xref{", "Also see @pxref{", and similar.
22998 2012-04-16  Jim Meyering  <meyering@redhat.com>
23000         bootstrap: really use gnulib's po/Makefile.in.in
23001         * build-aux/bootstrap: Correct the source file name in previous change.
23002         Reported by Akim Demaille.
23004         configmake: correct minor inconsistency in Makefile rule
23005         * modules/configmake (Makefile.am): All other rules like this one
23006         run the final "mv -f ..." in the same backslash-continued command
23007         as the one that does everything else.  This one put the mv -f ...
23008         command on a separate, non-backslash-continued line.
23009         Make it like the others.
23011         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
23012         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
23013         the one from gettext.  Reported by Akim Demaille.
23015 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
23017         Fix recursion of install-* into po directories.
23018         Bison's install-pdf bug reported by Hans Aberg at
23019         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
23020         * build-aux/po/Makefile.in.in (install-dvi, install-html)
23021         (install-info, install-pdf, install-ps): New targets.
23023 2012-04-16  Jim Meyering  <meyering@redhat.com>
23025         maint: avoid spurious "make sc_maint" failure
23026         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
23027         exempt all *.class file names, for lib/javaversion.class.
23029 2012-04-15  Bruno Haible  <bruno@clisp.org>
23031         lseek: Make configure test independent of environment.
23032         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
23033         Windows, we know that lseek() on pipes is broken; skip the runtime
23034         test.
23036 2012-04-14  Bruno Haible  <bruno@clisp.org>
23038         stat: Bypass buggy override in mingw64.
23039         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
23040         * lib/stat.c (stat) [mingw64]: Define to _stat.
23041         * doc/posix-functions/stat.texi: Mention mingw64 bug.
23043 2012-04-14  Bruno Haible  <bruno@clisp.org>
23045         pathmax: Fix compilation error on MSVC 9.
23046         * modules/pathmax (Depends-on): Add unistd.
23048 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
23050         README: document pointer comparison assumption
23051         * README (Portability guidelines): Document assumption about
23052         pointer comparisons, in response to a recent bug-gnulib comment by
23053         Jeffrey Kegler.
23055 2012-04-12  Bruno Haible  <bruno@clisp.org>
23057         Tests for module 'getrusage'.
23058         * modules/getrusage-tests: New file.
23059         * tests/test-getrusage.c: New file.
23061         New module 'getrusage'.
23062         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
23063         warn-on-use.h.
23064         (getrusage): New declaration.
23065         * lib/getrusage.c: New file.
23066         * m4/getrusage.m4: New file.
23067         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
23068         is declared.
23069         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
23070         HAVE_GETRUSAGE.
23071         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
23072         snippet/c++defs, snippet/warn-on-use.
23073         (Makefile.am): Update generation of sys/resource.h. Substitute
23074         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
23075         * modules/getrusage: New file.
23076         * doc/posix-functions/getrusage.texi: Mention the new module.
23078 2012-04-12  Bruno Haible  <bruno@clisp.org>
23080         Tests for module 'sys_resource'.
23081         * modules/sys_resource-tests: New file.
23082         * tests/test-sys_resource.c: New file.
23084         New module 'sys_resource'.
23085         * lib/sys_resource.in.h: New file.
23086         * m4/sys_resource_h.m4: New file.
23087         * modules/sys_resource: New file.
23088         * doc/posix-headers/sys_resource.texi: Mention the new module.
23090 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
23092         ioctl: Fix compilation error on mingw.
23093         * lib/ioctl.c: Include <windows.h>.
23094         Also reported by Ray Satiro <raysatiro@yahoo.com>.
23096 2012-04-04  Jim Meyering  <meyering@redhat.com>
23098         regex: correct #pragma guard expression
23099         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
23100         not 4.3.  Correct its cpp guard expression.
23102 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23104         regex: remove unnecessary type punning
23105         Problem reported by Vladimir Serbinenko in
23106         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
23107         * lib/regex.h (struct re_pattern_buffer): Change the type of
23108         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
23109         Fix comment to match code.
23110         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
23111         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
23112         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23113         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
23114         (set_regs):
23115         Omit no-longer-necessary casts.
23117 2012-04-03  Bruno Haible  <bruno@clisp.org>
23119         Tests for module 'ilogbl'.
23120         * modules/ilogbl-tests: New file.
23121         * tests/test-ilogbl.c: New file.
23123         New module 'ilogbl'.
23124         * lib/math.in.h (ilogbl): New declaration.
23125         * lib/ilogbl.c: New file.
23126         * m4/ilogbl.m4: New file.
23127         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
23128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
23129         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
23130         Split sed invocation, to avoid the limit of 100 substitutions of
23131         HP-UX 'sed'.
23132         * modules/ilogbl: New file.
23133         * tests/test-math-c++.cc: Check the declaration of ilogbl.
23134         * doc/posix-functions/ilogbl.texi: Mention the new module.
23136 2012-04-03  Bruno Haible  <bruno@clisp.org>
23138         Tests for module 'ilogbf'.
23139         * modules/ilogbf-tests: New file.
23140         * tests/test-ilogbf.c: New file.
23142         New module 'ilogbf'.
23143         * lib/math.in.h (ilogbf): New declaration.
23144         * lib/ilogbf.c: New file.
23145         * m4/ilogbf.m4: New file.
23146         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
23147         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
23148         REPLACE_ILOGBF.
23149         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
23150         REPLACE_ILOGBF.
23151         * modules/ilogbf: New file.
23152         * tests/test-math-c++.cc: Check the declaration of ilogbf.
23153         * doc/posix-functions/ilogbf.texi: Mention the new module.
23155 2012-04-03  Bruno Haible  <bruno@clisp.org>
23157         Tests for module 'ilogb'.
23158         * modules/ilogb-tests: New file.
23159         * tests/test-ilogb.c: New file.
23160         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
23161         tests/test-logb-ieee.h.
23163         New module 'ilogb'.
23164         * lib/math.in.h (ilogb): New declaration.
23165         * lib/ilogb.c: New file.
23166         * m4/ilogb.m4: New file.
23167         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
23168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
23169         REPLACE_ILOGB.
23170         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
23171         REPLACE_ILOGB.
23172         * modules/ilogb: New file.
23173         * tests/test-math-c++.cc: Check the declaration of ilogb.
23174         * doc/posix-functions/ilogb.texi: Mention the new module.
23176 2012-04-03  Bruno Haible  <bruno@clisp.org>
23178         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
23179         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
23180         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
23181         (main): Check their values.
23182         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
23183         problem.
23185 2012-04-03  Bruno Haible  <bruno@clisp.org>
23187         Tests for module 'logbl-ieee'.
23188         * modules/logbl-ieee-tests: New file.
23189         * tests/test-logbl-ieee.c: New file.
23191         New module 'logbl-ieee'.
23192         * modules/logbl-ieee: New file.
23194         Tests for module 'logb-ieee'.
23195         * modules/logb-ieee-tests: New file.
23196         * tests/test-logb-ieee.c: New file.
23198         New module 'logb-ieee'.
23199         * modules/logb-ieee: New file.
23201         Tests for module 'logbf-ieee'.
23202         * modules/logbf-ieee-tests: New file.
23203         * tests/test-logbf-ieee.c: New file.
23204         * tests/test-logb-ieee.h: New file.
23206         New module 'logbf-ieee'.
23207         * modules/logbf-ieee: New file.
23209 2012-04-03  Bruno Haible  <bruno@clisp.org>
23211         Tests for module 'logbl'.
23212         * modules/logbl-tests: New file.
23213         * tests/test-logbl.c: New file.
23215         New module 'logbl'.
23216         * lib/math.in.h (logbl): New declaration.
23217         * lib/logbl.c: New file.
23218         * m4/logbl.m4: New file.
23219         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
23220         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
23221         REPLACE_LOGBL.
23222         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
23223         REPLACE_LOGBL.
23224         * modules/logbl: New file.
23225         * tests/test-math-c++.cc: Check the declaration of logbl.
23226         * doc/posix-functions/logbl.texi: Mention the new module.
23228 2012-04-02  Bruno Haible  <bruno@clisp.org>
23230         Tests for module 'logbf'.
23231         * modules/logbf-tests: New file.
23232         * tests/test-logbf.c: New file.
23234         New module 'logbf'.
23235         * lib/math.in.h (logbf): New declaration.
23236         * lib/logbf.c: New file.
23237         * m4/logbf.m4: New file.
23238         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
23239         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
23240         REPLACE_LOGBF.
23241         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
23242         REPLACE_LOGBF.
23243         * modules/logbf: New file.
23244         * tests/test-math-c++.cc: Check the declaration of logbf.
23245         * doc/posix-functions/logbf.texi: Mention the new module.
23247 2012-04-02  Bruno Haible  <bruno@clisp.org>
23249         logb tests: More tests.
23250         * tests/test-logb.h: New file, based on tests/test-logb.c and
23251         tests/test-frexp.h.
23252         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
23253         (main): Just invoke test_function.
23254         * modules/logb-tests (Files): Add tests/test-logb.h,
23255         tests/minus-zero.h, tests/randomd.c.
23256         (Makefile.am): Add randomd.c to test_logb_SOURCES.
23258         logb: Provide replacement and workarounds.
23259         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
23260         is 1.
23261         * lib/logb.c: New file.
23262         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
23263         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
23264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
23265         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
23266         * modules/logb (Files): Add lib/logb.c.
23267         (Depends-on): Add isfinite, frexp, isnand.
23268         (configure.ac): Compile the replacement code logb.c if needed.
23269         * tests/test-math-c++.cc: Check the declaration of logb.
23270         * doc/posix-functions/logb.texi: Mention the replacement and the bug
23271         with subnormal numbers.
23273 2012-04-02  Bruno Haible  <bruno@clisp.org>
23275         log10* tests: Speed up.
23276         * tests/test-log10.h (test_function): Reduce amount of random numbers
23277         to test.
23279 2012-04-01  Bruno Haible  <bruno@clisp.org>
23281         logf-ieee: Fix test whether logf works.
23282         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
23284 2012-04-01  Bruno Haible  <bruno@clisp.org>
23286         log10l: Work around log10l-ieee test failure on IRIX 6.5.
23287         * lib/log10l.c: Include <float.h>
23288         (log10l): On IRIX, normalize the +Infinity value.
23289         * modules/log10l (Depends-on): Add 'float'.
23290         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
23291         +Infinity.
23293         log10f-ieee: Work around test failure on NetBSD 5.1.
23294         * m4/log10f-ieee.m4: New file.
23295         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
23296         test whether log10f works with a negative argument. Replace it if not.
23297         * lib/log10f.c (log10f): For negative arguments, return NaN.
23298         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
23299         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
23300         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
23302         log10f-ieee: Work around test failure on Solaris 9.
23303         * modules/log10f-ieee (Depends-on): Add log10-ieee.
23304         (configure.ac): Require gl_FUNC_LOG10F.
23306         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23307         * m4/log10-ieee.m4: New file.
23308         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
23309         whether log10 works with a negative argument. Replace it if not.
23310         * lib/log10.c (log10): For negative arguments, return NaN.
23311         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
23312         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
23313         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
23315         Tests for module 'log10l-ieee'.
23316         * modules/log10l-ieee-tests: New file.
23317         * tests/test-log10l-ieee.c: New file.
23319         New module 'log10l-ieee'.
23320         * modules/log10l-ieee: New file.
23322         Tests for module 'log10-ieee'.
23323         * modules/log10-ieee-tests: New file.
23324         * tests/test-log10-ieee.c: New file.
23326         New module 'log10-ieee'.
23327         * modules/log10-ieee: New file.
23329         Tests for module 'log10f-ieee'.
23330         * modules/log10f-ieee-tests: New file.
23331         * tests/test-log10f-ieee.c: New file.
23332         * tests/test-log10-ieee.h: New file.
23334         New module 'log10f-ieee'.
23335         * modules/log10f-ieee: New file.
23337 2012-04-01  Bruno Haible  <bruno@clisp.org>
23339         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
23340         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
23341         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
23342         workaround.
23343         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
23344         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
23345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
23346         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
23347         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
23348         (Depends-on): Update conditions.
23349         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
23350         IRIX 6.5, OSF/1 5.1 problems.
23352 2012-04-01  Bruno Haible  <bruno@clisp.org>
23354         log10f: Work around OSF/1 5.1 bug.
23355         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
23356         * lib/log10f.c (log10f): If logf exists, use it and provide just the
23357         workaround.
23358         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
23359         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
23360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
23361         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
23362         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
23363         (Depends-on): Update conditions.
23364         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
23366 2012-04-01  Bruno Haible  <bruno@clisp.org>
23368         log10: Work around OSF/1 5.1 bug.
23369         * lib/math.in.h (log10): New declaration.
23370         * lib/log10.c: New file.
23371         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
23372         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
23373         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
23374         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
23375         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
23376         * modules/log10 (Files): Add lib/log10.c.
23377         (Depends-on): Add math.
23378         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
23379         * tests/test-math-c++.cc: Check the declaration of log10.
23380         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
23382 2012-03-31  Bruno Haible  <bruno@clisp.org>
23384         log10l tests: More tests.
23385         * modules/log10l-tests (Files): Add tests/test-log10l.h,
23386         tests/minus-zero.h, tests/randoml.c.
23387         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
23388         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
23389         (main): Invoke test_function.
23391         log10f tests: More tests.
23392         * modules/log10f-tests (Files): Add tests/test-log10.h,
23393         tests/minus-zero.h, tests/randomf.c.
23394         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
23395         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
23396         (main): Invoke test_function.
23398         log10 tests: More tests.
23399         * tests/test-log10.h: New file.
23400         * modules/log10-tests (Files): Add tests/test-log10.h,
23401         tests/minus-zero.h, tests/randomd.c.
23402         (Makefile.am): Add randomd.c to test_log10_SOURCES.
23403         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
23404         (main): Invoke test_function.
23406 2012-03-31  Simon Josefsson  <simon@josefsson.org>
23408         fflush: Fix syntax error.
23409         * lib/fflush.c: Include unused-parameter.h, needed for
23410         _GL_UNUSED_PARAMETER.
23411         * modules/fflush (Depends-on): Add snippet/unused-parameter.
23413 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23415         regex: pacify GCC when compiling GRUB
23416         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
23417         a diagnostic.  Reported by Vladimir Serbinenko in
23418         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
23420 2012-03-29  Eric Blake  <eblake@redhat.com>
23422         stdio: don't assume gets any more
23423         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
23424         support.
23425         * modules/stdio (Makefile.am): Likewise.
23426         * lib/stdio-read.c (gets): Likewise.
23427         * tests/test-stdio-c++.cc: Likewise.
23428         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
23429         * lib/stdio.in.h (gets): Make warning occur in more places.
23430         * doc/posix-functions/gets.texi (gets): Update documentation.
23431         Reported by Christer Solskogen.
23433         maint.mk: fix syntax checks without exclusions
23434         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
23435         Reported by Daniel P. Berrange.
23437         strerror_r: avoid compiler warning
23438         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
23439         level.
23441         fflush: avoid compiler warning
23442         * lib/fflush.c (update_fpos_cache): Mark variables that are
23443         potentially unused.
23445 2012-03-25  Bruno Haible  <bruno@clisp.org>
23447         Tests for module 'localeconv'.
23448         * modules/localeconv-tests: New file.
23449         * tests/test-localeconv.c: New file.
23451         New module 'localeconv'.
23452         * lib/locale.in.h (localeconv): New declaration.
23453         * lib/localeconv.c: New file.
23454         * m4/localeconv.m4: New file.
23455         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
23456         REPLACE_LOCALECONV.
23457         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
23458         REPLACE_LOCALECONV.
23459         * modules/localeconv: New file.
23460         * modules/nl_langinfo (Depends-on): Add localeconv.
23461         * modules/human (Depends-on): Likewise.
23462         * doc/posix-functions/localeconv.texi: Mention the new module.
23464 2012-03-25  Bruno Haible  <bruno@clisp.org>
23466         locale: Provide a complete 'struct lconv'.
23467         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23468         'struct lconv' does not contain int_p_cs_precedes.
23469         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23470         * doc/posix-headers/locale.texi: Update.
23472         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23473         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23474         * doc/posix-headers/locale.texi: Update.
23476         locale: Provide a working 'struct lconv'.
23477         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23478         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23479         'struct lconv' does not even contain decimal_point.
23480         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23481         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23482         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23483         * doc/posix-headers/locale.texi: Mention the problems with
23484         'struct lconv'.
23485         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23487 2012-03-24  Bruno Haible  <bruno@clisp.org>
23489         Enable common subexpression optimization in GCC.
23490         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23491         macros.
23492         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23493         GCC attribute 'const'.
23494         (uc_locale_language): Declare with GCC attribute 'pure'.
23495         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23496         with GCC attribute 'const'.
23497         * lib/unictype.in.h (uc_is_general_category_withtable,
23498         uc_combining_class, uc_combining_class_name,
23499         uc_combining_class_long_name, uc_bidi_class_name,
23500         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23501         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23502         uc_decimal_value, uc_digit_value, uc_numeric_value,
23503         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23504         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23505         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23506         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23507         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23508         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23509         Declare with GCC attribute 'const'.
23510         (uc_general_category_name, uc_general_category_long_name,
23511         uc_general_category_byname, uc_general_category,
23512         uc_is_general_category, uc_combining_class_byname,
23513         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23514         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23515         Declare with GCC attribute 'pure'.
23516         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23517         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23518         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23519         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23520         with GCC attribute 'pure'.
23521         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23522         'const'.
23523         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23524         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23525         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23526         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23527         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23528         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23529         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23530         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23531         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23532         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23533         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23534         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23535         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23536         GCC attribute 'pure'.
23537         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23538         'const'.
23539         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23540         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23541         u32_strwidth): Declare with GCC attribute 'pure'.
23543         Enable common subexpression optimization in GCC.
23544         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23545         (alphasort): Declare with GCC attribute 'pure'.
23546         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23547         (atoll): Declare with GCC attribute 'pure'.
23548         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23549         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23550         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23551         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23552         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23553         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23554         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23556 2012-03-24  Bruno Haible  <bruno@clisp.org>
23558         gnulib-tool: Avoid unintended error output from 'cmp'.
23559         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23560         "cmp -s", not "cmp > /dev/null".
23562 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23564         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23566         It's not just Automake versions < 1.9b that creates an empty
23567         pkgdatadir at installation time if pkgdata_DATA is specified
23568         to empty; modern automake versions do this as well, at least
23569         until automake 1.11.4 (not yet released at the moment of writing,
23570         but soon to appear).  That behaviour was generally considered a
23571         feature rather than a bug, at least until this discussion:
23572         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23574         See also automake bugs #10997 and #11030.
23576         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23577         reference to relevant automake bug numbers.
23578         (func_emit_tests_Makefile_am): Likewise.
23580 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23582         announce-gen: use Digest::SHA when possible
23583         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23584         back to Digest::SHA1 if necessary.
23586 2012-03-20  Jim Meyering  <meyering@redhat.com>
23588         tests: avoid gcc warnings about argv vs. const initializers
23589         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23590         warnings about discarding 'const' qualifier from pointer target type.
23591         * tests/test-posix_spawn2.c (main): Likewise.
23593 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23595         README-release: simplify slightly
23596         * top/README-release: Run "git checkout master" only once.
23598 2012-03-15  Mark Wielaard  <mark@klomp.org>
23600         git-merge-changelog: add specific example on how to use with hg.
23601         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23603 2012-03-18  Mark Wielaard  <mark@klomp.org>
23605         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23607 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23609         git-version-gen: don't let "prefix" envvar cause trouble
23610         * build-aux/git-version-gen (prefix): Initialize properly,
23611         so as not to use a value specified via the environment.
23612         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23614 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23616         regex: diagnose too-large repeat counts in EREs
23617         Previously, the code did not diagnose the too-large repeat count
23618         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23619         as if it were 'b\{1000000000}', which is unexpected.
23620         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23621         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23622         is a reasonable one for this problem.  Another option would be to
23623         create a new REG_OVERFLOW error for repeat counts that are too large.
23624         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23625         count is too large, so that the caller can distinguish the two cases.
23626         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23627         "Too large" return code, and that repeat counts are one example of this.
23629 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23631         doc: some glibc x32 integer width issues
23632         * doc/posix-headers/sys_types.texi (sys/types.h):
23633         * doc/posix-headers/time.texi (time.h):
23634         Mention that glibc x32 does not conform to POSIX in a couple of
23635         areas related to integer widths.
23637 2012-03-15  Bruno Haible  <bruno@clisp.org>
23639         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23640         * lib/fma.c (VOLATILE): New macro.
23641         (FUNC): Use it to work around a GCC compiler bug.
23643 2012-03-13  Bruno Haible  <bruno@clisp.org>
23645         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23646         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23647         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23648         REPLACE_HYPOTL to 1.
23649         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23651 2012-03-13  Bruno Haible  <bruno@clisp.org>
23653         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23654         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23655         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23656         REPLACE_REMAINDERL to 1.
23657         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23658         bug.
23660 2012-03-13  Bruno Haible  <bruno@clisp.org>
23662         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23663         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23664         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23665         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23666         too big rounding errors.
23667         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23668         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23669         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23670         (Depends-on): Update conditions.
23671         * tests/test-sqrtl.c (my_ldexpl): New function.
23672         (main): Add test of a particular value.
23673         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23675 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23677         doc: Update timer_* platform portability notes.
23678         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23679         that always return ENOSYS.
23680         * doc/posix-functions/timer_delete.texi: Likewise.
23681         * doc/posix-functions/timer_gettime.texi: Likewise.
23682         * doc/posix-functions/timer_settime.texi: Likewise.
23684 2012-03-13  Bruno Haible  <bruno@clisp.org>
23686         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23687         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23688         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23689         REPLACE_CBRTL to 1.
23690         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23692 2012-03-13  Bruno Haible  <bruno@clisp.org>
23694         remainderl: Avoid compilation error on AIX >= 5.2.
23695         * lib/math.in.h (remainderl): Undefine macro from the system header.
23697 2012-03-13  Bruno Haible  <bruno@clisp.org>
23699         Avoid compilation errors with MSVC option -fp:strict.
23700         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23701         * lib/cbrtf.c: Likewise.
23702         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23704 2012-03-12  Bruno Haible  <bruno@clisp.org>
23706         uninorm: Don't crash in out-of-memory conditions.
23707         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23708         gracefully.
23709         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23710         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23712 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23714         quote: fix syntax-check
23715         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23716         also exports quote_quoting_options.
23718 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23720         Collapse list of copyright years to ranges.  See
23721         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23722         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23723         build-aux/csharpexec.sh.in, build-aux/gnupload,
23724         build-aux/install-reloc, build-aux/javacomp.sh.in,
23725         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23726         build-aux/move-if-change, build-aux/reloc-ldflags,
23727         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23729 2012-03-11  Bruno Haible  <bruno@clisp.org>
23731         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23732         * m4/log2f-ieee.m4: New file.
23733         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23734         whether log2f works with a minus zero argument. Replace it if not.
23735         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23736         (Depends-on): Add log2-ieee.
23737         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23738         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23740         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23741         * m4/log2-ieee.m4: New file.
23742         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23743         whether log2 works with a minus zero argument. Replace it if not.
23744         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23745         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23746         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23748         Tests for module 'log2l-ieee'.
23749         * modules/log2l-ieee-tests: New file.
23750         * tests/test-log2l-ieee.c: New file.
23752         New module 'log2l-ieee'.
23753         * modules/log2l-ieee: New file.
23755         Tests for module 'log2-ieee'.
23756         * modules/log2-ieee-tests: New file.
23757         * tests/test-log2-ieee.c: New file.
23759         New module 'log2-ieee'.
23760         * modules/log2-ieee: New file.
23762         Tests for module 'log2f-ieee'.
23763         * modules/log2f-ieee-tests: New file.
23764         * tests/test-log2f-ieee.c: New file.
23765         * tests/test-log2-ieee.h: New file.
23767         New module 'log2f-ieee'.
23768         * modules/log2f-ieee: New file.
23770 2012-03-11  Bruno Haible  <bruno@clisp.org>
23772         Tests for module 'log2l'.
23773         * modules/log2l-tests: New file.
23774         * tests/test-log2l.c: New file.
23776         New module 'log2l'.
23777         * lib/math.in.h (log2l): New declaration.
23778         * lib/log2l.c: New file.
23779         * m4/log2l.m4: New file.
23780         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23782         REPLACE_LOG2L.
23783         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23784         REPLACE_LOG2L.
23785         * modules/log2l: New file.
23786         * tests/test-math-c++.cc: Check the declaration of log2l.
23787         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23788         and OSF/1 problems.
23790 2012-03-11  Bruno Haible  <bruno@clisp.org>
23792         Tests for module 'log2f'.
23793         * modules/log2f-tests: New file.
23794         * tests/test-log2f.c: New file.
23796         New module 'log2f'.
23797         * lib/math.in.h (log2f): New declaration.
23798         * lib/log2f.c: New file.
23799         * m4/log2f.m4: New file.
23800         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23802         REPLACE_LOG2F.
23803         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23804         REPLACE_LOG2F.
23805         * modules/log2f: New file.
23806         * tests/test-math-c++.cc: Check the declaration of log2f.
23807         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23808         and OSF/1 and Cygwin problems.
23810 2012-03-11  Bruno Haible  <bruno@clisp.org>
23812         Tests for module 'log2'.
23813         * modules/log2-tests: New file.
23814         * tests/test-log2.c: New file.
23815         * tests/test-log2.h: New file.
23817         New module 'log2'.
23818         * lib/math.in.h (log2): New declaration.
23819         * lib/log2.c: New file.
23820         * m4/log2.m4: New file.
23821         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23823         REPLACE_LOG2.
23824         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23825         REPLACE_LOG2.
23826         * modules/log2: New file.
23827         * tests/test-math-c++.cc: Check the declaration of log2.
23828         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23829         and OSF/1 and Cygwin problems.
23831 2012-03-11  Bruno Haible  <bruno@clisp.org>
23833         exp2* tests: More tests.
23834         * tests/test-exp2.h (test_function): Test all integral arguments that
23835         don't need to overflow or denormalized numbers.
23836         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23837         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23838         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23840 2012-03-10  Bruno Haible  <bruno@clisp.org>
23842         log1pl-ieee: Work around test failure on AIX 7.1.
23843         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23845         log1pl-ieee: Work around test failure on IRIX 6.5.
23846         * m4/log1pl-ieee.m4: New file.
23847         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23848         test whether log1pl works with a minus zero argument. Replace it if
23849         not.
23850         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23852         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23853         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23854         (Depends-on): Update conditions.
23855         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23856         m4/signbit.m4.
23857         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23858         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23860         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23861         * m4/log1pf-ieee.m4: New file.
23862         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23863         test whether log1pf works with a minus zero argument. Replace it if
23864         not.
23865         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23866         m4/signbit.m4.
23867         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23868         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23870         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23871         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23872         (configure.ac): Require gl_FUNC_LOG1PF.
23874         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23875         * m4/log1p-ieee.m4: New file.
23876         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23877         whether log1p works with a minus zero argument. Replace it if not.
23878         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23880         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23881         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23882         (Depends-on): Update conditions.
23883         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23884         m4/signbit.m4.
23885         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23886         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23888         Tests for module 'log1pl-ieee'.
23889         * modules/log1pl-ieee-tests: New file.
23890         * tests/test-log1pl-ieee.c: New file.
23892         New module 'log1pl-ieee'.
23893         * modules/log1pl-ieee: New file.
23895         Tests for module 'log1p-ieee'.
23896         * modules/log1p-ieee-tests: New file.
23897         * tests/test-log1p-ieee.c: New file.
23899         New module 'log1p-ieee'.
23900         * modules/log1p-ieee: New file.
23902         Tests for module 'log1pf-ieee'.
23903         * modules/log1pf-ieee-tests: New file.
23904         * tests/test-log1pf-ieee.c: New file.
23905         * tests/test-log1p-ieee.h: New file.
23907         New module 'log1pf-ieee'.
23908         * modules/log1pf-ieee: New file.
23910 2012-03-10  Bruno Haible  <bruno@clisp.org>
23912         Tests for module 'log1pl'.
23913         * modules/log1pl-tests: New file.
23914         * tests/test-log1pl.c: New file.
23916         New module 'log1pl'.
23917         * lib/math.in.h (log1pl): New declaration.
23918         * lib/log1pl.c: New file.
23919         * m4/log1pl.m4: New file.
23920         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23921         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23922         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23923         * modules/log1pl: New file.
23924         * tests/test-math-c++.cc: Check the declaration of log1pl.
23925         * doc/posix-functions/log1pl.texi: Mention the new module.
23927 2012-03-10  Bruno Haible  <bruno@clisp.org>
23929         Tests for module 'log1pf'.
23930         * modules/log1pf-tests: New file.
23931         * tests/test-log1pf.c: New file.
23933         New module 'log1pf'.
23934         * lib/math.in.h (log1pf): New declaration.
23935         * lib/log1pf.c: New file.
23936         * m4/log1pf.m4: New file.
23937         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23938         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23939         REPLACE_LOG1PF.
23940         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23941         REPLACE_LOG1PF.
23942         * modules/log1pf: New file.
23943         * tests/test-math-c++.cc: Check the declaration of log1pf.
23944         * doc/posix-functions/log1pf.texi: Mention the new module.
23946 2012-03-10  Bruno Haible  <bruno@clisp.org>
23948         log1p tests: More tests.
23949         * tests/test-log1p.h: New file.
23950         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23951         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23952         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23953         (main): Invoke test_function.
23955         log1p: Provide replacement for Minix and MSVC.
23956         * lib/math.in.h (log1p): New declaration.
23957         * lib/log1p.c: New file.
23958         * m4/log1p.m4: New file.
23959         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23960         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23961         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23962         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23963         (Depends-on): Add math, isnand, log, round.
23964         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23965         HAVE_LOG1P is 0.
23966         * tests/test-math-c++.cc: Check the declaration of log1p.
23967         * doc/posix-functions/log1p.texi: Mention the replacement.
23969 2012-03-10  Bruno Haible  <bruno@clisp.org>
23971         math tests: Small simplification.
23972         * tests/test-exp.h (test_function): Use the same err_bound for
23973         'double' on platforms with sizeof (long double) == sizeof (double)
23974         than on platforms with sizeof (long double) > sizeof (double).
23975         * tests/test-exp2.h (test_function): Likewise.
23976         * tests/test-expm1.h (test_function): Likewise.
23977         * tests/test-log.h (test_function): Likewise.
23979 2012-03-10  Bruno Haible  <bruno@clisp.org>
23981         Fix some comments.
23982         * lib/expl.c: Fix an ambiguous comment.
23983         * lib/expm1.c: Likewise.
23984         * lib/expm1l.c: Likewise.
23985         * lib/exp2.c: Likewise.
23986         * lib/exp2l.c: Likewise.
23988 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23990         regex: allow inclusion of <regex.h> before <limits.h>
23991         Without this patch, portable programs had to include <limits.h> before
23992         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23993         I ran into this problem with a test version of GNU grep on Solaris 8.
23994         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23995         This is done conditionally so that this change can be merged
23996         back to glibc.
23997         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23998         using the included regex.
24000         fts: depend on fdopendir
24001         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
24002         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
24003         problem was introduced when fdopendir was split out.
24005 2012-03-10  Bruno Haible  <bruno@clisp.org>
24007         Remove unused variables.
24008         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
24009         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24011 2012-03-10  Bruno Haible  <bruno@clisp.org>
24013         isnanf-nolibm: Fix last commit.
24014         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
24016         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
24017         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
24019 2012-03-10  Bruno Haible  <bruno@clisp.org>
24021         logf-ieee: Work around test failure on NetBSD 5.1.
24022         * m4/logf-ieee.m4: New file.
24023         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
24024         whether logf works with a negative argument. Replace it if not.
24025         * lib/logf.c (logf): For negative arguments, return NaN.
24026         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
24027         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
24028         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
24030         logf-ieee: Work around test failure on Solaris 9.
24031         * modules/logf-ieee (Depends-on): Add log-ieee.
24032         (configure.ac): Require gl_FUNC_LOGF.
24034         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
24035         * m4/log-ieee.m4: New file.
24036         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
24037         log works with a negative argument. Replace it if not.
24038         * lib/log.c (log): For negative arguments, return NaN.
24039         * modules/log-ieee (Files): Add m4/log-ieee.m4.
24040         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
24041         * doc/posix-functions/log.texi: Mention the log-ieee module.
24043         Tests for module 'logl-ieee'.
24044         * modules/logl-ieee-tests: New file.
24045         * tests/test-logl-ieee.c: New file.
24047         New module 'logl-ieee'.
24048         * modules/logl-ieee: New file.
24050         Tests for module 'log-ieee'.
24051         * modules/log-ieee-tests: New file.
24052         * tests/test-log-ieee.c: New file.
24054         New module 'log-ieee'.
24055         * modules/log-ieee: New file.
24057         Tests for module 'logf-ieee'.
24058         * modules/logf-ieee-tests: New file.
24059         * tests/test-logf-ieee.c: New file.
24060         * tests/test-log-ieee.h: New file.
24062         New module 'logf-ieee'.
24063         * modules/logf-ieee: New file.
24065 2012-03-10  Bruno Haible  <bruno@clisp.org>
24067         log: Fix bug introduced on 2012-03-09.
24068         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
24070 2012-03-10  Pádraig Brady  <P@draigBrady.com>
24072         timer-time: link explicitly with pthreads on glibc
24073         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
24074         to support static linking, when newer glibc is
24075         detected, as that contains pthread emulation of
24076         POSIX timer functions where required.
24077         * modules/timer-time: Depend on threadlib to
24078         pull in the appropriate library to link.
24080 2012-03-10  Bruno Haible  <bruno@clisp.org>
24082         log* tests: More tests.
24083         * tests/test-log.h: New file.
24084         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
24085         (main): Invoke test_function.
24086         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
24087         (main): Invoke test_function.
24088         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
24089         (main): Invoke test_function.
24090         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24091         tests/randomd.c.
24092         (Makefile.am): Add randomd.c to test_log_SOURCES.
24093         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24094         tests/randomf.c.
24095         (Makefile.am): Add randomf.c to test_logf_SOURCES.
24096         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24097         tests/randoml.c.
24098         (Depends-on): Add 'float'.
24099         (Makefile.am): Add randoml.c to test_logl_SOURCES.
24101 2012-03-09  Bruno Haible  <bruno@clisp.org>
24103         logl: Work around OSF/1 5.1 bug.
24104         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
24105         * lib/logl.c (logl): If logl exists, use it and provide just the
24106         workaround.
24107         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
24108         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
24109         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
24110         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
24111         * modules/logl (configure.ac): Consider REPLACE_LOGL.
24112         (Depends-on): Update conditions.
24113         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
24115 2012-03-09  Bruno Haible  <bruno@clisp.org>
24117         logf: Work around OSF/1 5.1 bug.
24118         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
24119         * lib/logf.c (logf): If logf exists, use it and provide just the
24120         workaround.
24121         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
24122         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
24123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
24124         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
24125         * modules/logf (configure.ac): Consider REPLACE_LOGF.
24126         (Depends-on): Update conditions.
24127         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
24129 2012-03-09  Bruno Haible  <bruno@clisp.org>
24131         log: Work around OSF/1 5.1 bug.
24132         * lib/math.in.h (log): New declaration.
24133         * lib/log.c: New file.
24134         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
24135         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
24136         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
24137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
24138         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
24139         * modules/log (Files): Add lib/log.c.
24140         (Depends-on): Add math.
24141         (configure.ac): If REPLACE_LOG is 1, compile an override.
24142         * tests/test-math-c++.cc: Check the declaration of log.
24143         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
24145 2012-03-09  Jim Meyering  <meyering@redhat.com>
24147         readtokens.c: adjust wording in a comment
24148         * lib/readtokens.c: Insert omitted "that" in a comment.
24150 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24152         modechange: add notations +40, 00440, etc.
24153         * lib/modechange.c (mode_compile): Support new notations
24154         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
24156 2012-03-08  Bruno Haible  <bruno@clisp.org>
24158         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
24159         * m4/exp2l-ieee.m4: New file.
24160         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
24161         test whether exp2l works with a NaN argument and with a negative
24162         infinity argument. Replace it if not.
24163         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
24164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
24165         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
24166         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
24167         (Depends-on): Update conditions.
24168         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
24169         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
24170         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
24172         Tests for module 'exp2l-ieee'.
24173         * modules/exp2l-ieee-tests: New file.
24174         * tests/test-exp2l-ieee.c: New file.
24176         New module 'exp2l-ieee'.
24177         * modules/exp2l-ieee: New file.
24179         Tests for module 'exp2-ieee'.
24180         * modules/exp2-ieee-tests: New file.
24181         * tests/test-exp2-ieee.c: New file.
24183         New module 'exp2-ieee'.
24184         * modules/exp2-ieee: New file.
24186         Tests for module 'exp2f-ieee'.
24187         * modules/exp2f-ieee-tests: New file.
24188         * tests/test-exp2f-ieee.c: New file.
24189         * tests/test-exp2-ieee.h: New file.
24191         New module 'exp2f-ieee'.
24192         * modules/exp2f-ieee: New file.
24194 2012-03-08  Bruno Haible  <bruno@clisp.org>
24196         Tests for module 'exp2l'.
24197         * modules/exp2l-tests: New file.
24198         * tests/test-exp2l.c: New file.
24200         New module 'exp2l'.
24201         * lib/math.in.h (exp2l): New declaration.
24202         * lib/exp2l.c: New file.
24203         * lib/expl-table.c: New file, extracted from lib/expl.c.
24204         * lib/expl.c (gl_expl_table): New declaration.
24205         (expl): Remove expl_table. Update reference.
24206         * m4/exp2l.m4: New file.
24207         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
24208         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
24209         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
24210         * modules/exp2l: New file.
24211         * modules/expl (Files): Add lib/expl-table.c.
24212         (configure.ac): Compile also expl-table.c.
24213         * tests/test-math-c++.cc: Check the declaration of exp2l.
24214         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
24215         problem.
24217 2012-03-08  Bruno Haible  <bruno@clisp.org>
24219         Tests for module 'exp2f'.
24220         * modules/exp2f-tests: New file.
24221         * tests/test-exp2f.c: New file.
24223         New module 'exp2f'.
24224         * lib/math.in.h (exp2f): New declaration.
24225         * lib/exp2f.c: New file.
24226         * m4/exp2f.m4: New file.
24227         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
24228         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
24229         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
24230         * modules/exp2f: New file.
24231         * tests/test-math-c++.cc: Check the declaration of exp2f.
24232         * doc/posix-functions/exp2f.texi: Mention the new module and the
24233         IRIX problem.
24235 2012-03-08  Bruno Haible  <bruno@clisp.org>
24237         Tests for module 'exp2'.
24238         * modules/exp2-tests: New file.
24239         * tests/test-exp2.c: New file.
24240         * tests/test-exp2.h: New file.
24242         New module 'exp2'.
24243         * lib/math.in.h (exp2): New declaration.
24244         * lib/exp2.c: New file.
24245         * m4/exp2.m4: New file.
24246         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
24247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
24248         REPLACE_EXP2.
24249         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
24250         REPLACE_EXP2.
24251         * modules/exp2: New file.
24252         * tests/test-math-c++.cc: Check the declaration of exp2.
24253         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
24254         and OpenBSD problems.
24256 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24258         savedir: fix comment typo
24259         * lib/savedir.c (savedirstream): Fix typo in comment.
24261 2012-03-08  Bruno Haible  <bruno@clisp.org>
24263         test-readtokens.c: use const; remove unwarranted cast
24264         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
24266 2012-03-08  Bruno Haible  <bruno@clisp.org>
24268         fmal: Avoid compilation error on AIX.
24269         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
24270         AIX 5.2..7.1.
24272 2012-03-08  Bruno Haible  <bruno@clisp.org>
24274         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
24275         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
24276         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
24277         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
24278         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
24279         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
24280         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
24282 2012-03-08  Bruno Haible  <bruno@clisp.org>
24284         remainderf: Override buggy system function on IRIX 6.5.
24285         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
24286         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
24287         when it exists.
24288         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
24290 2012-03-08  Jim Meyering  <meyering@redhat.com>
24292         test-readtokens.c: avoid const-related compilation warnings
24293         * tests/test-readtokens.c: Avoid const-related compilation warnings.
24295 2012-03-07  Jim Meyering  <meyering@redhat.com>
24296             Bruno Haible  <bruno@clisp.org>
24298         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
24299         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
24300         tests/randomd.c.
24301         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
24302         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
24303         tests/randoml.c.
24304         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
24306 2012-03-07  Bruno Haible  <bruno@clisp.org>
24308         expm1l: Avoid compilation error on AIX.
24309         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
24310         AIX 5.2..7.1.
24312 2012-03-07  Bruno Haible  <bruno@clisp.org>
24314         expm1l: Don't override undeclared system function on IRIX 6.5.
24315         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
24316         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
24317         it exists. Set HAVE_DECL_EXPM1L.
24318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
24319         HAVE_EXPM1L.
24320         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
24321         HAVE_EXPM1L.
24322         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
24324 2012-03-07  Bruno Haible  <bruno@clisp.org>
24326         remainderl: Don't override undeclared system function on IRIX 6.5.
24327         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
24328         HAVE_REMAINDERL.
24329         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
24330         declared when it exists. Set HAVE_DECL_REMAINDERL.
24331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
24332         not HAVE_REMAINDERL.
24333         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
24334         HAVE_REMAINDERL.
24335         * doc/posix-functions/remainderl.texi: Mention missing declaration
24336         problem.
24338 2012-03-07  Bruno Haible  <bruno@clisp.org>
24340         rintf: Don't override undeclared system function on IRIX 6.5.
24341         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
24342         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
24343         exists. Set HAVE_DECL_RINTF.
24344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
24345         HAVE_RINTF.
24346         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
24347         HAVE_RINTF.
24348         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
24350 2012-03-07  Bruno Haible  <bruno@clisp.org>
24352         roundl: Avoid compilation error on AIX.
24353         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
24354         AIX 5.2..7.1.
24356 2012-03-07  Bruno Haible  <bruno@clisp.org>
24358         roundl: Don't override undeclared system function on IRIX 6.5.
24359         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
24360         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
24361         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24362         * modules/roundl (configure.ac): For replacement code, test
24363         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24364         (Depends-on): Update conditions.
24365         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
24367 2012-03-07  Bruno Haible  <bruno@clisp.org>
24369         roundf: Don't override undeclared system function on IRIX 6.5.
24370         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
24371         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
24372         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24373         * modules/roundf (configure.ac): For replacement code, test
24374         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24375         (Depends-on): Update conditions.
24376         * modules/roundf-ieee (Depends-on): Update conditions.
24377         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
24379 2012-03-07  Bruno Haible  <bruno@clisp.org>
24381         round: Don't override undeclared system function on IRIX 6.5.
24382         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
24383         argument.
24384         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
24385         also when it is not declared. Set HAVE_ROUND. For replacement code,
24386         test HAVE_ROUND, not HAVE_DECL_ROUND.
24387         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
24388         not HAVE_DECL_ROUND.
24389         (Depends-on): Update conditions.
24390         * modules/round-ieee (Depends-on): Update conditions.
24391         * doc/posix-functions/round.texi: Mention the IRIX problem.
24393 2012-03-07  Bruno Haible  <bruno@clisp.org>
24395         copysignf: Don't override undeclared system function on IRIX 6.5.
24396         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
24397         HAVE_COPYSIGNF.
24398         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
24399         declared when it exists. Set HAVE_DECL_COPYSIGNF.
24400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
24401         not HAVE_COPYSIGNF.
24402         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
24403         HAVE_COPYSIGNF.
24404         * doc/posix-functions/copysignf.texi: Mention missing declaration
24405         problem.
24407 2012-03-07  Jim Meyering  <meyering@redhat.com>
24409         readtokens: add tests
24410         * modules/readtokens-tests: New file.
24411         * tests/test-readtokens.c: New file.
24413 2012-03-07  Jim Meyering  <meyering@redhat.com>
24415         quotearg: the module must now include quote.h
24416         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
24417         So must the module.
24418         * modules/quotearg (Files): Add quote.h.
24420 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
24422         readtokens: avoid core dumps with unusual calling patterns
24423         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
24424         * lib/readtokens.c: Include limits.h.
24425         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
24426         (readtoken): Don't cache the delimiters; the cache code was buggy
24427         if !delim && saved_delim, or if the new n_delim differs from the old.
24428         Also, it wasn't thread-safe.
24430 2012-03-07  Bruno Haible  <bruno@clisp.org>
24432         quote: Adhere to common module description layout.
24433         * modules/quote (Makefile.am): Add back empty section.
24435 2012-03-06  Akim Demaille  <demaille@gostai.com>
24437         quote: fuse into quotearg
24438         This patch is made for the benefit of Bison.
24439         quote does not leave the choice of the quoting style to the user.
24440         quoting_style provides poor customizability, yet quoting_options,
24441         which is very rich, is hidden inside quotearg.c.  So in order to
24442         allow quote customization, move its implementation to quotearg.c.
24443         * lib/quote.c: Remove.
24444         * modules/quote: Adjust.
24445         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
24446         warning: provide all the members of literal structs.
24447         (quote_quoting_options): New.
24448         (quote, quote_n): Import implementation from quote.c.
24449         * lib/quote.h: Import the comments from quote.c.
24450         (quote_quoting_options): New.
24452 2012-03-06  Bruno Haible  <bruno@clisp.org>
24454         Tests for module 'expm1l-ieee'.
24455         * modules/expm1l-ieee-tests: New file.
24456         * tests/test-expm1l-ieee.c: New file.
24458         New module 'expm1l-ieee'.
24459         * modules/expm1l-ieee: New file.
24461         Tests for module 'expm1f-ieee'.
24462         * modules/expm1f-ieee-tests: New file.
24463         * tests/test-expm1f-ieee.c: New file.
24465         New module 'expm1f-ieee'.
24466         * modules/expm1f-ieee: New file.
24468         Tests for module 'expm1-ieee'.
24469         * modules/expm1-ieee-tests: New file.
24470         * tests/test-expm1-ieee.c: New file.
24471         * tests/test-expm1-ieee.h: New file.
24473         New module 'expm1-ieee'.
24474         * modules/expm1-ieee: New file.
24475         * m4/expm1-ieee.m4: New file.
24476         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24477         whether expm1 works with a minus zero argument. Replace it if not.
24478         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24480         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24481         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24482         (Depends-on): Update conditions.
24483         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24484         AIX problem.
24486 2012-03-06  Bruno Haible  <bruno@clisp.org>
24488         Work around expm1f bug on IRIX 6.5.
24489         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24490         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24491         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24492         not work.
24493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24494         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24495         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24496         (Depends-on): Update conditions.
24497         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24499 2012-03-06  Bruno Haible  <bruno@clisp.org>
24501         Tests for module 'expm1l'.
24502         * modules/expm1l-tests: New file.
24503         * tests/test-expm1l.c: New file.
24505         New module 'expm1l'.
24506         * lib/math.in.h (expm1l): New declaration.
24507         * lib/expm1l.c: New file.
24508         * m4/expm1l.m4: New file.
24509         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24511         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24512         * modules/expm1l: New file.
24513         * tests/test-math-c++.cc: Check the declaration of expm1l.
24514         * doc/posix-functions/expm1l.texi: Mention the new module.
24516 2012-03-06  Bruno Haible  <bruno@clisp.org>
24518         Tests for module 'expm1f'.
24519         * modules/expm1f-tests: New file.
24520         * tests/test-expm1f.c: New file.
24522         New module 'expm1f'.
24523         * lib/math.in.h (expm1f): New declaration.
24524         * lib/expm1f.c: New file.
24525         * m4/expm1f.m4: New file.
24526         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24528         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24529         * modules/expm1f: New file.
24530         * tests/test-math-c++.cc: Check the declaration of expm1f.
24531         * doc/posix-functions/expm1f.texi: Mention the new module.
24533 2012-03-06  Bruno Haible  <bruno@clisp.org>
24535         Tests for module 'expm1'.
24536         * modules/expm1-tests: New file.
24537         * tests/test-expm1.c: New file.
24538         * tests/test-expm1.h: New file.
24540         New module 'expm1'.
24541         * lib/math.in.h (expm1): New declaration.
24542         * lib/expm1.c: New file.
24543         * m4/expm1.m4: New file.
24544         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24546         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24547         * modules/expm1: New file.
24548         * tests/test-math-c++.cc: Check the declaration of expm1.
24549         * doc/posix-functions/expm1.texi: Mention the new module.
24551 2012-03-06  Bruno Haible  <bruno@clisp.org>
24553         math: Ensure declarations of math functions.
24554         * modules/acosf (Depends-on): Add 'extensions'.
24555         * modules/asinf (Depends-on): Likewise.
24556         * modules/atan2f (Depends-on): Likewise.
24557         * modules/atanf (Depends-on): Likewise.
24558         * modules/cbrt (Depends-on): Likewise.
24559         * modules/cbrtf (Depends-on): Likewise.
24560         * modules/cbrtl (Depends-on): Likewise.
24561         * modules/copysignf (Depends-on): Likewise.
24562         * modules/copysignl (Depends-on): Likewise.
24563         * modules/cosf (Depends-on): Likewise.
24564         * modules/coshf (Depends-on): Likewise.
24565         * modules/expf (Depends-on): Likewise.
24566         * modules/fabsf (Depends-on): Likewise.
24567         * modules/fabsl (Depends-on): Likewise.
24568         * modules/fmaf (Depends-on): Likewise.
24569         * modules/fmal (Depends-on): Likewise.
24570         * modules/fmodf (Depends-on): Likewise.
24571         * modules/fmodl (Depends-on): Likewise.
24572         * modules/frexpf (Depends-on): Likewise.
24573         * modules/frexpl (Depends-on): Likewise.
24574         * modules/hypot (Depends-on): Likewise.
24575         * modules/hypotf (Depends-on): Likewise.
24576         * modules/hypotl (Depends-on): Likewise.
24577         * modules/ldexpf (Depends-on): Likewise.
24578         * modules/ldexpl (Depends-on): Likewise.
24579         * modules/log10f (Depends-on): Likewise.
24580         * modules/log10l (Depends-on): Likewise.
24581         * modules/log1p (Depends-on): Likewise.
24582         * modules/logb (Depends-on): Likewise.
24583         * modules/logf (Depends-on): Likewise.
24584         * modules/modff (Depends-on): Likewise.
24585         * modules/modfl (Depends-on): Likewise.
24586         * modules/powf (Depends-on): Likewise.
24587         * modules/remainderf (Depends-on): Likewise.
24588         * modules/remainderl (Depends-on): Likewise.
24589         * modules/rintf (Depends-on): Likewise.
24590         * modules/rintl (Depends-on): Likewise.
24591         * modules/sinf (Depends-on): Likewise.
24592         * modules/sinhf (Depends-on): Likewise.
24593         * modules/sqrtf (Depends-on): Likewise.
24594         * modules/tanf (Depends-on): Likewise.
24595         * modules/tanhf (Depends-on): Likewise.
24596         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24597         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24598         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24599         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24600         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24601         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24602         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24603         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24604         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24605         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24606         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24607         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24608         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24609         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24610         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24611         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24612         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24613         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24614         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24615         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24616         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24617         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24618         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24619         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24620         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24621         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24622         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24623         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24624         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24625         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24626         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24627         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24628         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24629         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24630         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24631         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24632         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24633         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24634         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24635         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24636         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24638 2012-03-06  Bruno Haible  <bruno@clisp.org>
24640         math: Update module names in warnings.
24641         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24642         tanl): Use specific module name in warn-on-use warning.
24644 2012-03-06  Bruno Haible  <bruno@clisp.org>
24646         expl: Simplify computation.
24647         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24649 2012-03-05  Bruno Haible  <bruno@clisp.org>
24651         exp* tests: More tests.
24652         * tests/test-exp.h: New file.
24653         * tests/test-exp.c: Include <float.h> and test-exp.h.
24654         (main): Invoke test_function.
24655         * tests/test-expf.c: Include <float.h> and test-exp.h.
24656         (main): Invoke test_function.
24657         * tests/test-expl.c: Include <float.h> and test-exp.h.
24658         (main): Invoke test_function.
24659         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24660         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24661         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24662         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24663         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24664         (Depends-on): Add 'float'.
24665         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24667         expl: Fix precision of computed result.
24668         * lib/expl.c: Completely rewritten.
24669         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24670         (Maintainer): Add me.
24671         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24673 2012-03-05  Bruno Haible  <bruno@clisp.org>
24675         cbrt* tests: More tests.
24676         * tests/test-cbrt.h: New file.
24677         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24678         (main): Invoke test_function.
24679         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24680         (main): Invoke test_function.
24681         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24682         (main): Invoke test_function.
24683         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24684         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24685         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24686         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24687         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24688         (Depends-on): Add 'float'.
24689         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24691 2012-03-05  Bruno Haible  <bruno@clisp.org>
24693         hypot* tests: More tests.
24694         * tests/test-hypot.h: New file, partially extracted from
24695         tests/test-hypotl.c.
24696         * tests/test-hypot.c: Include test-hypot.h.
24697         (main): Invoke test_function.
24698         * tests/test-hypotf.c: Include test-hypot.h.
24699         (main): Invoke test_function.
24700         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24701         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24702         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24703         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24704         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24705         tests/randomf.c.
24706         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24707         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24708         tests/randoml.c.
24709         (Depends-on): Add 'fpucw', 'float'.
24710         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24712 2012-03-05  Bruno Haible  <bruno@clisp.org>
24714         fpucw: Doc about FreeBSD.
24715         * lib/fpucw.h: Mention FreeBSD in comments.
24717 2012-03-04  Bruno Haible  <bruno@clisp.org>
24719         sqrt* tests: More tests.
24720         * tests/test-sqrt.h: New file.
24721         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24722         (main): Invoke test_function.
24723         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24724         (main): Invoke test_function.
24725         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24726         (main): Invoke test_function.
24727         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24728         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24729         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24730         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24731         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24732         (Depends-on): Add 'float'.
24733         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24735 2012-03-04  Bruno Haible  <bruno@clisp.org>
24737         remainder* tests: More tests.
24738         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24739         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24740         (main): Invoke test_function.
24741         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24742         (main): Invoke test_function.
24743         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24744         (main): Invoke test_function.
24745         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24746         tests/randomd.c.
24747         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24748         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24749         tests/randomf.c.
24750         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24751         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24752         tests/randoml.c.
24753         (Depends-on): Add 'float'.
24754         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24756 2012-03-04  Bruno Haible  <bruno@clisp.org>
24758         remainder, remainderf, remainderl: Fix computation for large quotients.
24759         * lib/remainder.c: Completely rewritten.
24760         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24761         USE_FLOAT.
24762         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24763         USE_LONG_DOUBLE.
24764         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24765         isnand, isinf. Remove round, fma.
24766         * modules/remainderf (Files): Add lib/remainder.c.
24767         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24768         Remove roundf, fmaf.
24769         * modules/remainderl (Files): Add lib/remainder.c.
24770         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24771         isinf. Remove roundl, fmal.
24772         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24773         REMAINDER_LIBM.
24774         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24775         REMAINDERF_LIBM.
24776         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24777         REMAINDERL_LIBM.
24779 2012-03-04  Bruno Haible  <bruno@clisp.org>
24781         fmod* tests: More tests.
24782         * tests/test-fmod.h (my_ldexp): New function.
24783         (test_function): Reduce amount of random numbers to test. Add tests
24784         of very large quotients x / y.
24785         * tests/test-fmod.c (MAX_EXP): New macro.
24786         * tests/test-fmodf.c (MAX_EXP): Likewise.
24787         * tests/test-fmodl.c (MAX_EXP): Likewise.
24789 2012-03-04  Bruno Haible  <bruno@clisp.org>
24791         fmod, fmodl: Fix computation for large quotients x / y.
24792         * lib/fmod.c: Completely rewritten.
24793         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24794         USE_LONG_DOUBLE.
24795         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24796         isnand. Remove fma.
24797         * modules/fmodl (Files): Add lib/fmod.c.
24798         (Depends-on): Add float, isfinite, signbit, fabsl,
24799         frexpl, ldexpl, isnanl. Remove fma.
24800         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24801         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24803 2012-03-03  Bruno Haible  <bruno@clisp.org>
24805         fmod* tests: More tests.
24806         * tests/test-fmod.h: New file.
24807         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24808         (main): Invoke test_function.
24809         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24810         (main): Invoke test_function.
24811         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24812         (main): Invoke test_function.
24813         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24814         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24815         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24816         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24817         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24818         (Depends-on): Add 'float'.
24819         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24821 2012-03-03  Bruno Haible  <bruno@clisp.org>
24823         rint* tests: More tests.
24824         * tests/test-rint.h: New file, partially extracted from
24825         tests/test-rintl.c.
24826         * tests/test-rint.c: Include test-rint.h.
24827         (main): Invoke test_function.
24828         * tests/test-rintf.c: Include test-rint.h.
24829         (main): Invoke test_function.
24830         * tests/test-rintl.c: Include test-rint.h.
24831         (main): Invoke test_function.
24832         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24833         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24834         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24835         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24836         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24837         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24839 2012-03-03  Bruno Haible  <bruno@clisp.org>
24841         modf* tests: More tests.
24842         * tests/test-modf.h: New file.
24843         * tests/test-modf.c: Include <float.h> and test-modf.h.
24844         (main): Invoke test_function.
24845         * tests/test-modff.c: Include <float.h> and test-modf.h.
24846         (main): Invoke test_function.
24847         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24848         (main): Invoke test_function.
24849         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24850         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24851         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24852         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24853         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24854         (Depends-on): Add 'float'.
24855         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24857 2012-03-03  Bruno Haible  <bruno@clisp.org>
24859         fabs* tests: More tests.
24860         * tests/test-fabs.h: New file, partially extracted from
24861         tests/test-fabsl.c.
24862         * tests/test-fabs.c (RANDOM): New macro.
24863         * tests/test-fabsf.c (RANDOM): New macro.
24864         * tests/test-fabsl.c (RANDOM): New macro.
24865         * modules/fabs-tests (Files): Add tests/randomd.c.
24866         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24867         * modules/fabsf-tests (Files): Add tests/randomf.c.
24868         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24869         * modules/fabsl-tests (Files): Add tests/randoml.c.
24870         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24872 2012-03-03  Bruno Haible  <bruno@clisp.org>
24874         ldexp* tests: More tests.
24875         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24876         * tests/test-ldexp.c (RANDOM): New macro.
24877         * tests/test-ldexpf.c (RANDOM): New macro.
24878         * tests/test-ldexpl.c (RANDOM): New macro.
24879         * modules/ldexp-tests (Files): Add tests/randomd.c.
24880         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24881         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24882         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24883         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24884         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24886 2012-03-03  Bruno Haible  <bruno@clisp.org>
24888         frexp* tests: More tests.
24889         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24890         * tests/test-frexp.c (RANDOM): New macro.
24891         * tests/test-frexpf.c (RANDOM): New macro.
24892         * tests/test-frexpl.c (RANDOM): New macro.
24893         * modules/frexp-tests (Files): Add tests/randomd.c.
24894         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24895         * modules/frexpf-tests (Files): Add tests/randomf.c.
24896         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24897         * modules/frexpl-tests (Files): Add tests/randoml.c.
24898         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24900 2012-03-03  Bruno Haible  <bruno@clisp.org>
24902         Support for pseudo-random numbers in tests.
24903         * tests/randomf.c: New file.
24904         * tests/randomd.c: New file.
24905         * tests/randoml.c: New file.
24906         * tests/macros.h (randomf, randomd, randoml): New declarations.
24908 2012-03-03  Bruno Haible  <bruno@clisp.org>
24910         frexp* tests: Refactor.
24911         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24912         * tests/test-frexp.c: Include and use it.
24913         * tests/test-frexpf.c: Likewise.
24914         * tests/test-frexpl.c: Likewise.
24915         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24916         * modules/frexpf-tests (Files): Likewise.
24917         * modules/frexpl-tests (Files): Likewise.
24919 2012-03-02  Jim Meyering  <meyering@redhat.com>
24921         maint: don't specify XZ_OPT=-9ev in dist-related rule
24922         Using xz's -9 option is warranted only if you have a very large
24923         tarball (see xz's documentation for the sizes vs. presets), and
24924         requires 64MiB of memory at decompression time.
24925         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24926         Automake's default of just "-e" is fine.  Override on a
24927         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24929 2012-03-01  Eric Blake  <eblake@redhat.com>
24931         maint.mk: allow announcement for non-gnulib project
24932         * maint.mk (announcement): Skip gnulib version if not used.
24934 2012-03-01  Jim Meyering  <meyering@redhat.com>
24936         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24937         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24938         envvar settings cannot interfere.  Otherwise, setting envvars like
24939         prohibit=foo require=bar, etc. would cause spurious test failures.
24941 2012-03-01  Eric Blake  <eblake@redhat.com>
24943         maint.mk: add per-line exclusions to prohibitions
24944         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24945         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24946         (sc_const_long_option): Use it.
24948 2012-03-01  Bruno Haible  <bruno@clisp.org>
24950         Tests for module 'expl-ieee'.
24951         * modules/expl-ieee-tests: New file.
24952         * tests/test-expl-ieee.c: New file.
24954         New module 'expl-ieee'.
24955         * modules/expl-ieee: New file.
24957         Tests for module 'exp-ieee'.
24958         * modules/exp-ieee-tests: New file.
24959         * tests/test-exp-ieee.c: New file.
24961         New module 'exp-ieee'.
24962         * modules/exp-ieee: New file.
24964         Tests for module 'expf-ieee'.
24965         * modules/expf-ieee-tests: New file.
24966         * tests/test-expf-ieee.c: New file.
24967         * tests/test-exp-ieee.h: New file.
24969         New module 'expf-ieee'.
24970         * modules/expf-ieee: New file.
24972 2012-02-29  Bruno Haible  <bruno@clisp.org>
24974         cbrtl-ieee: Work around test failure on IRIX 6.5.
24975         * m4/cbrtl-ieee.m4: New file.
24976         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24977         test whether cbrtl works with a minus zero argument. Replace it if not.
24978         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24979         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24980         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24981         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24982         (Depends-on): Update conditions.
24983         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24984         m4/signbit.m4.
24985         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24986         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24987         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24989         Tests for module 'cbrtl-ieee'.
24990         * modules/cbrtl-ieee-tests: New file.
24991         * tests/test-cbrtl-ieee.c: New file.
24993         New module 'cbrtl-ieee'.
24994         * modules/cbrtl-ieee: New file.
24996         Tests for module 'cbrt-ieee'.
24997         * modules/cbrt-ieee-tests: New file.
24998         * tests/test-cbrt-ieee.c: New file.
25000         New module 'cbrt-ieee'.
25001         * modules/cbrt-ieee: New file.
25003         Tests for module 'cbrtf-ieee'.
25004         * modules/cbrtf-ieee-tests: New file.
25005         * tests/test-cbrtf-ieee.c: New file.
25006         * tests/test-cbrt-ieee.h: New file.
25008         New module 'cbrtf-ieee'.
25009         * modules/cbrtf-ieee: New file.
25011 2012-02-29  Bruno Haible  <bruno@clisp.org>
25013         cbrtf: Work around bug in IRIX 6.5 system function.
25014         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
25015         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
25016         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
25017         work.
25018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
25019         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
25020         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
25021         (Depends-on): Update conditions.
25022         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
25024 2012-02-29  Bruno Haible  <bruno@clisp.org>
25026         Tests for module 'cbrtl'.
25027         * modules/cbrtl-tests: New file.
25028         * tests/test-cbrtl.c: New file.
25030         New module 'cbrtl'.
25031         * lib/math.in.h (cbrtl): New declaration.
25032         * lib/cbrtl.c: New file.
25033         * m4/cbrtl.m4: New file.
25034         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
25035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
25036         HAVE_DECL_CBRTL.
25037         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
25038         HAVE_DECL_CBRTL.
25039         * modules/cbrtl: New file.
25040         * tests/test-math-c++.cc: Check the declaration of cbrtl.
25041         * doc/posix-functions/cbrtl.texi: Mention the new module.
25043 2012-02-29  Bruno Haible  <bruno@clisp.org>
25045         Tests for module 'cbrtf'.
25046         * modules/cbrtf-tests: New file.
25047         * tests/test-cbrtf.c: New file.
25049         New module 'cbrtf'.
25050         * lib/math.in.h (cbrtf): New declaration.
25051         * lib/cbrtf.c: New file.
25052         * m4/cbrtf.m4: New file.
25053         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
25054         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
25055         HAVE_DECL_CBRTF.
25056         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
25057         HAVE_DECL_CBRTF.
25058         * modules/cbrtf: New file.
25059         * tests/test-math-c++.cc: Check the declaration of cbrtf.
25060         * doc/posix-functions/cbrtf.texi: Mention the new module.
25062 2012-02-29  Bruno Haible  <bruno@clisp.org>
25064         cbrt: Provide replacement on MSVC and Minix.
25065         * lib/math.in.h (cbrt): New declaration.
25066         * lib/cbrt.c: New file.
25067         * m4/cbrt.m4: New file.
25068         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
25069         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
25070         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
25071         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
25072         (Depends-on): Add dependencies.
25073         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
25074         * tests/test-math-c++.cc: Check the declaration of cbrt.
25075         * doc/posix-functions/cbrt.texi: Mention that the module provides a
25076         replacement.
25078 2012-02-29  Bruno Haible  <bruno@clisp.org>
25080         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
25081         * m4/hypotl-ieee.m4: New file.
25082         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
25083         test whether hypotl works with mixed NaN and Infinity arguments.
25084         Replace it if not.
25085         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
25086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
25087         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
25088         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
25089         (Depends-on): Update conditions.
25090         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
25091         (Depends-on): Add hypot-ieee.
25092         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
25093         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
25095         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
25096         * m4/hypotf-ieee.m4: New file.
25097         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
25098         test whether hypotf works with mixed NaN and Infinity arguments.
25099         Replace it if not.
25100         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
25101         (Depends-on): Add hypot-ieee.
25102         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
25103         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
25105         hypot-ieee: Work around test failure on OSF/1 and native Windows.
25106         * lib/math.in.h (hypot): New declaration.
25107         * lib/hypot.c: New file.
25108         * m4/hypot-ieee.m4: New file.
25109         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
25110         whether hypot works with mixed NaN and Infinity arguments. Replace it
25111         if not.
25112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
25113         REPLACE_HYPOT.
25114         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
25115         * modules/hypot (Files): Add lib/hypot.c.
25116         (Depends-on): Add dependencies.
25117         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
25118         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
25119         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
25120         * tests/test-math-c++.cc: Check the declaration of hypot.
25121         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
25123         Tests for module 'hypotl-ieee'.
25124         * modules/hypotl-ieee-tests: New file.
25125         * tests/test-hypotl-ieee.c: New file.
25127         New module 'hypotl-ieee'.
25128         * modules/hypotl-ieee: New file.
25130         Tests for module 'hypot-ieee'.
25131         * modules/hypot-ieee-tests: New file.
25132         * tests/test-hypot-ieee.c: New file.
25134         New module 'hypot-ieee'.
25135         * modules/hypot-ieee: New file.
25137         Tests for module 'hypotf-ieee'.
25138         * modules/hypotf-ieee-tests: New file.
25139         * tests/test-hypotf-ieee.c: New file.
25140         * tests/test-hypot-ieee.h: New file.
25142         New module 'hypotf-ieee'.
25143         * modules/hypotf-ieee: New file.
25145 2012-02-29  Bruno Haible  <bruno@clisp.org>
25147         Remove unused variables.
25148         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
25149         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25150         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
25151         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25153 2012-02-29  Eric Blake  <eblake@redhat.com>
25155         termios: fix pid_t always, not just for tcgetsid
25156         * doc/posix-headers/termios.texi (termios.h): Mention problem.
25157         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
25158         just when building tcgetsid.
25160 2012-02-29  Bruno Haible  <bruno@clisp.org>
25162         Tests for module 'hypotl'.
25163         * modules/hypotl-tests: New file.
25164         * tests/test-hypotl.c: New file.
25166         New module 'hypotl'.
25167         * lib/math.in.h (hypotl): New declaration.
25168         * lib/hypotl.c: New file.
25169         * m4/hypotl.m4: New file.
25170         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
25172         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
25173         * modules/hypotl: New file.
25174         * tests/test-math-c++.cc: Check the hypotl declaration.
25175         * doc/posix-functions/hypotl.texi: Mention the new module.
25177 2012-02-29  Eric Blake  <eblake@redhat.com>
25179         tcgetsid: fix cygwin header bug
25180         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
25182         docs: update cygwin progress
25183         * doc/posix-functions/llround.texi (llround): Added in cygwin
25184         1.7.8.
25185         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
25186         * doc/glibc-functions/program_invocation_name.texi
25187         (program_invocation_name): Likewise.
25188         * doc/glibc-functions/program_invocation_short_name.texi
25189         (program_invocation_short_name): Likewise.
25190         * doc/glibc-functions/madvise.texi (madvise): Likewise.
25191         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
25192         Likewise.
25193         * doc/posix-functions/pthread_spin_destroy.texi
25194         (pthread_spin_destroy): Added in cygwin 1.7.10.
25195         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
25196         Likewise.
25197         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
25198         Likewise.
25199         * doc/posix-functions/pthread_spin_trylock.texi
25200         (pthread_spin_trylock): Likewise.
25201         * doc/posix-functions/pthread_spin_unlock.texi
25202         (pthread_spin_unlock): Likewise.
25203         * doc/posix-functions/pthread_setschedprio.texi
25204         (pthread_setschedprio): Likewise.
25205         * doc/posix-functions/pthread_attr_getstack.texi
25206         (pthread_attr_getstack): Likewise.
25207         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
25208         (pthread_attr_getstackaddr): Likewise.
25209         * doc/glibc-functions/pthread_getattr_np.texi
25210         (pthread_getattr_np): Likewise.
25211         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
25212         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
25213         * doc/posix-functions/clock_settime.texi (clock_settime):
25214         Likewise.
25215         * doc/posix-functions/pthread_attr_getguardsize.texi
25216         (pthread_attr_getguardsize): Likewise.
25217         * doc/posix-functions/pthread_attr_setguardsize.texi
25218         (pthread_attr_setguardsize): Likewise.
25219         * doc/posix-functions/pthread_attr_setstack.texi
25220         (pthread_attr_setstack): Likewise.
25221         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
25222         (pthread_attr_setstackaddr): Likewise.
25223         * doc/posix-functions/clock_getcpuclockid.texi
25224         (clock_getcpuclockid): Likewise.
25225         * doc/posix-functions/pthread_getcpuclockid.texi
25226         (pthread_getcpuclockid): Likewise.
25227         * doc/glibc-functions/error.texi (error): Likewise.
25228         * doc/glibc-functions/error_at_line.texi (error_at_line):
25229         Likewise.
25230         * doc/glibc-functions/error_message_count.texi
25231         (error_message_count): Likewise.
25232         * doc/glibc-functions/error_one_per_line.texi
25233         (error_one_per_line): Likewise.
25234         * doc/glibc-functions/error_print_progname.texi
25235         (error_print_progname): Likewise.
25236         * doc/posix-functions/pthread_condattr_getclock.texi
25237         (pthread_condattr_getclock): Likewise.
25238         * doc/posix-functions/pthread_condattr_setclock.texi
25239         (pthread_condattr_setclock): Likewise.
25240         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
25241         Likewise.
25242         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
25243         * doc/glibc-functions/getpt.texi (getpt): Likewise.
25244         * doc/glibc-functions/get_current_dir_name.texi
25245         (get_current_dir_name): Likewise.
25246         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
25247         Likewise.
25248         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
25249         wrong return type.
25250         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
25251         1.7.11.
25253 2012-02-29  Bruno Haible  <bruno@clisp.org>
25255         Tests for module 'hypotf'.
25256         * modules/hypotf-tests: New file.
25257         * tests/test-hypotf.c: New file.
25259         New module 'hypotf'.
25260         * lib/math.in.h (hypotf): New declaration.
25261         * lib/hypotf.c: New file.
25262         * m4/hypotf.m4: New file.
25263         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25264         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
25265         REPLACE_HYPOTF.
25266         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
25267         REPLACE_HYPOTF.
25268         * modules/hypotf: New file.
25269         * tests/test-math-c++.cc: Check the hypotf declaration.
25270         * doc/posix-functions/hypotf.texi: Mention the new module.
25272         hypot: Prepare for hypotf module.
25273         * m4/hypot.m4: New file.
25274         * modules/hypot (Files): Add m4/hypot.m4.
25275         (configure.ac): Invoke gl_FUNC_HYPOT.
25277 2012-02-29  Bruno Haible  <bruno@clisp.org>
25279         hypot tests: More tests.
25280         * tests/test-hypot.c: Include <float.h>.
25281         (main): Add tests about overflow and underflow.
25283 2012-02-29  Bruno Haible  <bruno@clisp.org>
25285         math code: Add comments.
25286         * lib/acosl.c: Add comment about related glibc source files.
25287         * lib/asinl.c: Likewise.
25288         * lib/atanl.c: Likewise.
25289         * lib/expl.c: Likewise.
25290         * lib/logl.c: Likewise.
25291         * lib/sincosl.c: Likewise.
25292         * lib/sinl.c: Likewise.
25293         * lib/tanl.c: Likewise.
25294         * lib/trigl.c: Likewise.
25295         * lib/cosl.c: Likewise. Fix comments.
25297 2012-02-28  Bruno Haible  <bruno@clisp.org>
25299         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
25300         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
25301         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
25302         HUGE_VALL are defined.
25303         (numeric_equald): Renamed from numeric_equal.
25304         (numeric_equalf, numeric_equall): New functions.
25305         (main): Check also HUGE_VALF, HUGE_VALL.
25306         * modules/math-tests (Files): Add tests/macros.h.
25307         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
25308         HUGE_VALL.
25310 2012-02-28  Bruno Haible  <bruno@clisp.org>
25312         doc: Move ISO C11 feature notes into POSIX chapters.
25313         * doc/posix-functions/aligned_alloc.texi: Renamed from
25314         doc/glibc-functions/aligned_alloc.texi.
25315         * doc/posix-functions/quick_exit.texi: Renamed from
25316         doc/glibc-functions/quick_exit.texi.
25317         * doc/posix-headers/uchar.texi: Renamed from
25318         doc/glibc-headers/uchar.texi.
25319         * doc/posix-functions/c16rtomb.texi: Renamed from
25320         doc/glibc-functions/c16rtomb.texi.
25321         * doc/posix-functions/c32rtomb.texi: Renamed from
25322         doc/glibc-functions/c32rtomb.texi.
25323         * doc/posix-functions/mbrtoc16.texi: Renamed from
25324         doc/glibc-functions/mbrtoc16.texi.
25325         * doc/posix-functions/mbrtoc32.texi: Renamed from
25326         doc/glibc-functions/mbrtoc32.texi.
25327         * doc/gnulib.texi: Update.
25328         (Glibc uchar.h): Remove section.
25329         Suggested by Eric Blake.
25331 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
25333         stdnoreturn: port to MSVC better
25334         MSVC standard headers use __declspec(noreturn), so #define noreturn
25335         to empty on that platform.  Reported by Bruno Haible in
25336         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
25337         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
25338         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
25340 2012-02-28  Bruno Haible  <bruno@clisp.org>
25342         doc: Mention new glibc headers and functions.
25343         * doc/glibc-headers/uchar.texi: New file.
25344         * doc/glibc-functions/aligned_alloc.texi: New file.
25345         * doc/glibc-functions/c16rtomb.texi: New file.
25346         * doc/glibc-functions/c32rtomb.texi: New file.
25347         * doc/glibc-functions/clock_adjtime.texi: New file.
25348         * doc/glibc-functions/fanotify_init.texi: New file.
25349         * doc/glibc-functions/fanotify_mark.texi: New file.
25350         * doc/glibc-functions/inet6_opt_append.texi: New file.
25351         * doc/glibc-functions/inet6_opt_find.texi: New file.
25352         * doc/glibc-functions/inet6_opt_finish.texi: New file.
25353         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
25354         * doc/glibc-functions/inet6_opt_init.texi: New file.
25355         * doc/glibc-functions/inet6_opt_next.texi: New file.
25356         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
25357         * doc/glibc-functions/inet6_rth_add.texi: New file.
25358         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
25359         * doc/glibc-functions/inet6_rth_init.texi: New file.
25360         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
25361         * doc/glibc-functions/inet6_rth_segments.texi: New file.
25362         * doc/glibc-functions/inet6_rth_space.texi: New file.
25363         * doc/glibc-functions/login.texi: New file.
25364         * doc/glibc-functions/mbrtoc16.texi: New file.
25365         * doc/glibc-functions/mbrtoc32.texi: New file.
25366         * doc/glibc-functions/name_to_handle_at.texi: New file.
25367         * doc/glibc-functions/ntp_gettimex.texi: New file.
25368         * doc/glibc-functions/open_by_handle_at.texi: New file.
25369         * doc/glibc-functions/prlimit.texi: New file.
25370         * doc/glibc-functions/process_vm_readv.texi: New file.
25371         * doc/glibc-functions/process_vm_writev.texi: New file.
25372         * doc/glibc-functions/recvmmsg.texi: New file.
25373         * doc/glibc-functions/scandirat.texi: New file.
25374         * doc/glibc-functions/sendmmsg.texi: New file.
25375         * doc/glibc-functions/setns.texi: New file.
25376         * doc/glibc-functions/timespec_get.texi: New file.
25377         * doc/gnulib.texi: Include them.
25378         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
25379         sections.
25380         Reported by Eric Blake.
25382 2012-02-28  Bruno Haible  <bruno@clisp.org>
25384         Avoid compilation errors with MSVC option -fp:strict.
25385         * lib/floor.c: Use MSVC specific pragma fenv_access.
25386         * lib/ceil.c: Likewise.
25387         * lib/trunc.c: Likewise.
25388         * lib/round.c: Likewise.
25389         * lib/rint.c: Likewise.
25390         * lib/fma.c: Likewise.
25391         * lib/integer_length.c: Likewise.
25392         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25393         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25394         * tests/test-floor2.c: Likewise.
25395         * tests/test-floorf2.c: Likewise.
25396         * tests/test-ceil2.c: Likewise.
25397         * tests/test-ceilf2.c: Likewise.
25398         * tests/test-trunc2.c: Likewise.
25399         * tests/test-truncf2.c: Likewise.
25400         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
25402 2012-02-27  Bruno Haible  <bruno@clisp.org>
25404         Tests for module 'sqrtl-ieee'.
25405         * modules/sqrtl-ieee-tests: New file.
25406         * tests/test-sqrtl-ieee.c: New file.
25408         New module 'sqrtl-ieee'.
25409         * modules/sqrtl-ieee: New file.
25411         Tests for module 'sqrt-ieee'.
25412         * modules/sqrt-ieee-tests: New file.
25413         * tests/test-sqrt-ieee.c: New file.
25415         New module 'sqrt-ieee'.
25416         * modules/sqrt-ieee: New file.
25418         Tests for module 'sqrtf-ieee'.
25419         * modules/sqrtf-ieee-tests: New file.
25420         * tests/test-sqrtf-ieee.c: New file.
25421         * tests/test-sqrt-ieee.h: New file.
25423         New module 'sqrtf-ieee'.
25424         * modules/sqrtf-ieee: New file.
25426 2012-02-27  Bruno Haible  <bruno@clisp.org>
25428         remainderl-ieee: Work around test failure on OSF/1.
25429         * m4/remainderl-ieee.m4: New file.
25430         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
25431         present, test whether remainderl works with a zero second argument.
25432         Replace it if not.
25433         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
25434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
25435         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
25436         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
25437         (Depends-on): Update conditions.
25438         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
25439         (Depends-on): Add remainder-ieee.
25440         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
25441         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
25442         module.
25444         remainderf-ieee: Work around test failure on OSF/1.
25445         * m4/remainderf-ieee.m4: New file.
25446         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
25447         present, test whether remainderf works with a zero second argument.
25448         Replace it if not.
25449         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
25450         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
25451         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
25452         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
25453         (Depends-on): Update conditions.
25454         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
25455         (Depends-on): Add remainder-ieee.
25456         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
25457         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
25458         module.
25460         remainder-ieee: Work around test failure on OSF/1.
25461         * m4/remainder-ieee.m4: New file.
25462         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
25463         present, test whether remainder works with a zero second argument.
25464         Replace it if not.
25465         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
25466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
25467         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
25468         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
25469         (Depends-on): Update dependencies.
25470         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25471         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25472         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25474         Tests for module 'remainderl-ieee'.
25475         * modules/remainderl-ieee-tests: New file.
25476         * tests/test-remainderl-ieee.c: New file.
25478         New module 'remainderl-ieee'.
25479         * modules/remainderl-ieee: New file.
25481         Tests for module 'remainder-ieee'.
25482         * modules/remainder-ieee-tests: New file.
25483         * tests/test-remainder-ieee.c: New file.
25485         New module 'remainder-ieee'.
25486         * modules/remainder-ieee: New file.
25488         Tests for module 'remainderf-ieee'.
25489         * modules/remainderf-ieee-tests: New file.
25490         * tests/test-remainderf-ieee.c: New file.
25491         * tests/test-remainder-ieee.h: New file.
25493         New module 'remainderf-ieee'.
25494         * modules/remainderf-ieee: New file.
25496 2012-02-27  Bruno Haible  <bruno@clisp.org>
25498         modff, modfl: Fix configure syntax error.
25499         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25500         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25502 2012-02-27  Bruno Haible  <bruno@clisp.org>
25504         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25505         * m4/fmodl-ieee.m4: New file.
25506         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25507         whether fmodl works with zero arguments. Replace it if not.
25508         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25509         (Depends-on): Add fmod-ieee.
25510         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25511         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25513         fmodf-ieee: Work around test failure on OSF/1.
25514         * m4/fmodf-ieee.m4: New file.
25515         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25516         whether fmodf works with zero arguments. Replace it if not.
25517         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25519         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25520         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25521         (Depends-on): Update dependencies.
25522         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25523         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25524         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25526         fmodf-ieee: Work around test failure on MSVC 9.
25527         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25528         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25530         fmod-ieee: Work around test failures on OSF/1, mingw.
25531         * m4/fmod-ieee.m4: New file.
25532         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25533         whether fmod works with zero arguments. Replace it if not.
25534         * lib/math.in.h (fmod): New declaration.
25535         * lib/fmod.c: New file.
25536         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25538         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25539         * modules/fmod (Files): Add lib/fmod.c.
25540         (Depends-on): Add math, isinf, trunc, fma.
25541         (configure.ac): Arrange to compile lib/fmod.c if needed.
25542         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25543         m4/signbit.m4.
25544         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25545         * tests/test-math-c++.cc: Check the declaration of fmod.
25546         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25548         fmodl-ieee: Fix test failures.
25549         * lib/fmodl.c (fmodl): Treat Inf specially.
25550         * modules/fmodl (Depends-on): Add isinf.
25552         Tests for module 'fmodl-ieee'.
25553         * modules/fmodl-ieee-tests: New file.
25554         * tests/test-fmodl-ieee.c: New file.
25556         New module 'fmodl-ieee'.
25557         * modules/fmodl-ieee: New file.
25559         Tests for module 'fmod-ieee'.
25560         * modules/fmod-ieee-tests: New file.
25561         * tests/test-fmod-ieee.c: New file.
25563         New module 'fmod-ieee'.
25564         * modules/fmod-ieee: New file.
25566         Tests for module 'fmodf-ieee'.
25567         * modules/fmodf-ieee-tests: New file.
25568         * tests/test-fmodf-ieee.c: New file.
25569         * tests/test-fmod-ieee.h: New file.
25571         New module 'fmodf-ieee'.
25572         * modules/fmodf-ieee: New file.
25574 2012-02-27  Bruno Haible  <bruno@clisp.org>
25576         Tests for module 'rintl-ieee'.
25577         * modules/rintl-ieee-tests: New file.
25578         * tests/test-rintl-ieee.c: New file.
25580         New module 'rintl-ieee'.
25581         * modules/rintl-ieee: New file.
25583         Tests for module 'rint-ieee'.
25584         * modules/rint-ieee-tests: New file.
25585         * tests/test-rint-ieee.c: New file.
25587         New module 'rint-ieee'.
25588         * modules/rint-ieee: New file.
25590         Tests for module 'rintf-ieee'.
25591         * modules/rintf-ieee-tests: New file.
25592         * tests/test-rintf-ieee.c: New file.
25593         * tests/test-rint-ieee.h: New file.
25595         New module 'rintf-ieee'.
25596         * modules/rintf-ieee: New file.
25598 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25600         regex: re_search etc. should return -2 when memory exhausted
25601         This bug was uncovered when testing 'grep'.  Without the fix,
25602         re_search and friends return -1 when memory is exhausted, but -1
25603         means no match, and this causes grep to falsely report no-match
25604         instead of memory-exhaustion.  See
25605         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25606         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25607         trouble; this can occur if re_search_internal ran out of memory.
25609 2012-02-26  Bruno Haible  <bruno@clisp.org>
25611         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25612         * m4/modfl-ieee.m4: New file.
25613         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25614         whether modfl works with Inf. Replace it if not.
25615         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25617         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25618         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25619         (Depends-on): Update dependencies.
25620         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25621         m4/signbit.m4.
25622         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25623         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25625         modfl-ieee: Fix dependencies.
25626         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25628         modfl-ieee: Fix test failures.
25629         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25630         * modules/modfl (Depends-on): Add isfinite, isinf.
25632         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25633         * m4/modff-ieee.m4: New file.
25634         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25635         whether modff works with NaN and Inf. Replace it if not.
25636         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25638         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25639         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25640         (Depends-on): Update dependencies.
25641         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25642         m4/signbit.m4.
25643         (Depends-on): Add modf-ieee.
25644         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25645         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25647         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25648         * m4/modf-ieee.m4: New file.
25649         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25650         whether modf works with NaN and Inf. Replace it if not.
25651         * lib/math.in.h (modf): New declaration.
25652         * lib/modf.c: New file.
25653         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25654         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25655         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25656         * modules/modf (Files): Add lib/modf.c.
25657         (Depends-on): Add math, isfinite, trunc, isinf.
25658         (configure.ac): Addrange to compile lib/modf.c if needed.
25659         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25660         m4/signbit.m4.
25661         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25662         * tests/test-math-c++.cc: Check the declaration of modf.
25663         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25665         Tests for module 'modfl-ieee'.
25666         * modules/modfl-ieee-tests: New file.
25667         * tests/test-modfl-ieee.c: New file.
25669         New module 'modfl-ieee'.
25670         * modules/modfl-ieee: New file.
25672         Tests for module 'modf-ieee'.
25673         * modules/modf-ieee-tests: New file.
25674         * tests/test-modf-ieee.c: New file.
25676         New module 'modf-ieee'.
25677         * modules/modf-ieee: New file.
25679         Tests for module 'modff-ieee'.
25680         * modules/modff-ieee-tests: New file.
25681         * tests/test-modff-ieee.c: New file.
25682         * tests/test-modf-ieee.h: New file.
25684         New module 'modff-ieee'.
25685         * modules/modff-ieee: New file.
25687 2012-02-26  Bruno Haible  <bruno@clisp.org>
25689         Tests for module 'fabsl-ieee'.
25690         * modules/fabsl-ieee-tests: New file.
25691         * tests/test-fabsl-ieee.c: New file.
25693         New module 'fabsl-ieee'.
25694         * modules/fabsl-ieee: New file.
25696         Tests for module 'fabs-ieee'.
25697         * modules/fabs-ieee-tests: New file.
25698         * tests/test-fabs-ieee.c: New file.
25700         New module 'fabs-ieee'.
25701         * modules/fabs-ieee: New file.
25703         Tests for module 'fabsf-ieee'.
25704         * modules/fabsf-ieee-tests: New file.
25705         * tests/test-fabsf-ieee.c: New file.
25706         * tests/test-fabs-ieee.h: New file.
25708         New module 'fabsf-ieee'.
25709         * modules/fabsf-ieee: New file.
25711 2012-02-26  Bruno Haible  <bruno@clisp.org>
25713         Tests for module 'fmal-ieee'.
25714         * modules/fmal-ieee-tests: New file.
25715         * tests/test-fmal-ieee.c: New file.
25717         New module 'fmal-ieee'.
25718         * modules/fmal-ieee: New file.
25720         Tests for module 'fma-ieee'.
25721         * modules/fma-ieee-tests: New file.
25722         * tests/test-fma-ieee.c: New file.
25724         New module 'fma-ieee'.
25725         * modules/fma-ieee: New file.
25727         Tests for module 'fmaf-ieee'.
25728         * modules/fmaf-ieee-tests: New file.
25729         * tests/test-fmaf-ieee.c: New file.
25730         * tests/test-fma-ieee.h: New file.
25732         New module 'fmaf-ieee'.
25733         * modules/fmaf-ieee: New file.
25735 2012-02-26  Bruno Haible  <bruno@clisp.org>
25737         Tests for module 'ldexpl-ieee'.
25738         * modules/ldexpl-ieee-tests: New file.
25739         * tests/test-ldexpl-ieee.c: New file.
25741         New module 'ldexpl-ieee'.
25742         * modules/ldexpl-ieee: New file.
25744         Tests for module 'ldexp-ieee'.
25745         * modules/ldexp-ieee-tests: New file.
25746         * tests/test-ldexp-ieee.c: New file.
25748         New module 'ldexp-ieee'.
25749         * modules/ldexp-ieee: New file.
25751         Tests for module 'ldexpf-ieee'.
25752         * modules/ldexpf-ieee-tests: New file.
25753         * tests/test-ldexpf-ieee.c: New file.
25754         * tests/test-ldexp-ieee.h: New file.
25756         New module 'ldexpf-ieee'.
25757         * modules/ldexpf-ieee: New file.
25759 2012-02-26  Bruno Haible  <bruno@clisp.org>
25761         Refactor frexp*-ieee tests.
25762         * tests/test-frexp-ieee.h: New file.
25763         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25764         (main): Just call test_function.
25765         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25766         (main): Just call test_function.
25767         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25768         (main): Just call test_function.
25769         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25770         * modules/frexp-ieee-tests (Files): Likewise.
25771         * modules/frexpl-ieee-tests (Files): Likewise.
25773         Tests for module 'frexpl-ieee'.
25774         * modules/frexpl-ieee-tests: New file.
25775         * tests/test-frexpl-ieee.c: New file.
25777         New module 'frexpl-ieee'.
25778         * modules/frexpl-ieee: New file.
25780         Tests for module 'frexp-ieee'.
25781         * modules/frexp-ieee-tests: New file.
25782         * tests/test-frexp-ieee.c: New file.
25784         New module 'frexp-ieee'.
25785         * modules/frexp-ieee: New file.
25787         Tests for module 'frexpf-ieee'.
25788         * modules/frexpf-ieee-tests: New file.
25789         * tests/test-frexpf-ieee.c: New file.
25791         New module 'frexpf-ieee'.
25792         * modules/frexpf-ieee: New file.
25794 2012-02-26  Bruno Haible  <bruno@clisp.org>
25796         roundl-ieee tests: More tests.
25797         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25798         (main): Add tests for [MX] shaded specification in POSIX.
25799         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25800         (Depends-on): Add isnanl-nolibm.
25802         round-ieee tests: More tests.
25803         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25804         (main): Add tests for [MX] shaded specification in POSIX.
25805         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25806         (Depends-on): Add isnand-nolibm.
25808         roundf-ieee tests: More tests.
25809         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25810         (main): Add tests for [MX] shaded specification in POSIX.
25811         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25812         (Depends-on): Add isnanf-nolibm.
25814         truncl-ieee tests: More tests.
25815         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25816         (main): Add tests for [MX] shaded specification in POSIX.
25817         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25818         (Depends-on): Add isnanl-nolibm.
25820         trunc-ieee tests: More tests.
25821         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25822         (main): Add tests for [MX] shaded specification in POSIX.
25823         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25824         (Depends-on): Add isnand-nolibm.
25826         truncf-ieee tests: More tests.
25827         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25828         (main): Add tests for [MX] shaded specification in POSIX.
25829         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25830         (Depends-on): Add isnanf-nolibm.
25832         ceill-ieee tests: More tests.
25833         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25834         (main): Add tests for [MX] shaded specification in POSIX.
25835         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25836         (Depends-on): Add isnanl-nolibm.
25838         ceil-ieee tests: More tests.
25839         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25840         (main): Add tests for [MX] shaded specification in POSIX.
25841         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25842         (Depends-on): Add isnand-nolibm.
25844         ceilf-ieee tests: More tests.
25845         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25846         (main): Add tests for [MX] shaded specification in POSIX.
25847         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25848         (Depends-on): Add isnanf-nolibm.
25850         floorl-ieee tests: More tests.
25851         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25852         (main): Add tests for [MX] shaded specification in POSIX.
25853         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25854         (Depends-on): Add isnanl-nolibm.
25856         floor-ieee tests: More tests.
25857         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25858         (main): Add tests for [MX] shaded specification in POSIX.
25859         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25860         (Depends-on): Add isnand-nolibm.
25862         floorf-ieee tests: More tests.
25863         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25864         (main): Add tests for [MX] shaded specification in POSIX.
25865         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25866         (Depends-on): Add isnanf-nolibm.
25868 2012-02-26  Bruno Haible  <bruno@clisp.org>
25870         fpieee: More comments.
25871         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25873 2012-02-25  Bruno Haible  <bruno@clisp.org>
25875         Tests for module 'log10l'.
25876         * modules/log10l-tests: New file.
25877         * tests/test-log10l.c: New file.
25878         * tests/test-math-c++.cc: Check the declaration of log10l.
25880         New module 'log10l'.
25881         * lib/math.in.h (log10l): New declaration.
25882         * lib/log10l.c: New file.
25883         * m4/log10l.m4: New file.
25884         * modules/log10l: New file.
25885         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25887         HAVE_DECL_LOG10L.
25888         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25889         HAVE_DECL_LOG10L.
25890         * doc/posix-functions/log10l.texi: Mention the new module.
25892 2012-02-25  Bruno Haible  <bruno@clisp.org>
25894         fmodl, remainder*: Avoid wrong results due to rounding errors.
25895         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25896         expected bounds.
25897         * lib/remainderf.c (remainderf): Likewise.
25898         * lib/remainder.c (remainder): Likewise.
25899         * lib/remainderl.c (remainderl): Likewise.
25901 2012-02-25  Bruno Haible  <bruno@clisp.org>
25903         Tests for module 'remainderl'.
25904         * modules/remainderl-tests: New file.
25905         * tests/test-remainderl.c: New file.
25906         * tests/test-math-c++.cc: Check the declaration of remainderl.
25908         New module 'remainderl'.
25909         * lib/math.in.h (remainderl): New declaration.
25910         * lib/remainderl.c: New file.
25911         * m4/remainderl.m4: New file.
25912         * modules/remainderl: New file.
25913         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25914         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25915         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25916         HAVE_REMAINDERL.
25917         * doc/posix-functions/remainderl.texi: Mention the new module.
25919 2012-02-25  Bruno Haible  <bruno@clisp.org>
25921         Tests for module 'remainderf'.
25922         * modules/remainderf-tests: New file.
25923         * tests/test-remainderf.c: New file.
25924         * tests/test-math-c++.cc: Check the declaration of remainderf.
25926         New module 'remainderf'.
25927         * lib/math.in.h (remainderf): New declaration.
25928         * lib/remainderf.c: New file.
25929         * m4/remainderf.m4: New file.
25930         * modules/remainderf: New file.
25931         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25933         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25934         HAVE_REMAINDERF.
25935         * doc/posix-functions/remainderf.texi: Mention the new module.
25937 2012-02-25  Bruno Haible  <bruno@clisp.org>
25939         remainder: Support for MSVC.
25940         * lib/math.in.h (remainder): New declaration.
25941         * lib/remainder.c: New file.
25942         * m4/remainder.m4: New file.
25943         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25944         (Depends-on): Add math, round, fma.
25945         (configure.ac): Use results of gl_FUNC_REMAINDER.
25946         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25947         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25948         HAVE_DECL_REMAINDER.
25949         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25950         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25951         * tests/test-math-c++.cc: Check the declaration of remainder.
25952         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25953         problems are fixed.
25955 2012-02-25  Bruno Haible  <bruno@clisp.org>
25957         Tests for module 'fmodl'.
25958         * modules/fmodl-tests: New file.
25959         * tests/test-fmodl.c: New file.
25960         * tests/test-math-c++.cc: Check the declaration of fmodl.
25962         New module 'fmodl'.
25963         * lib/math.in.h (fmodl): New declaration.
25964         * lib/fmodl.c: New file.
25965         * m4/fmodl.m4: New file.
25966         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25967         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25968         REPLACE_FMODL.
25969         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25970         REPLACE_FMODL.
25971         * modules/fmodl: New file.
25972         * doc/posix-functions/fmodl.texi: Mention the new module.
25974 2012-02-25  Bruno Haible  <bruno@clisp.org>
25976         Tests for module 'modfl'.
25977         * modules/modfl-tests: New file.
25978         * tests/test-modfl.c: New file.
25979         * tests/test-math-c++.cc: Check the declaration of modfl.
25981         New module 'modfl'.
25982         * lib/math.in.h (modfl): New declaration.
25983         * lib/modfl.c: New file.
25984         * m4/modfl.m4: New file.
25985         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25987         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25988         * modules/modfl: New file.
25989         * doc/posix-functions/modfl.texi: Mention the new module.
25991 2012-02-25  Bruno Haible  <bruno@clisp.org>
25993         Tests for module 'fabsl'.
25994         * modules/fabsl-tests: New file.
25995         * tests/test-fabsl.c: New file.
25996         * tests/test-math-c++.cc: Check the declaration of fabsl.
25998         New module 'fabsl'.
25999         * lib/math.in.h (fabsl): New declaration.
26000         * lib/fabsl.c: New file.
26001         * m4/fabsl.m4: New file.
26002         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
26003         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
26004         REPLACE_FABSL.
26005         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
26006         REPLACE_FABSL.
26007         * modules/fabsl: New file.
26008         * doc/posix-functions/fabsl.texi: Mention the new module.
26010 2012-02-25  Bruno Haible  <bruno@clisp.org>
26012         fabs tests: More tests.
26013         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
26014         (zero): New variable.
26015         (main): Add tests for signed zero.
26016         * modules/fabs-tests (Files): Add tests/minus-zero.h.
26018         fabsf tests: More tests.
26019         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
26020         (zero): New variable.
26021         (main): Add tests for signed zero.
26022         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
26024 2012-02-24  Bruno Haible  <bruno@clisp.org>
26026         atanl: Provide function definition on MSVC.
26027         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
26028         function pointer.
26029         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
26031 2012-02-24  Bruno Haible  <bruno@clisp.org>
26033         acosl: Provide function definition on MSVC.
26034         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
26035         function pointer.
26036         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
26038 2012-02-24  Bruno Haible  <bruno@clisp.org>
26040         asinl: Provide function definition on MSVC.
26041         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
26042         function pointer.
26043         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
26045 2012-02-24  Bruno Haible  <bruno@clisp.org>
26047         tanl: Provide function definition on MSVC.
26048         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
26049         function pointer.
26050         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
26052 2012-02-24  Bruno Haible  <bruno@clisp.org>
26054         cosl: Provide function definition on MSVC.
26055         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
26056         function pointer.
26057         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
26059 2012-02-24  Bruno Haible  <bruno@clisp.org>
26061         sinl: Provide function definition on MSVC.
26062         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
26063         function pointer.
26064         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
26066 2012-02-24  Bruno Haible  <bruno@clisp.org>
26068         logl: Provide function definition on MSVC.
26069         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
26070         function pointer.
26071         * lib/math.in.h (logl): Undefine if it does not exist as a function.
26073 2012-02-24  Bruno Haible  <bruno@clisp.org>
26075         expl: Provide function definition on MSVC.
26076         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
26077         function pointer.
26078         * lib/math.in.h (expl): Undefine if it does not exist as a function.
26080 2012-02-24  Bruno Haible  <bruno@clisp.org>
26082         sqrtl: Provide function definition on MSVC.
26083         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
26084         a function pointer.
26085         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
26087 2012-02-24  Bruno Haible  <bruno@clisp.org>
26089         ceill: Provide function definition on MSVC.
26090         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
26091         used as a function pointer.
26092         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
26094 2012-02-24  Bruno Haible  <bruno@clisp.org>
26096         floorl: Provide function definition on MSVC.
26097         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
26098         used as a function pointer.
26099         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
26101 2012-02-24  Bruno Haible  <bruno@clisp.org>
26103         ceilf: Provide function definition on MSVC.
26104         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
26105         used as a function pointer.
26106         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
26108 2012-02-24  Bruno Haible  <bruno@clisp.org>
26110         floorf: Provide function definition on MSVC.
26111         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
26112         used as a function pointer.
26113         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
26115 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26117         stdnoreturn: new module
26118         This implements a replacement for C11's <stdnoreturn.h>.
26119         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
26120         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
26121         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
26122         * tests/test-stdnoreturn.c: New files.
26124 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
26126         regex: fix false multibyte matches in some regular expressions
26127         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
26128         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
26129         * lib/regex_internal.c (re_string_skip_chars):
26130         Fix miscomputation of remain_len that may cause incomplete
26131         multi-byte character and false match.
26133 2012-02-24  Jim Meyering  <meyering@redhat.com>
26135         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
26136         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
26137         uses with "==" *before* the call, e.g., 0 == strcmp (...)
26138         Remove now-unnecessary str''cmp obfuscation.
26139         Suggested by Akim Demaille.
26141 2012-02-24  Bruno Haible  <bruno@clisp.org>
26143         streq: Rename macro.
26144         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
26145         * NEWS: Mention the change.
26146         * lib/mbrtowc.c (mbrtowc): Update.
26147         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
26148         * lib/wcwidth.c (wcwidth): Update.
26149         Suggested by Akim Demaille and Jim Meyering.
26151 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26153         regex: fix typo in definition of MIN
26154         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
26155         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
26157 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26158             Bruno Haible  <bruno@clisp.org>
26160         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
26161         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
26162         entries into a stack-allocated buffer directly.
26163         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
26165 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26166             Bruno Haible  <bruno@clisp.org>
26168         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
26170          - There were several instances of this pattern:
26172              for (;;) {
26173                n = acl (f, GETACLCNT, 0, NULL);
26174                [ allocate an array A of size N ]
26175                if (acl (f, GETACL, n, a) == n)
26176                  break;
26177              }
26179            This loop might never terminate if some other process is constantly
26180            manipulating the file's ACL.  The loop should be rewritten to
26181            terminate.
26183          - The acl (... GETACLNT ...) call is merely an optimization; its value
26184            is merely a hint as to how big to make the array.  A better
26185            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
26186            and just guess a reasonably-big size, growing the size and trying
26187            again if it's not large enough.  This guarantees termination, and
26188            saves a system call.
26190         * lib/acl-internal.h: Include <limits.h>.
26191         (MIN, SIZE_MAX): New macros.
26192         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
26193         a stack-allocated buffer, and use malloc if it does not fit. Don't
26194         use GETACLCNT.
26195         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26197 2012-02-19  Bruno Haible  <bruno@clisp.org>
26199         acl: Fix endless loop on Solaris with vxfs.
26200         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
26201         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
26202         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26203         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
26204         * tests/test-sameacls.c (main)[Solaris]: Likewise.
26205         Reported by Bill Jones in
26206         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
26208 2012-02-19  Bruno Haible  <bruno@clisp.org>
26210         acl: Fix copy-acl test failure on Solaris 11.0.
26211         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
26212         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
26213         that this function returns 0 in some more cases.
26215 2012-02-19  Bruno Haible  <bruno@clisp.org>
26217         acl: Update doc references.
26218         * doc/acl-resources.txt: Update links to Solaris documentation.
26220 2012-02-19  Bruno Haible  <bruno@clisp.org>
26222         Fix test failure in many locales on Solaris 11.
26223         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
26224         'tr' arguments.
26225         * tests/test-pipe-filter-ii1.c (main): Likewise.
26226         * build-aux/bootstrap (check_versions): Run 'tr' command with range
26227         expressions in the C locale.
26228         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26229         * m4/host-os.m4 (gl_HOST_OS): Likewise.
26231 2012-02-19  Bruno Haible  <bruno@clisp.org>
26233         gnulib-tool: Improve usage message.
26234         * gnulib-tool (func_usage): Move doc of --help and --version to the
26235         section "Operation modes".
26237 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
26239         README-release: make it easier to execute commands
26240         * top/README-release: break commands out on to separate lines.
26242 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
26244         GNUmakefile: simplify detection of unconfigured trees
26245         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
26246         whether the tree make is being run from is already configured or
26247         not.  Related simplifications.
26249 2012-02-13  Simon Josefsson  <simon@josefsson.org>
26251         * gnulib-tool (func_usage): Document --help and --version.
26253 2012-02-11  Jim Meyering  <meyering@redhat.com>
26255         bootstrap: don't exit 0 upon gnulib-tool failure
26256         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
26257         its exit status, not 0.
26259 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
26261         README-release: various improvements
26262         * top/README-release: Give a command to push changes for the
26263         release.  Add "distcheck" to list of other pre-release checks.
26264         Fix instance of "make stable" which should be "make TYPE".
26266 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
26268         maint: replace FSF snail-mail addresses with URLs
26269         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
26270         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
26271         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
26272         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
26273         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
26274         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
26275         * lib/check-version.c, lib/check-version.h, lib/config.charset:
26276         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
26277         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
26278         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
26279         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
26280         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
26281         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
26282         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
26283         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
26284         * lib/glthread/thread.c, lib/glthread/thread.h:
26285         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
26286         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
26287         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
26288         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
26289         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
26290         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
26291         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
26292         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
26293         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
26294         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
26295         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
26296         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
26297         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
26298         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
26299         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
26300         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
26301         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
26302         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
26303         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
26304         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
26305         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
26306         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
26307         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
26308         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
26309         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
26310         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
26311         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
26312         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
26313         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
26314         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
26315         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
26316         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
26317         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
26318         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
26319         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
26320         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
26321         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
26322         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
26323         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
26324         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
26325         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
26326         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
26327         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
26328         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
26329         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
26330         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
26331         * tests/test-poll.c, tests/test-quotearg-simple.c:
26332         * tests/test-quotearg.c, tests/test-quotearg.h:
26333         * tests/test-round-ieee.c, tests/test-round1.c:
26334         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
26335         * tests/test-roundl-ieee.c, tests/test-roundl.c:
26336         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
26337         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
26338         * tests/test-strerror.c, tests/test-strerror_r.c:
26339         * tests/test-strsignal.c, tests/test-strverscmp.c:
26340         * tests/test-xmemdup0.c:
26341         Replace FSF snail mail addresses with URLs, as per GNU coding
26342         standards.  See glibc bug
26343         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
26345 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
26347         README-release: capitalize a word and split a line
26348         * top/README-release: Fix punctuation and spacing.
26350 2012-02-08  Akim Demaille  <demaille@gostai.com>
26352         fatal-signal: use C prototypes (with explicit void).
26353         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26354         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
26356 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26358         regex: spelling fix
26359         * lib/regexec.c: spelling fix
26361         regex: rely on stdint.h for SIZE_MAX
26362         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
26364 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26366         regex: merge glibc changes
26368         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
26369         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
26370         (init_word_char): Work even if bitset words are not exactly 32 or
26371         64 bits wide.  Don't assume there are no padding bits.
26372         * lib/regex.c [_LIBC]: Do not include <config.h>.
26373         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
26374         and -Wtype-limits.
26375         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
26376         needless disagreement with glibc.  All uses changed.  Define it to
26377         1 only if _GNU_SOURCE, to match glibc.
26378         (_REG_RM_NAME): Remove; no longer needed, since the names in
26379         question are now all protected by __USE_GNU.
26380         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
26381         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
26382         * lib/regex_internal.h (MIN): New macro.
26384         2012-01-03 Ulrich Drepper <drepper@gmail.com>
26385         * lib/regcomp.c (init_word_char): Optimize regex a bit.
26387         2011-12-30 Jakub Jelinek <jakub@redhat.com>
26388         * lib/regex_internal.c (re_string_fetch_byte_case):
26389         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
26390         is miscompiled, and it turns out it is because of an incorrect
26391         attribute on re_string_fetch_byte_case.  Unlike
26392         re_string_peek_byte_case, this one is really not pure, it modifies
26393         memory (increments pstr->cur_idx), and with the pure attribute GCC
26394         assumed it doesn't and it cached the presumed value of
26395         regexp->cur_idx in a variable across the
26396          for (;; ++i)
26397            {
26398              if (i >= BRACKET_NAME_BUF_SIZE)
26399                return REG_EBRACK;
26400              if (token->type == OP_OPEN_CHAR_CLASS)
26401                ch = re_string_fetch_byte_case (regexp);
26402              else
26403                ch = re_string_fetch_byte (regexp);
26404              if (re_string_eoi(regexp))
26405                return REG_EBRACK;
26406              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
26407                break;
26408              elem->opr.name[i] = ch;
26409            }
26411         2011-11-29 Andreas Schwab <schwab@redhat.com>
26412         * lib/regcomp.c (build_equiv_class):
26413         Fix access after end of search string in regex matcher.
26415         2011-11-12 Ulrich Drepper <drepper@redhat.com>
26416         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
26418         2011-10-12 Ulrich Drepper <drepper@redhat.com>
26419         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
26421         2011-10-11 Ulrich Drepper <drepper@redhat.com>
26422         * lib/regcomp.c (parse_branch, parse_sub_exp):
26423         More regex memory leak fixes and tests.
26424         (parse_sub_exp, parse_bracket_exp):
26425         Fix memory leak for some invalid regular expressions.
26427         2011-05-28 Ulrich Drepper <drepper@gmail.com>
26428         * lib/regex_internal.c, lib/regexec.c:
26429         Fix unnecessary overallocation due to incomplete character.  When
26430         incomplete characters are found at the end of a string the code
26431         ran amok and allocated lots of memory.  Stricter limits are now in
26432         place.
26434         2011-05-20 Reuben Thomas <rrt@sc3d.org>
26435         * lib/regex.h: Update documentation.
26437         2011-05-16 Aharon Robbins <arnold@skeeve.com>
26438         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
26440         2010-05-05 Andreas Schwab <schwab@redhat.com>
26441         * lib/regexec.c (find_collation_sequence_value):
26442         Fix lookup of collation sequence value during regexp matching.
26444         2010-01-22 Ulrich Drepper <drepper@redhat.com>
26445         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
26447         2008-01-16 Ulrich Drepper <drepper@redhat.com>
26448         * lib/regex.h: Cleanup namespace.
26450         2007-11-26 Ulrich Drepper <drepper@redhat.com>
26451         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
26453         2007-08-26 Ulrich Drepper <drepper@redhat.com>
26454         * lib/regex_internal.h: Prevent some declarations and definitions
26455         to be seen when used in tests.
26457         2005-05-06 Ulrich Drepper <drepper@redhat.com>
26458         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
26459         __libc_lock_* macros if not _LIBC.
26460         (struct re_dfa_t): Add lock.
26462 2012-02-07  Eric Blake  <eblake@redhat.com>
26464         maint.mk: also prohibit lower-case @var@
26465         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
26466         lower case, like @top_srcdir@.
26468 2012-02-04  Eric Blake  <eblake@redhat.com>
26470         canonicalize: avoid uninitialized memory use
26471         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26472         random '/' left in dest.
26473         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26475 2012-02-04  Bruno Haible  <bruno@clisp.org>
26477         isatty: Fix test failure of ptsname_r on native Windows.
26478         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26479         and don't set errno.
26480         (isatty): Test first whether fd is valid. Set errno when returning 0.
26482 2012-02-04  Bruno Haible  <bruno@clisp.org>
26484         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26485         * tests/test-spawn-pipe-main.c: Include progname.h.
26486         (main): Invoke set_program_name.
26487         * modules/spawn-pipe-tests (Depends-on): Add progname.
26489         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26490         * tests/test-nonblocking-socket-main.c: Include progname.h.
26491         (main): Invoke set_program_name.
26492         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26494         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26495         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26496         (main): Invoke set_program_name.
26497         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26499 2012-02-04  Eric Blake  <eblake@redhat.com>
26501         canonicalize-lgpl: fix // handling
26502         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26504         canonicalize: fix // handling
26505         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26506         /// to //, since only // is special.
26508 2012-02-04  Bruno Haible  <bruno@clisp.org>
26510         ioctl: Fix test failure on native Windows.
26511         * lib/ioctl.c: Include msvc-nothrow.h.
26512         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26514 2012-02-04  Bruno Haible  <bruno@clisp.org>
26516         fsync: Avoid test failure on native Windows.
26517         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26518         read-only.
26520 2012-02-04  Bruno Haible  <bruno@clisp.org>
26522         sys_select: Avoid syntax error on OpenBSD 5.0.
26523         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26524         currently being included, just include the system's <sys/select.h>.
26526 2012-02-04  Bruno Haible  <bruno@clisp.org>
26528         sys_select: Avoid syntax error on OpenBSD 5.0.
26529         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26530         <sys/select.h>, not before.
26531         Reported by Jiri B <jirib@devio.us>.
26533 2012-02-04  Bruno Haible  <bruno@clisp.org>
26535         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26536         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26537         global variables.
26538         * tests/test-get-rusage-data.c (main): Likewise.
26539         Reported by Jim Meyering.
26541 2012-02-04  Bruno Haible  <bruno@clisp.org>
26543         stdioext: Fix last commit.
26544         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26546 2012-02-03  Bruno Haible  <bruno@clisp.org>
26548         stdioext: Add tentative support for Plan9.
26549         * lib/stdio-impl.h: Include <errno.h>.
26550         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26551         * lib/freadable.c (freadable): Likewise.
26552         * lib/fwritable.c (fwritable): Likewise.
26553         * lib/fbufmode.c (fbufmode): Likewise.
26554         * lib/freading.c (freading): Likewise.
26555         * lib/fwriting.c (fwriting): Likewise.
26556         * lib/freadptr.c (freadptr): Likewise.
26557         * lib/freadseek.c (freadptrinc): Likewise.
26558         * lib/freadahead.c (freadahead): Likewise.
26559         * lib/fpurge.c (fpurge): Likewise.
26560         * lib/fseeko.c (rpl_fseeko): Likewise.
26561         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26562         Reported by Jens Staal <staal1978@gmail.com>.
26564 2012-02-02  Jim Meyering  <meyering@redhat.com>
26566         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26567         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26568         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26569         not even to try to add the attribute.  Instead, add a pragma to suppress
26570         the suggestion/warning.
26572 2012-01-31  Karl Berry  <karl@gnu.org>
26574         setstate doc: typo.
26575         * doc/posix-functions/setstate.texi (setstate): { not (.
26577 2012-01-31  Bruno Haible  <bruno@clisp.org>
26579         popen: Make more robust on Windows.
26580         * lib/popen.c: On native Windows, use the _popen based code even if
26581         HAVE_POPEN is set.
26582         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26583         environment variable on native Windows.
26585 2012-01-30  Bruno Haible  <bruno@clisp.org>
26587         pclose: Fix typo.
26588         * lib/stdio.in.h (pclose): Fix typo in warning message.
26590 2012-01-30  Bruno Haible  <bruno@clisp.org>
26592         doc about getlogin_r, setstate.
26593         * doc/posix-functions/getlogin_r.texi: List the incompatible
26594         declaration problem under "not fixed by gnulib".
26595         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26596         problem on Solaris 11 and other platforms.
26598 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26599             Bruno Haible  <bruno@clisp.org>
26601         poll tests: Make test more robust.
26602         * tests/test-poll.c: Include macros.h.
26603         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26604         return value of various I/O operations.
26605         * modules/poll-tests (Files): Add tests/macros.h.
26607 2012-01-30  Bruno Haible  <bruno@clisp.org>
26609         sys_stat: Fix support for mingw64 and MSVC.
26610         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26611         header files already do it.
26612         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26613         stat itself.
26614         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26616 2012-01-30  Bruno Haible  <bruno@clisp.org>
26618         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26619         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26620         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26622 2012-01-29  Bruno Haible  <bruno@clisp.org>
26624         quotearg: Fix test failure on MacOS X 10.5.
26625         * tests/test-quotearg-simple.c: Include localcharset.h.
26626         (main): If the locale encoding is not ASCII, bypass the tests of
26627         locale_quoting_style and clocale_quoting_style.
26628         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26630 2012-01-29  Jim Meyering  <meyering@redhat.com>
26632         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26633         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26634         detect uses of canonicalize_file_name.
26636 2012-01-28  Bruno Haible  <bruno@clisp.org>
26638         test-framework-sh: Fix test failure with AIX 7.1 diff.
26639         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26640         in column 1, like 'diff -c' does.
26641         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26642         whether 'diff -u' is used. Instead, test whether the output contains
26643         some '@' character.
26645 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26647         strtoimax: eliminate need for stdint.h, inttypes.h checks
26648         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26649         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26650         the prerequisites for a recently-introduced strtoimax test.
26651         I guess this might cause strtoimax to be replaced when not
26652         strictly necessary on older hosts, but this shouldn't introduce
26653         any bugs and it should make Emacs 'configure' faster on typical
26654         modern hosts.  Problem discovered when importing the latest gnulib
26655         to an Emacs test version.
26656         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26658 2012-01-28  Bruno Haible  <bruno@clisp.org>
26660         sys_time: Override 'struct timeval' on some native Windows platforms.
26661         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26662         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26663         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26664         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26665         needs to be overridden.
26666         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26667         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26668         * tests/test-sys_select.c: Check that the tv_sec member has the same
26669         size as a 'time_t'.
26670         * tests/test-sys_time.c: Likewise.
26671         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26672         is set, set also REPLACE_GETTIMEOFDAY.
26673         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26674         convert the resulting 'struct timeval' before returning.
26675         * lib/select.c: Include <sys/time.h>.
26676         (select, timeval): Undefine at the right place.
26677         * modules/select (Depends-on): Add sys_time.
26678         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26679         some Windows platforms.
26680         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26682 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26684         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26685         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26686         an integer.
26687         * lib/fcntl.c (dupfd): Likewise.
26688         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26690 2012-01-28  Bruno Haible  <bruno@clisp.org>
26692         fcntl: Avoid compilation error on native Windows.
26693         * modules/fcntl (Depends-on): Add 'close'.
26695 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26697         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26698         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26699         pointer to an integer.
26700         * lib/poll.c (IsConsoleHandle): Likewise.
26701         * lib/isatty.c (IsConsoleHandle): Likewise.
26703 2012-01-28  Jim Meyering  <meyering@redhat.com>
26705         doc: clarify README-release
26706         * top/README-release: Clarify: you should make a point to have
26707         the latest stable versions of build tools in your PATH, and the
26708         reference to buildreq is solely for its list of tool names, not
26709         for its minimal-functional version numbers.
26710         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26712         maint.mk: use more readable (yet functionally equivalent) quoting
26713         It is common to quote a single quote in a single quoted string like
26714         this:  '...'\''...'.  Unless you know the idiom, that looks like
26715         gibberish, so prefer to double-quote the string when possible.
26716         Then you can use a more readable, lone single quote: "...'..."
26717         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26718         "don't" is more readable than the equivalent 'don'\''t'.
26719         (sc_cast_of_x_alloc_return_value): Likewise.
26720         (sc_cast_of_alloca_return_value): Likewise.
26721         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26722         rather than '\'':'\''.
26724 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26726         stdalign: relax _Alignof and tighten _Alignas test
26727         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26728         as it was too strict: alignof must divide offsetof, but it need
26729         not equal offsetof.  Inspired by Joseph S. Myers's comment
26730         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26731         Conversely, tighten the _Alignas test a bit, as the resulting
26732         alignment must be exactly 8.
26734 2012-01-27  Bruno Haible  <bruno@clisp.org>
26736         stdalign: Document the last change.
26737         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26739 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26741         stdalign: check that alignof and offsetof are consistent
26742         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26743         Problem reported for gnulib by Richard W.M. Jones in
26744         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26746 2012-01-27  Jim Meyering  <meyering@redhat.com>
26748         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26749         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26750         convert a sequence with gaps to the minimal containing range.
26751         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26752         * tests/test-update-copyright.sh: Test for this.
26753         The FSF confirmed it is ok to do this, assuming there is at
26754         least one significant change per year in the affected range:
26755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26757 2012-01-26  Bruno Haible  <bruno@clisp.org>
26759         pipe2: refine doc about thread-safety
26760         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26761         multithread-safety problem.
26762         * doc/glibc-functions/accept4.texi: Likewise.
26764 2012-01-26  Bruno Haible  <bruno@clisp.org>
26766         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26767         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26768         In the test program, include <fcntl.h>, for O_RDONLY.
26770 2012-01-26  Eric Blake  <eblake@redhat.com>
26772         pipe2: document lack of thread-safety in replacement
26773         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26774         issue in replacement.
26775         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26776         Based on a report by Eric Wong.
26778 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26779             Bruno Haible  <bruno@clisp.org>
26781         malloca: Avoid warnings on x86_64 mingw64.
26782         * lib/malloca.c: Include <stdint.h>.
26783         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26784         * modules/malloca (Depends-on): Add stdint.
26785         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26787 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26789         obstack: remove __STDC__ conditionals
26790         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26791         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26792         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26793         m4/include_next.m4 as the only gnulib-maintained places that still
26794         refer to __STDC__.
26796 2012-01-24  Bruno Haible  <bruno@clisp.org>
26798         havelib: Modern quoting.
26799         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26800         the recent change to the GNU coding standards.
26802 2012-01-24  Bruno Haible  <bruno@clisp.org>
26804         stdint: Improve support for Android.
26805         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26806         Reported by Simon Josefsson <simon@josefsson.org>.
26808 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26810         doc: omit trailing empty lines from INSTALL etc.
26811         * doc/Makefile (INSTALL): Omit trailing empty lines.
26812         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26813         omit trailing empty lines.  This simplifies the build procedure.
26815 2012-01-23  Jim Meyering  <meyering@redhat.com>
26817         tests: avoid spurious warnings about gl_sockets_startup
26818         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26819         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26820         reporting a "statement with no effect".
26821         * tests/test-accept.c (main): Mark as "(void)".
26822         * tests/test-accept4.c (main): Likewise.
26823         * tests/test-bind.c (main): Likewise.
26824         * tests/test-connect.c (main): Likewise.
26825         * tests/test-getpeername.c (main): Likewise.
26826         * tests/test-getsockname.c (main): Likewise.
26827         * tests/test-getsockopt.c (main): Likewise.
26828         * tests/test-listen.c (main): Likewise.
26829         * tests/test-recv.c (main): Likewise.
26830         * tests/test-recvfrom.c (main): Likewise.
26831         * tests/test-send.c (main): Likewise.
26832         * tests/test-sendto.c (main): Likewise.
26833         * tests/test-setsockopt.c (main): Likewise.
26834         * tests/test-shutdown.c (main): Likewise.
26836 2012-01-21  Bruno Haible  <bruno@clisp.org>
26838         locale-fr.m4: Fix for Android.
26839         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26840         failure of the test program on Bionic libc.
26842 2012-01-21  Jim Meyering  <meyering@redhat.com>
26844         bootstrap: fail when bootstrap_post_import_hook fails
26845         Otherwise, it's far too easy to miss diagnostics emitted
26846         between gnulib-tool's output and that of running configure.
26847         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26849 2012-01-17  Jim Meyering  <meyering@redhat.com>
26851         maint: enable sc_trailing_blank
26852         * build-aux/pmccabe.css: Remove trailing blanks.
26853         * doc/acl-cygwin.txt: Likewise.
26854         * doc/gnu-oids.texi: Likewise
26855         * cfg.mk: Enable sc_trailing_blank.
26856         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26858 2012-01-17  Jim Meyering  <meyering@redhat.com>
26860         maint: enable sc_prohibit_openat_without_use
26861         * cfg.mk: Enable sc_prohibit_openat_without_use.
26862         Exempt lib/selinux-at.c.
26864 2012-01-17  Jim Meyering  <meyering@redhat.com>
26866         maint: enable sc_prohibit_cloexec_without_use
26867         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26868         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26870 2012-01-17  Jim Meyering  <meyering@redhat.com>
26872         maint: enable sc_prohibit_intprops_without_use
26873         * cfg.mk: Enable sc_prohibit_intprops_without_use
26874         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26876 2012-01-17  Jim Meyering  <meyering@redhat.com>
26878         maint: enable sc_prohibit_hash_pjw_without_use
26879         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26880         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26881         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26882         following " (".
26884 2012-01-17  Jim Meyering  <meyering@redhat.com>
26886         maint: enable double-word-prohibiting rule
26887         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26888         Exempt three files.
26890 2012-01-17  Jim Meyering  <meyering@redhat.com>
26892         maint: remove empty lines at EOF, but excluding modules/*
26893         Apply syntax rules at home as well as abroad.  Most changes
26894         were induced by running this:
26895           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26896             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26897             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26898         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26899         Exempt modules/* and two binary files.
26900         Also exempt doc/INSTALL*, per request from Bruno Haible.
26901         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26902         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26903         * doc/Copyright/request-assign.future: Likewise.
26904         * doc/Copyright/request-disclaim.changes: Likewise.
26905         * doc/INSTALL: Likewise.
26906         * doc/INSTALL.ISO: Likewise.
26907         * doc/INSTALL.UTF-8: Likewise.
26908         * doc/acl-cygwin.txt: Likewise.
26909         * doc/acl-resources.txt: Likewise.
26910         * doc/fdl-1.2.texi: Likewise.
26911         * doc/fdl-1.3.texi: Likewise.
26912         * doc/fdl.texi: Likewise.
26913         * lib/argp-pin.c: Likewise.
26914         * lib/round.c: Likewise.
26915         * lib/unicase/u16-totitle.c: Likewise.
26916         * lib/unictype/block_test.c: Likewise.
26917         * lib/uninorm/canonical-decomposition.c: Likewise.
26918         * m4/README: Likewise.
26919         * m4/relocatable-lib.m4: Likewise.
26920         * tests/test-isnand-nolibm.c: Likewise.
26921         * tests/test-isnand.c: Likewise.
26922         * tests/uninorm/NormalizationTest.txt: Likewise.
26924 2012-01-17  Jim Meyering  <meyering@redhat.com>
26926         maint: add framework to run syntax-check rules against gnulib sources
26927         * cfg.mk: New file, to disable all currently-failing tests.
26928         We'll enable them one by one, as they are made to pass.
26929         * Makefile (sc_maint): New rule.
26931 2012-01-21  Bruno Haible  <bruno@clisp.org>
26933         stdint: Add support for Android.
26934         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26935         include the system's <stdint.h>.
26936         Reported by Simon Josefsson <simon@josefsson.org>.
26938 2012-01-19  Jim Meyering  <meyering@redhat.com>
26940         bootstrap: add bootstrap_post_import_hook
26941         Bison does still need something like the gnulib_mk_hook whose
26942         invocation I had to remove along with slurp in commit 767ccd40.
26943         Technically, we could get along without it, but doing so would
26944         have required living with a warning and a mandatory post-bootstrap
26945         automake rerun.
26946         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26947         (bootstrap_post_import_hook): New function.
26948         Invoke it after gnulib-tool --import and before autoreconf.
26950 2012-01-18  Jim Meyering  <meyering@redhat.com>
26952         gitlog-to-changelog: don't use "no_"-prefixed variable name
26953         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26954         to enable both --cluster and --no-cluster.  Change variable name,
26955         s/\$no_cluster/$cluster/, and reverse usage to match.
26957         gitlog-to-changelog: use "||", not "or" in expressions
26958         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26959         expressions.
26961 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26963         gitlog-to-changelog: new option --no-cluster
26964         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26965         clustering of adjacent commit messages.
26967 2012-01-17  Jim Meyering  <meyering@redhat.com>
26969         maint: spell file systems with two words, not one
26970         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26971         two words, not one.
26973 2012-01-16  Jim Meyering  <meyering@redhat.com>
26975         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26976         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26978 2012-01-16  Eric Blake  <eblake@redhat.com>
26980         bootstrap: cater to autoconf 2.59
26981         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26982         is not available.
26984         bootstrap: properly check for libtool
26985         * build-aux/bootstrap (libtoolize): Also run libtool when older
26986         usage is detected.
26988 2012-01-15  Bruno Haible  <bruno@clisp.org>
26990         Improve support for MSVC 9.
26991         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26992         clashes on MSVC.
26993         * lib/fcntl.in.h: Likewise.
26994         * lib/stdlib.in.h: Likewise.
26995         * lib/sys_stat.in.h: Likewise.
26997 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26999         gnupload: we hold the master copy of this script now
27000         For motivation and more information, see:
27001         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
27002         * build-aux/gnupload: Make it clear in the heading comments that the
27003         master copy of this file is maintained by gnulib.  Since we are at
27004         it, bump its copyright year and ...
27005         ($scriptversion): ... the date in its version.
27006         ($usage): Patches and bug reports should be sent to the gnulib list,
27007         not the automake one.
27008         * config/srclist.txt: Don't try to sync 'gnupload' from automake
27009         anymore.
27011 2012-01-15  Bruno Haible  <bruno@clisp.org>
27013         Fix module 'random'.
27014         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
27015         initstate, setstate are declared.
27017 2012-01-14  Bruno Haible  <bruno@clisp.org>
27019         Tests for module 'random'.
27020         * modules/random-tests: New file.
27021         * tests/test-random.c: New file, based on tests/test-random_r.c.
27023         New module 'random'.
27024         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
27025         declarations.
27026         * lib/random.c: New file, based on glibc/stdlib/random.c.
27027         * m4/random.m4: New file.
27028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
27029         HAVE_RANDOM.
27030         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
27031         * modules/random: New file.
27032         * config/srclist.txt: Add an entry for random.c.
27033         * doc/posix-functions/random.texi: Mention the 'random' module.
27034         * doc/posix-functions/initstate.texi: Likewise.
27035         * doc/posix-functions/setstate.texi: Likewise.
27036         * doc/posix-functions/srandom.texi: Likewise.
27038 2012-01-12  Bruno Haible  <bruno@clisp.org>
27040         random_r: Use common idioms.
27041         * lib/random_r.c: Include <stdlib.h> first.
27043         random_r: Override incompatible API on AIX, OSF/1.
27044         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
27045         Override the system function if REPLACE_RANDOM_R is 1.
27046         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
27047         and OSF/1, set REPLACE_RANDOM_R.
27048         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
27049         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
27050         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
27051         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
27052         * doc/glibc-functions/random_r.texi: Likewise.
27053         * doc/glibc-functions/setstate_r.texi: Likewise.
27055         random_r: Support for MSVC 9.
27056         * lib/random_r.c: Include stdint.h, not inttypes.h.
27058 2012-01-12  Eric Blake  <eblake@redhat.com>
27060         inet_ntop: guard extra work by IF_LINT
27061         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
27062         better code generation when not checking for warnings.
27063         Suggested by Paul Eggert and Jim Meyering.
27065         strptime: fix regression on mingw
27066         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
27067         Fix regression.  Reported by Bruno Haible.
27069 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
27070             Bruno Haible  <bruno@clisp.org>
27072         copy-file: add error-code-returning variant.
27073         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
27074         (qcopy_file_preserving): New declaration.
27075         * lib/copy-file.c (qcopy_file_preserving): Renamed from
27076         copy_file_preserving. Change return type to 'int'. Don't emit an error
27077         message here.
27078         (copy_file_preserving): New function.
27079         * tests/test-copy-file.c: Include <stdlib.h>.
27080         (main): Test qcopy_file_preserving if the environment variable
27081         NO_STDERR_OUTPUT is set.
27082         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
27083         with NO_STDERR_OUTPUT
27084         * tests/test-copy-file-2.sh: Likewise.
27086 2012-01-10  Bruno Haible  <bruno@clisp.org>
27088         copy-file: Use 'quote' module consistently.
27089         * lib/copy-file.c (copy_file_preserving): Use quote().
27091         copy-file: Refactor.
27092         * lib/copy-file.c: Include quote.h.
27093         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
27094         message here.
27095         * modules/copy-file (Depends-on): Add quote.
27097         acl: Export qcopy_acl.
27098         * lib/acl.h (qcopy_acl): New declaration.
27099         * lib/copy-acl.c (qcopy_acl): Make non-static.
27101         acl: Rename a local variable.
27102         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
27104         acl: Align return values of copy_acl and qcopy_acl.
27105         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
27106         maybe < -1.
27108 2012-01-11  Eric Blake  <eblake@redhat.com>
27110         strptime: silence gcc warnings
27111         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
27112         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
27113         Reported by Daniel P. Berrange.
27115         inet_ntop: silence gcc warning
27116         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
27117         Reported by Daniel P. Berrange.
27119 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
27121         getloadavg test: skip the test on GNU/Linux without /proc mounted
27122         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
27123         file.  When /proc is not mounted, it always fails with ENOENT.
27124         * tests/test-getloadavg.c (main): Treat ENOENT return code from
27125         getloadavg(3) the same way as ENOSYS and ENOTSUP.
27127 2012-01-10  Bruno Haible  <bruno@clisp.org>
27129         regex: Avoid link error on MSVC 9.
27130         * modules/regex (Depends-on): Add wctype.
27132 2012-01-10  Bruno Haible  <bruno@clisp.org>
27134         doc: Mention --with-tests option.
27135         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
27136         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
27137         --with-tests.
27138         Reported by Reuben Thomas.
27140 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
27142         users.txt: order package names lexicographically.
27143         * users.txt: Order package names lexicographically.
27145 2012-01-10  Jim Meyering  <meyering@redhat.com>
27147         maint.mk: fix description in comment
27148         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
27150         ignore-value: remove deprecated ignore_ptr function
27151         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
27152         * NEWS: Note this.
27154 2012-01-09  Jim Meyering  <meyering@redhat.com>
27156         test-init.sh: avoid a subshell
27157         * tests/test-init.sh: Remove protective subshell.
27158         Suggested by Bernhard Voelker.  While a subshell is normally
27159         required to protect against older shells (Solaris, FreeBSD) that
27160         warn about a missing program before performing redirection, the
27161         shell-selection tests performed by init.sh probably exclude any
27162         offending shell.
27164 2012-01-08  Bruno Haible  <bruno@clisp.org>
27166         setlocale tests: Avoid test failure on Solaris 11.0.
27167         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
27168         variable.
27170 2012-01-08  Bruno Haible  <bruno@clisp.org>
27172         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
27173         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27174         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27175         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
27176         macro.
27177         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
27178         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27179         * lib/spawn_faction_addopen.c: Add workaround implementation if
27180         HAVE_WORKING_POSIX_SPAWN.
27181         * modules/spawn (Makefile): Substitute
27182         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27183         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
27184         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
27185         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27186         (Depends-on): Update conditions.
27187         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27188         the Solaris 11 bug.
27190 2012-01-08  Bruno Haible  <bruno@clisp.org>
27192         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
27193         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27194         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27195         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
27196         macro.
27197         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
27198         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27199         * lib/spawn_faction_adddup2.c: Add workaround implementation if
27200         HAVE_WORKING_POSIX_SPAWN.
27201         * modules/spawn (Makefile): Substitute
27202         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27203         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
27204         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
27205         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27206         (Depends-on): Update conditions.
27207         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27208         the Solaris 11 bug.
27210 2012-01-08  Bruno Haible  <bruno@clisp.org>
27212         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
27213         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27214         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27215         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
27216         HAVE_WORKING_POSIX_SPAWN.
27217         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
27218         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
27219         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27220         * lib/spawn_faction_addclose.c: Add workaround implementation if
27221         HAVE_WORKING_POSIX_SPAWN.
27222         * modules/spawn (Makefile): Substitute
27223         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27224         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
27225         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
27226         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27227         (Depends-on): Update conditions.
27228         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27229         the Solaris 11 bug.
27231 2012-01-08  Bruno Haible  <bruno@clisp.org>
27233         doc: Update for Solaris 11.0.
27234         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
27235         * m4/printf.m4: Update comments.
27237 2012-01-08  Bruno Haible  <bruno@clisp.org>
27239         mktime: Avoid compilation error on Solaris 11.
27240         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
27242 2012-01-08  Bruno Haible  <bruno@clisp.org>
27244         doc: Small fix.
27245         * doc/posix-headers/nl_types.texi: Correct platforms list.
27247 2012-01-08  Simon Josefsson  <simon@josefsson.org>
27249         Add lgpl-3.0 module.
27250         * MODULES.html.sh (Support for building documentation): Add
27251         lgpl-3.0.
27252         * modules/lgpl-3.0: New file.
27254 2012-01-08  Jim Meyering  <meyering@redhat.com>
27256         select.c: indent with spaces, not TABs
27257         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
27259 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27261         quotearg: do not use grave accent for left quote
27262         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
27263         locale_quoting_style.
27264         (quotearg_buffer_restyled): Fix example.
27265         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
27267 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27269         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
27270         Most programs do not have translation catalogs for English and much
27271         less separate catalogs for British and American English.  Drop the
27272         suggestion to translators about these two, and provide it
27273         automatically for Unicode locales.  Like most programs, even those
27274         using American English, we use single quotation marks.  This conflicts
27275         with the American typographic convention, but works better when you
27276         cite the entire error message within double quotes.  It also tries not
27277         to clash with established practice and with what non-gnulib programs
27278         will usually do.
27279         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
27280         using an UTF-8 or GB-18030 locale.  The list of other locales with
27281         quotes was provided by Bruno Haible.
27282         (quotearg_buffer_restyled): Adjust instructions to translators.
27283         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
27284         text, since this would be wrong when using Unicode.
27285         * modules/quotearg: Depend on c-strcaseeq.
27287 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27289         quotearg: fix Wikipedia link
27290         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
27292 2012-01-07  Simon Josefsson  <simon@josefsson.org>
27294         Fix for mingw with MSVC9.
27295         * m4/ld-version-script.m4: Check that compiler rejects version
27296         scripts with syntax errors.  Reported by Bruno Haible
27297         <bruno@clisp.org>.
27299 2012-01-06  Bruno Haible  <bruno@clisp.org>
27301         Talk about "native Windows API", not "Woe32".
27302         * lib/accept4.c: Update comments to mention native Windows.
27303         * lib/execute.c: Likewise.
27304         * lib/fatal-signal.c: Likewise.
27305         * lib/localcharset.c: Likewise.
27306         * lib/nanosleep.c: Likewise.
27307         * lib/nl_langinfo.c: Likewise.
27308         * lib/pclose.c: Likewise.
27309         * lib/pipe-filter-gi.c: Likewise.
27310         * lib/pipe-filter-ii.c: Likewise.
27311         * lib/pipe.c: Likewise.
27312         * lib/pipe2.c: Likewise.
27313         * lib/popen.c: Likewise.
27314         * lib/progreloc.c: Likewise.
27315         * lib/relocatable.c: Likewise.
27316         * lib/sigaction.c: Likewise.
27317         * lib/sigprocmask.c: Likewise.
27318         * lib/spawn-pipe.h: Likewise.
27319         * lib/spawn-pipe.c: Likewise.
27320         * lib/spawni.c: Likewise.
27321         * lib/stat-time.h: Likewise.
27322         * lib/w32spawn.h: Likewise.
27323         * tests/test-isatty.c: Likewise.
27324         * lib/config.charset: More comments.
27325         * doc/gnulib-intro.texi: Mention native Windows.
27326         * doc/posix-functions/_Exit_C99.texi: Likewise.
27327         * doc/posix-headers/fcntl.texi: Likewise.
27329 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
27331         argp: Avoid crash if translator uses % characters in a translation.
27332         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
27333         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27335 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
27337         doc: C11 and C++11 are now official
27338         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
27339         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
27340         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
27341         * modules/stdalign:
27342         Replace references to draft C1X to C11, and to draft C++0X to C++11.
27344 2012-01-06  Bruno Haible  <bruno@clisp.org>
27346         uc-is-grapheme-break tests: Tweak.
27347         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
27348         message.
27350 2012-01-06  Bruno Haible  <bruno@clisp.org>
27352         test-init.sh: correct the test for diff -u
27353         * tests/test-init.sh: Also redirect stdout to /dev/null.
27355 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
27357         Use ', not `, for quoting output.
27358         * build-aux/announce-gen (usage, sizes, print_news_deltas)
27359         (print_changelog_deltas, get_tool_versions, main program):
27360         * build-aux/git-version-gen:
27361         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
27362         * build-aux/move-if-change (help):
27363         * build-aux/useless-if-before-free (usage, main program):
27364         * check-module (parse_module_file, usage)
27365         (find_included_lib_files, check_module):
27366         * lib/argmatch.c (main) [TEST]:
27367         * lib/argp-help.c (_help):
27368         * lib/getopt1.c (main) [TEST]:
27369         * lib/git-merge-changelog.c (usage):
27370         * lib/xstrtol-error.c (xstrtol_error):
27371         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
27372         * m4/argz.m4 (gl_FUNC_ARGZ):
27373         * m4/bison.m4 (gl_BISON):
27374         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
27375         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27376         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27377         * m4/fpending.m4 (gl_PREREQ_FPENDING):
27378         * m4/gc-random.m4 (gl_GC_RANDOM):
27379         * m4/intl.m4 (gt_CHECK_DECL):
27380         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
27381         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
27382         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
27383         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
27384         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
27385         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
27386         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
27387         * tests/test-dirname.c (main):
27388         * tests/test-getpass.c (main):
27389         * tests/test-iconvme.c (main):
27390         * tests/test-parse-datetime.c (LOG):
27391         * tests/test-xstrtoimax.sh:
27392         * tests/test-xstrtol.sh:
27393         * tests/test-xstrtoll.sh:
27394         * tests/test-xstrtoumax.sh:
27395         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
27396         * top/GNUmakefile (abort-due-to-no-makefile):
27397         Quote 'like this', not `like this', as per the recent change to
27398         the GNU coding standards.
27400 2012-01-05  Bruno Haible  <bruno@clisp.org>
27402         strtoimax: Don't force a replacement on systems where intmax_t is int.
27403         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
27404         'intmax_t' is not larger than 'int'.
27405         Reported by Pádraig Brady <P@draigBrady.com>.
27407 2012-01-05  Bruno Haible  <bruno@clisp.org>
27409         doc: Mention NetBSD bugs.
27410         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
27411         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
27413 2012-01-05  Bruno Haible  <bruno@clisp.org>
27415         strtoumax tests: Enhance tests.
27416         * tests/test-strtoumax.c (main): Add tests for large values.
27418 2012-01-05  Bruno Haible  <bruno@clisp.org>
27420         strtoimax: Work around AIX 5.1 bug.
27421         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
27422         definition.
27423         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
27424         Set HAVE_STRTOIMAX.
27425         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
27426         REPLACE_STRTOIMAX.
27427         * modules/inttypes-incomplete (Makefile.am): Substitute
27428         REPLACE_STRTOIMAX.
27429         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
27430         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
27431         (Depends-on): Update conditions.
27432         * tests/test-strtoimax.c (main): Add tests for large values.
27433         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
27435 2012-01-05  Bruno Haible  <bruno@clisp.org>
27437         inttypes: Modernize.
27438         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
27439         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
27440         (Makefile.am): Update inttypes.h rule.
27442 2012-01-05  Jim Meyering  <meyering@redhat.com>
27444         init.sh: don't waste a subshell just to redirect stderr
27445         * tests/init.sh: In testing for diff -u and diff -c, use a
27446         stderr-redirecting exec inside `...` rather than a subshell.
27448         test-init.sh: avoid failure on HP-UX 11.00
27449         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
27450         resolves to diff -c or cmp.  Reported by Bruno Haible.
27452 2012-01-05  Bruno Haible  <bruno@clisp.org>
27454         Tests for module 'strtoull'.
27455         * modules/strtoull-tests: New file.
27456         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
27458 2012-01-05  Bruno Haible  <bruno@clisp.org>
27460         Tests for module 'strtoll'.
27461         * modules/strtoll-tests: New file.
27462         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
27464 2012-01-05  Bruno Haible  <bruno@clisp.org>
27466         Tests for module 'strtoul'.
27467         * modules/strtoul-tests: New file.
27468         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
27470 2012-01-05  Bruno Haible  <bruno@clisp.org>
27472         Tests for module 'strtol'.
27473         * modules/strtol-tests: New file.
27474         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27476 2012-01-04  Jim Meyering  <meyering@redhat.com>
27478         test-init.sh: accommodate Solaris 5.10's different diff -u output
27479         * tests/test-init.sh: Also exempt @@ lines from the comparison
27480         of diff output, since Solaris 5.10 and GNU diff formats differ.
27481         Reported by Stefano Lattarini.
27483 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27485         test-posixtm: don't assume signed integer wraparound
27486         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27487         after signed integer overflow.  Inspired by (though it may not
27488         fix) Bruno Haible's bug report in
27489         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27491         Spell out "Windows 9x" and "Windows XP".
27492         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27493         "Windows 9x" and "WinXP" with "Windows XP".
27495 2012-01-04  Jim Meyering  <meyering@redhat.com>
27497         test-vc-list-files-cvs.sh: remove obsolete comment
27498         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27499         double exit.  Now that's all encapsulated via skip_ and Exit.
27501 2012-01-04  Bruno Haible  <bruno@clisp.org>
27503         Talk about "native Windows API", not "Win32".
27504         * lib/classpath.c: Update comments to mention native Windows.
27505         * lib/csharpexec.c: Likewise.
27506         * lib/dup2.c: Likewise.
27507         * lib/error.c: Likewise.
27508         * lib/fcntl.c: Likewise.
27509         * lib/filename.h: Likewise.
27510         * lib/findprog.c: Likewise.
27511         * lib/get-rusage-as.c: Likewise.
27512         * lib/get-rusage-data.c: Likewise.
27513         * lib/getpagesize.c: Likewise.
27514         * lib/javaexec.c: Likewise.
27515         * lib/msvc-inval.c: Likewise.
27516         * lib/msvc-nothrow.c: Likewise.
27517         * lib/nanosleep.c: Likewise.
27518         * lib/nonblocking.c: Likewise.
27519         * lib/printf-parse.c: Likewise.
27520         * lib/setlocale.c: Likewise.
27521         * lib/sigaction.c: Likewise.
27522         * lib/strerror_r.c: Likewise.
27523         * lib/tmpdir.c: Likewise.
27524         * lib/vasnprintf.c: Likewise.
27525         * lib/w32spawn.h: Likewise.
27526         * lib/waitpid.c: Likewise.
27527         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27528         * m4/locale-ar.m4: Likewise.
27529         * m4/locale-fr.m4: Likewise.
27530         * m4/locale-ja.m4: Likewise.
27531         * m4/locale-tr.m4: Likewise.
27532         * m4/locale-zh.m4: Likewise.
27533         * m4/printf.m4: Likewise.
27534         * tests/test-cloexec.c: Likewise.
27535         * tests/test-copy-acl.sh: Likewise.
27536         * tests/test-copy-file.sh: Likewise.
27537         * tests/test-file-has-acl.sh: Likewise.
27538         * tests/test-set-mode-acl.sh: Likewise.
27539         * tests/test-dup-safer.c: Likewise.
27540         * tests/test-dup2.c: Likewise.
27541         * tests/test-dup3.c: Likewise.
27542         * tests/test-fcntl.c: Likewise.
27543         * tests/test-nonblocking-pipe.h: Likewise.
27544         * tests/test-nonblocking-socket.h: Likewise.
27545         * tests/test-pipe.c: Likewise.
27546         * tests/test-pipe2.c: Likewise.
27547         * tests/test-spawn-pipe-child.c: Likewise.
27548         * doc/acl-resources.txt: Likewise.
27549         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27550         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27551         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27552         * lib/localcharset.c: Update comments to mention native Windows.
27553         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27554         * lib/localename.c: Likewise.
27555         * lib/progreloc.c: Likewise.
27556         * lib/relocatable.c: Likewise.
27557         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27558         (windows_compute_revents): Renamed from win32_compute_revents.
27559         (windows_compute_revents_socket): Renamed from
27560         win32_compute_revents_socket.
27561         * lib/select.c: Update comments to mention native Windows.
27562         (windows_poll_handle): Renamed from win32_poll_handle.
27563         * m4/threadlib.m4: Update comments to mention native Windows.
27564         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27565         --enable-threads=windows instead of --enable-threads=win32. Set
27566         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27567         * lib/glthread/lock.h: Update comments to mention native Windows.
27568         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27569         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27570         USE_WIN32_THREADS.
27571         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27572         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27573         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27574         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27575         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27576         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27577         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27578         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27579         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27580         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27581         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27582         * tests/test-tls.c: Likewise.
27583         Rationale:
27584         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27585         on both 32-bit and 64-bit Windows systems.
27586         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27587         line of distinction is between "native Windows" on one side and Unix/
27588         POSIX systems on the other side. More details in
27589         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27590         Suggested by Paul Eggert.
27592 2012-01-03  Bruno Haible  <bruno@clisp.org>
27594         isatty: Support for MSVC 9.
27595         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27596         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27597         (_isatty_nothrow): New function.
27598         (isatty): Use it instead of _isatty.
27599         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27600         * lib/poll.c (IsConsoleHandle): Likewise.
27601         * lib/select.c (IsConsoleHandle): Likewise.
27602         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27603         (gl_PREREQ_ISATTY): New macro.
27604         * modules/isatty (Depends-on): Add msvc-inval.
27605         (configure.ac): Invoke gl_PREREQ_ISATTY.
27607 2012-01-03  Jim Meyering  <meyering@redhat.com>
27609         maint.mk: remove temporary transition aid from over 1.5 years ago
27610         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27611         purpose was to aid in the transition (avoiding silent malfunction)
27612         from that old name to the new _sc_search_regexp.  This shim was
27613         added by commit 219c504b.
27615         init.sh: do not try to accommodate compare arguments starting with "-"
27616         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27617         compare arguments that start with "-".  Besides, we do not worry
27618         about this when invoking diff or cmp; why start now with sed?
27619         Using "--" to separate options from argument would trigger sed
27620         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27621         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27623 2012-01-02  Bruno Haible  <bruno@clisp.org>
27625         Enhance tests for module 'isatty'.
27626         * modules/isatty-tests (Depends-on): Add pipe-posix.
27627         * tests/test-isatty.c: Include <fcntl.h>.
27628         (DEV_NULL): New macro.
27629         (main): Test the resut of isatty() also on regular files, pipes, and
27630         /dev/null.
27632         New module 'isatty'.
27633         * lib/unistd.in.h (isatty): New declaration.
27634         * lib/isatty.c: New file, based on an idea of
27635         Bastien Roucariès <roucaries.bastien@gmail.com>.
27636         * m4/isatty.m4: New file.
27637         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27638         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27639         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27640         REPLACE_ISATTY.
27641         * modules/isatty: New file.
27642         * doc/posix-functions/isatty.texi: Mention the new module.
27643         Suggested by Paolo Bonzini.
27645 2012-01-02  Bruno Haible  <bruno@clisp.org>
27647         canonicalize: Tweak 2011-12-29 commit.
27648         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27649         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27651 2012-01-02  Jim Meyering  <meyering@redhat.com>
27653         gitlog-to-changelog: describe input syntax in --help output
27654         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27656         gitlog-to-changelog: fix typo in --help: show backslash before email @
27657         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27658         in sources, but not in actual output.
27660 2011-12-30  Jim Meyering  <meyering@redhat.com>
27662         gitlog-to-changelog: don't malfunction when name contains %-directive
27663         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27664         in a name string cause trouble.  E.g., with a user name of "%s",
27665         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27667 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27669         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27670         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27671         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27672         the "  (tiny change)" notation that is appended to the standard
27673         ChangeLog "date  name  email" header line.
27675 2012-01-01  Jim Meyering  <meyering@redhat.com>
27677         test-framework-sh: init.sh: fix "make dist" failure
27678         When using gnulib-tool's --with-tests option and any module that
27679         depends on test-framework-sh, "make dist" would fail due to the
27680         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27681         in the gltests directory, and not in the gllib/ directory.
27682         One way to work around that is to move the EXTRA_DIST += init.sh
27683         from the primary module to the -tests one:
27684         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27685         * modules/test-framework-sh (Makefile.am): ...not here.
27686         Reported by Tom G. Christensen in
27687         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27689         version-etc: update copyright year reported by --version
27690         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27692 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27694         canonicalize: only stat() if required
27695         * lib/canonicalize.c (canonicalize_filename_mode):
27696         Avoid calling l?stat() when both CAN_MISSING,
27697         and CAN_NOLINKS are set, as we neither need
27698         to resolve symlinks or test component existence.
27700 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27702         doc: cover st_ino issues once; add OpenVMS etc.
27703         * doc/posix-functions/stat.texi (stat):
27704         * doc/posix-functions/lstat.texi (lstat):
27705         * doc/posix-functions/fstatat.texi (fstatat):
27706         * doc/posix-functions/fstat.texi (fstat):
27707         Move general 'struct stat' stuff to sys_stat.texi,
27708         leaving behind a pointer.
27709         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27710         Merge duplicate info about 'struct stat' problems into here.
27711         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27712         and suggest partial workarounds.
27714         same-inode: port to OpenVMS
27715         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27716         three st_ino values.
27718 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27720         canonicalize: fix references to stat() and lstat()
27721         * lib/canonicalize.c (canonicalize_filename_mode):
27722         Ensure references always resolve to a replacement
27723         function if required (even via a macro).
27725 2011-12-30  Jim Meyering  <meyering@redhat.com>
27727         gitlog-to-changelog: remove a little duplication
27728         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27729         rather than twice.
27731 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27733         canonicalize: add support for not resolving symlinks
27734         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27735         indicate we don't want to follow symlinks.  Also
27736         provide CAN_MODE_MASK to aid setting these existing
27737         mutually exclusive values.
27738         * lib/canonicalize.c (canonicalize_filename_mode):
27739         Extract the flags from can_mode parameter, which
27740         are currently just used to select between stat()
27741         and lstat().  Also ensure that mutually exclusive
27742         values are flagged immediately as invalid.
27743         * tests/test-canonicalize.c: Verify symlinks are
27744         not followed, and that invalid flag combinations
27745         are diagnosed.
27747 2011-12-25  Jim Meyering  <meyering@redhat.com>
27749         gitlog-to-changelog: do not clump multi-paragraph entries
27750         Identical header lines (date,name,email+coauthors) are suppressed,
27751         thus putting all entries with those same characteristics under
27752         a single header.  However, when a log entry consists of two or
27753         more paragraphs, it may not be clear where it starts and ends.
27754         This change makes it so that such an entry is always separated
27755         from others by a header line, even when that header would
27756         otherwise be suppressed.
27757         * build-aux/gitlog-to-changelog: Implement the above.
27758         Inspired by a related request from Stefano Lattarini in
27759         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27761 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27763         announce-gen: fix `cmd' typo in diagnostic
27764         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27765         diagnostic: a missing '$' meant that the command was not output.
27767 2011-12-23  Jim Meyering  <meyering@redhat.com>
27769         test-framework-sh: distribute init.sh
27770         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27771         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27772         fail due to the lack of init.sh.
27774         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27775         * modules/atexit-tests: Rather than listing tests/init.sh,
27776         now that there's a module for it, simply depend on that new module.
27777         * modules/closein-tests: Likewise.
27778         * modules/exclude-tests: Likewise.
27779         * modules/getcwd-tests: Likewise.
27780         * modules/perror-tests: Likewise.
27781         * modules/pread-tests: Likewise.
27782         * modules/pwrite-tests: Likewise.
27783         * modules/vc-list-files-tests: Likewise.
27784         * modules/verify-tests: Likewise.
27785         * modules/xalloc-die-tests: Likewise.
27786         * modules/xstrtoimax-tests: Likewise.
27787         * modules/xstrtol-tests: Likewise.
27788         * modules/xstrtoll-tests: Likewise.
27789         * modules/xstrtoumax-tests: Likewise.
27790         * modules/yesno-tests: Likewise.
27792 2011-12-22  Jim Meyering  <meyering@redhat.com>
27794         test-framework-sh: add minimal tests of init.sh's compare function
27795         * modules/test-framework-sh-tests: New file.
27796         * tests/test-init.sh: New file.
27798         test-framework-sh: new module
27799         * modules/test-framework-sh: New file.
27800         * MODULES.html.sh (Support for maintaining and releasing projects):
27801         List it.
27803         init.sh: do not emit simulated diff output to stderr
27804         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27806 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27808         .gitignore: ignore gnulib.dvi and regex.info
27809         * doc/.gitignore:add gnulib.dvi and regex.info
27811 2011-12-22  Jim Meyering  <meyering@redhat.com>
27813         init.sh: correct previous change
27814         * tests/init.sh (compare): My previous change was wrong.
27815         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27817         init.sh: avoid unwarranted test failure when using "set -e"
27818         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27819         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27820         a use like "compare exp out" would get evoke an unconditional failure.
27822 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27824         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27825         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27826         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27827         autoreconf that did not.
27828         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27829         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27831 2011-12-17  Jim Meyering  <meyering@redhat.com>
27833         bootstrap: remove some now-unneeded code
27834         This script arose back when gnulib-tool was young.
27835         Since then, it has seen improvements that render much of this
27836         script unnecessary.  In particular, it can now make symlinks
27837         to the files it uses.  Also, I no longer see as much value in
27838         marking files as read-only via comments.
27839         If you relied on the symlink-creation feature of the preceding
27840         version of this script, you can get most of that functionality
27841         by adding the --symlink option to the definition of
27842         gnulib_tool_option_extras in your bootstrap.conf file.
27843         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27844         Run autopoint and libtoolize *before* gnulib-tool.
27845         After it, run an abbreviated autoreconf, rather than a loop around
27846         all tools.
27847         (slirp, bt_mark_as_generated): Remove functions.
27849 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27851         ftoastr: fix typo
27852         * lib/ftoastr.h: Fix misspelling in comment.
27854 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27856         * top/README-release: fix punctuation.
27858 2011-12-17  Jim Meyering  <meyering@redhat.com>
27860         bootstrap: correct the recent buildreq change
27861         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27862         had no effect.
27863         * build-aux/bootstrap (buildreq): Bracket each search term with
27864         "*...*", so that the shell "case" statement works as intended.
27865         Add comments.
27867 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27869         build: let bootstrap resort to wget when downloading .po files
27870         * build-aux/bootstrap (download_po_files): Fallback to wget when
27871         downloading the .po files via rsync fails.  This is necessary to
27872         bootstrap from behind a strict firewall.
27874 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27876         stdint: don't assume C++11 when compiling with g++
27877         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27878         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27879         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27880         work also in C++ before C++11, as that improperly inhibits
27881         generating a substitute stdint.h for that case.
27883 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27885         alloca: protect comment from gnulib-tool
27886         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27887         that gnulib-tool doesn't think it's a license, and munge it to
27888         say "GCC version 3".
27890 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27892         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27893         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27894         $(abs_top_builddir) instead of $(top_builddir).
27896 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27898         strftime-tests: also test nanoseconds
27899         * tests/test-strftime.c (T): Add a test of %N.
27901 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27903         inttypes, stdint: add C++11 support
27904         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27905         when including inttypes.h and stdint.h.  Support this change to
27906         the standard.
27907         * doc/posix-headers/inttypes.texi (inttypes.h):
27908         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27909         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27910         Define if not defined already, for the benefit of pre-C++11 hosts.
27911         Define the standard format macros (e.g., PRId8) always.
27912         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27913         Likewise, if __cpluspus.  Define the standard constant and limit
27914         macros (e.g., INT8_C, INT8_MAX) always.
27915         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27916         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27917         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27918         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27919         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27920         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27921         Likewise.
27923 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27925         nonblocking tests: Fix test failure on Linux/PPC.
27926         Suggested by Prerna Saxena in
27927         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27928         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27929         Set to 1100000.
27931 2011-12-12  Jim Meyering  <meyering@redhat.com>
27933         argmatch: don't hard-code `' when listing valid option arguments
27934         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27935         use the quote function to add quotes.  Use fputs rather than
27936         fprintf for the format string with no format directive.
27938 2011-12-07  Eric Blake  <eblake@redhat.com>
27940         bootstrap: detect tools required by gnulib-tool
27941         * build-aux/bootstrap (buildreq): Provide minimum implicit
27942         dependencies.
27943         * DEPENDENCIES: Mention patch as a prereq.
27945 2011-12-04  Bruno Haible  <bruno@clisp.org>
27947         sethostname: Port to Windows platforms.
27948         * lib/sethostname.c: Provide an alternate implementation for Windows
27949         platforms.
27950         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27951         (main): Skip the test if sethostname() fails with EPERM. On Windows
27952         platforms, don't check the result of gethostname().
27954 2011-12-04  Bruno Haible  <bruno@clisp.org>
27955             Jim Meyering  <meyering@redhat.com>
27957         tests: Avoid spurious error message on platforms without mktemp program.
27958         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27960 2011-12-04  Bruno Haible  <bruno@clisp.org>
27962         sethostname: Fix documentation.
27963         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27964         "not fixed" section.
27966 2011-12-03  Bruno Haible  <bruno@clisp.org>
27968         gnulib-tool: Verify that the License field is present and non-empty.
27969         * gnulib-tool (func_get_license_raw): New function, extracted from
27970         func_get_license.
27971         (func_get_license): Use it. Warn if the module is not a test module and
27972         has no license.
27973         Suggested by Jim Meyering.
27975 2011-12-03  Bruno Haible  <bruno@clisp.org>
27977         sethostname tests: Fix link error on mingw.
27978         * tests/test-sethostname1.c: New file, extracted from
27979         tests/test-sethostname.c.
27980         * tests/test-sethostname2.c: New file, extracted from
27981         tests/test-sethostname.c.
27982         * tests/test-sethostname.c: Remove file.
27983         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27984         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27985         (Depends-on): Add gethostname.
27986         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27987         Link the latter with $(GETHOSTNAME_LIB).
27989         sethostname tests: Fix compilation error on mingw.
27990         * tests/test-sethostname.c: Don't include <sys/types.h>.
27991         (geteuid): Use a dummy value without uid_t.
27992         * modules/sethostname-tests (Depends-on): Remove sys_types.
27994         sethostname tests: Avoid a gcc warning.
27995         * tests/test-sethostname.c (main): Remove an unused variable.
27997         Tweak last commit.
27998         * modules/sethostname-tests (Files): Sort by decreasing importance.
27999         (configure.ac): Check for geteuid.
28000         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
28001         the test when there's nothing to test. Drop an unnecessary cast.
28002         Improve an error message. Verify that the final sethostname() call
28003         succeeds.
28005 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28007         Add a test suite for the sethostname module.
28008         * modules/sethostname-tests: New file.  A test program
28009         for the sethostname module.
28010         * tests/test-sethostname.c: Likewise.
28012 2011-12-03  Bruno Haible  <bruno@clisp.org>
28014         Tweak last commit.
28015         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
28016         Fix preprocessor directives indentation. Fix typos.
28017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
28018         * modules/unistd (Makefile): Likewise.
28020 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28022         Integrate the sethostname module into unistd.
28023         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
28024         into the unistd.h header.
28025         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
28026         preprocessor directives.
28027         * modules/unistd: Setup the Makefile substitutions of the
28028         SETHOSTNAME preprocessor directives.
28030 2011-12-03  Bruno Haible  <bruno@clisp.org>
28032         Tweak last commit.
28033         * lib/sethostname.c: Don't include <string.h>.
28034         (sethostname): No need to copy the argument string to the stack. Don't
28035         call clearerr. Preserve errno when fprintf failed.
28036         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
28037         Don't invoke AC_REPLACE_FUNCS.
28038         * modules/sethostname (Link): Remove empty section.
28039         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
28040         failure problem.
28042 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28044         New module 'sethostname'.
28045         * lib/sethostname.c (sethostname): New file.  Provide sethostname
28046         for systems that lack it.
28047         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
28048         sethostname declaration and function.
28049         * modules/sethostname: New file.  Define the sethostname module.
28051 2011-12-03  Bruno Haible  <bruno@clisp.org>
28053         Tweak last commit.
28054         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
28056 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28058         Split the HOST_NAME_MAX detection into a separate m4 macro.
28059         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
28060         macro so it can be used by the pending sethostname module.
28062 2011-12-03  Bruno Haible  <bruno@clisp.org>
28064         Fix module descriptions syntax.
28065         * modules/argv-iter (License): Fix syntax.
28066         * modules/di-set (License): Likewise.
28067         * modules/ino-map (License): Likewise.
28068         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
28070 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
28072         stdalign: port to Clang 3.0
28073         Problem reported by Simon Josefsson in
28074         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
28075         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
28076         which has <stdalign.h> but which does not define alignof.
28077         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
28079 2011-12-01  Eric Blake  <eblake@redhat.com>
28081         mktempd: silence dd usage
28082         * build-aux/mktempd (rand_bytes): Silence dd.
28084 2011-11-30  Simon Josefsson  <simon@josefsson.org>
28086         manywarnings: Don't mention gcc version in docstring.
28087         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
28088         Jim Meyering <meyering@redhat.com>.
28090 2011-11-30  Jim Meyering  <meyering@redhat.com>
28092         hash: mark a few floating point constants with "f" suffix
28093         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
28094         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
28095         floating point constants with "f", since they're destined to be
28096         saved/used as "float"s.
28098 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
28100         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
28101         * tests/test-float.c (test_long_double): Correct and re-enable the
28102         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
28104 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
28106         Avoid subtracting two pointers that don't point into the same block.
28107         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
28108         only pointers into the same memory block are subtracted. We cannot
28109         assume that sizeof (ptrdiff_t) == sizeof (void *).
28111 2011-11-29  Eric Blake  <eblake@redhat.com>
28113         maint.mk: add syntax check for use of compare from init.sh
28114         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
28115         moved here from coreutils.
28117         manywarnings: drop -Wunsuffixed-float-constants
28118         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
28119         '1.0D', which is the only way to silence this warning for 'double'.
28121 2011-11-29  Jim Meyering  <meyering@redhat.com>
28123         hash: mark compute_bucket_size with the pure attribute
28124         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
28126         quotearg, propername: correct pragma guard expression
28127         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
28128         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
28130 2011-11-28  Jim Meyering  <meyering@redhat.com>
28132         propername: do not mark proper_name with the const attribute
28133         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
28134         since it examines data pointed to by its parameter.
28135         * lib/propername.c (proper_name): Instead, add a pragma to suppress
28136         the suggestion from -Wsuggest-attribute=const.
28138         propername: mark one more function as const
28139         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
28141 2011-11-27  Jim Meyering  <meyering@redhat.com>
28143         mark functions with const and pure attributes
28145         Mark functions per suggestions from gcc-4.6 when using these options:
28146         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
28147         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
28148         Follow these guidelines: when possible, apply the attribute to
28149         an extern declaration, not to its definition.  Apply it to the
28150         definition only when the definition is static.
28151         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
28152         * lib/argv-iter.h (argv_iter_n_args): Likewise.
28153         * lib/base64.h (isbase64): Likewise.
28154         * lib/basename-lgpl.c (last_component, base_len): Likewise.
28155         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
28156         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
28157         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
28158         (c_tolower, c_toupper): Likewise.
28159         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
28160         * lib/chdir-long.c (find_non_slash): Likewise.
28161         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
28162         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
28163         * lib/file-type.h (file_type): Likewise.
28164         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
28165         * lib/filevercmp.c (verrevcmp): Likewise.
28166         * lib/freadahead.h (freadahead): Likewise.
28167         * lib/fts.c (fts_maxarglen): Likewise.
28168         * lib/hash-pjw.h (hash_pjw): Likewise.
28169         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
28170         * lib/hash.c (is_prime, next_prime): Likewise.
28171         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
28172         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
28173         (hash_table_ok, hash_get_first, hash_string): Likewise.
28174         (compute_bucket_size): Likewise.
28175         * lib/i-ring.h (i_ring_empty): Likewise.
28176         * lib/isnan.c (isnanl): Likewise.
28177         * lib/math.h (isnanl, rpl_isnanl): Likewise.
28178         * lib/memcasecmp.h (memcasecmp): Likewise.
28179         * lib/memchr2.h (memchr2): Likewise.
28180         * lib/memcmp2.h (memcmp2): Likewise.
28181         * lib/parse-datetime.y (lookup_zone): Likewise.
28182         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
28183         [!WINDOWS_SOCKETS]: Likewise.
28184         * lib/strnlen1.h (strnlen1): Likewise.
28185         * lib/uniwidth.in.h (uc_width): Likewise.
28186         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
28187         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
28188         (quoting_options_from_style): Add a comment.
28189         * lib/propername.h (proper_name): Add a comment.
28191 2011-11-27  Bruno Haible  <bruno@clisp.org>
28193         Remove unused macros from !_LIBC code in glibc-borrowed files.
28194         * lib/fnmatch.c (STRCOLL): Remove macro.
28195         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
28196         * lib/glob.c (__stat, __readdir64): Remove macros.
28197         * lib/tempname.c (__open64, __xstat64): Remove macros.
28198         Suggested by Paul Eggert.
28200 2011-11-27  Bruno Haible  <bruno@clisp.org>
28202         getcwd: Fix link error on MSVC 9.
28203         * modules/getcwd (Depends-on): Add readdir, rewinddir.
28205 2011-11-27  Bruno Haible  <bruno@clisp.org>
28207         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
28208         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
28209         HAVE_OPENDIR is 0.
28210         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
28211         HAVE_CLOSEDIR is 0.
28212         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
28213         is 0.
28214         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
28216 2011-11-27  Bruno Haible  <bruno@clisp.org>
28218         getcwd: Fix bug from 2011-08-17.
28219         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
28220         platforms that need it.
28221         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
28222         code of 4 to be a failure, not a success. This ensures that
28223         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
28225 2011-11-27  Bruno Haible  <bruno@clisp.org>
28227         binary-io tests: Avoid test failure on mingw when libtool is used.
28228         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
28229         Don't verify the size of t-bin-out1.tmp here.
28230         * tests/test-binary-io.sh: Verify it here.
28231         Reported by Simon Josefsson.
28233 2011-11-26  Bruno Haible  <bruno@clisp.org>
28235         Fix conflict between two instantiations of module 'unistd'.
28236         * gnulib-tool (func_emit_autoconf_snippet): Substitute
28237         ${include_guard_prefix} also in the autoconf snippet.
28238         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
28239         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
28240         GNULIB_UNISTD_H_GETOPT.
28241         * modules/getopt-posix (configure.ac): Set the
28242         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
28243         * modules/getopt-gnu (configure.ac): Likewise.
28244         * modules/unistd (Makefile.am): Change the substitution value of
28245         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
28246         Reported by Simon Josefsson.
28248 2011-11-25  Bruno Haible  <bruno@clisp.org>
28250         pagealign_alloc: Doc and comments.
28251         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
28252         module.
28253         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
28255 2011-11-25  Jim Meyering  <meyering@redhat.com>
28257         test-update-copyright.sh: avoid false-positive failure
28258         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
28259         around false positive failure on Cygwin/Windows.  The latter was
28260         matching erroneously-created files with names like
28261         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
28263 2011-11-25  Simon Josefsson  <simon@josefsson.org>
28265         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
28266         * m4/valgrind-tests.m4: Check that the parameters that will be
28267         used works, not just a subset of them.  Reported by Bruno Haible
28268         <bruno@clisp.org>.
28270 2011-11-24  Jim Meyering  <meyering@redhat.com>
28272         test-stdalign.c: comment out long double tests
28273         * tests/test-stdalign.c: Don't try to reduce alignment of long double
28274         variables.  That provokes errors like this from gcc-4.7.0 20111124:
28275         error: '_Alignas' specifiers cannot reduce alignment of \
28276         'static_longdouble_alignas'.
28278 2011-11-22  Jim Meyering  <meyering@redhat.com>
28280         init.sh: make "compare /dev/null FILE" output more readable
28281         * tests/init.sh (compare_): Document the preferred order of arguments.
28282         (emit_diff_u_header_): New function.
28283         (compare_dev_null_): Emit a simulated diff, rather than just the
28284         contents of the unexpected file.  Suggestion from Bruno Haible.
28286 2011-11-21  Jim Meyering  <meyering@redhat.com>
28287             Eric Blake  <eblake@redhat.com>
28289         init.sh: work around OSF/1 5.1's mishandling of /dev/null
28290         * tests/init.sh: Make our compare function slightly more portable.
28291         Reported by Bruno Haible in
28292         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
28294 2011-11-21  Simon Josefsson  <simon@josefsson.org>
28296         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
28297         before using it, in code that ends up in config.h.
28299 2011-11-20  Bruno Haible  <bruno@clisp.org>
28301         getcwd: Work around getcwd bug on AIX 5..7.
28302         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
28303         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
28304         Use a different value for gl_cv_func_getcwd_path_max. Move the
28305         definition of HAVE_PARTLY_WORKING_GETCWD from here...
28306         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
28307         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
28308         Define HAVE_MINIMALLY_WORKING_GETCWD.
28309         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
28310         where it is not even minimally working, that is, on AIX.
28311         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
28312         m4/getcwd-path-max.m4.
28313         (main): Update exit code computation.
28314         * doc/posix-functions/getcwd.texi: Mention list of platforms where
28315         getcwd does not handle long file names.
28317 2011-11-20  Bruno Haible  <bruno@clisp.org>
28319         getcwd: Fix bug from 2009-09-10.
28320         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
28321         like "no".
28323 2011-11-20  Simon Josefsson  <simon@josefsson.org>
28325         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
28327 2011-11-20  Bruno Haible  <bruno@clisp.org>
28329         fma tests: Avoid shadowing local variables.
28330         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
28331         expected.
28333 2011-11-20  Bruno Haible  <bruno@clisp.org>
28335         copysignf tests: Fix.
28336         * tests/test-copysignf.c: Fix signature check.
28338 2011-11-20  Bruno Haible  <bruno@clisp.org>
28340         fma: Remove unused code.
28341         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
28342         unused macros.
28344 2011-11-20  Bruno Haible  <bruno@clisp.org>
28346         sethostname: Fix doc about AIX.
28347         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
28348         sethostname; it has it.
28350         sethostname: Mention more portability problems.
28351         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
28352         problem.
28353         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28355 2011-11-19  Bruno Haible  <bruno@clisp.org>
28357         Depend on module fcntl-h when AT_FDCWD is used.
28358         * modules/utimens (Depends-on): Add fcntl-h.
28359         * modules/areadlinkat (Depends-on): Likewise.
28360         * modules/areadlinkat-with-size (Depends-on): Likewise.
28361         * modules/faccessat (Depends-on): Likewise.
28362         * modules/fchmodat (Depends-on): Likewise.
28363         * modules/fchownat (Depends-on): Likewise.
28364         * modules/getcwd (Depends-on): Likewise.
28365         * modules/mkdirat (Depends-on): Likewise.
28366         * modules/mkfifoat (Depends-on): Likewise.
28367         * modules/readlinkat (Depends-on): Likewise.
28368         * modules/symlinkat (Depends-on): Likewise.
28369         * modules/dup2-tests (Depends-on): Likewise.
28370         * modules/fdutimensat-tests (Depends-on): Likewise.
28371         * modules/futimens-tests (Depends-on): Likewise.
28373 2011-11-19  Bruno Haible  <bruno@clisp.org>
28375         euidaccess: Update a comment.
28376         * lib/euidaccess.c: Update comment about platforms with faccessat.
28378 2011-11-19  Bruno Haible  <bruno@clisp.org>
28380         openat: Fix file list.
28381         * modules/openat (Files): Remove lib/at-func.c.
28383 2011-11-19  Bruno Haible  <bruno@clisp.org>
28385         fstatat: Simplify.
28386         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
28387         gnulib should define rpl_fstatat, there is a
28388         "#define fstatat rpl_fstatat" in <sys/stat.h>.
28390 2011-11-19  Bruno Haible  <bruno@clisp.org>
28392         Ensure 'inline' can be used in tests/test-utimens-common.h.
28393         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
28394         * modules/futimens-tests (configure.ac): Likewise.
28395         * modules/utimens-tests (configure.ac): Likewise.
28396         * modules/utimensat-tests (configure.ac): Likewise.
28398 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28400         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
28401         not hash_insert0.
28402         (hash_insert_if_absent): Doc fix.
28404 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28406         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
28408 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28410         test-getcwd: disambiguate exit status
28411         * tests/test-getcwd.c (test_long_name): Return 0..7.
28412         (main): Exit with an unambiguous exit status.  The old
28413         code yielded a mysterious mixture of two failure codes.
28415         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
28416         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
28417         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
28418         rpl_fstatat or fstatat.  This should fix the other problem
28419         reported by Kai Habel in
28420         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28421         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
28422         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
28423         and I reproduced it on a Solaris 8 host we still have in production.
28425 2011-11-18  Jim Meyering  <meyering@redhat.com>
28427         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
28428         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
28429         Add a sentence to the comment.
28430         (hash_insert0): New function that simply calls hash_insert_if_absent.
28431         * lib/hash.h (hash_insert_if_absent): Declare it.
28432         (hash_insert0): Add deprecation attribute.
28433         (_GL_ATTRIBUTE_DEPRECATED): Define.
28434         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
28435         not hash_insert0.
28436         * NEWS: Mention it, even though it's not really an incompatible change.
28438 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
28440         openat: avoid compilation failure due to lack of <errno.h> inclusion
28441         * lib/openat.c: Include <errno.h>.
28443 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28445         * modules/getcwd (Depends-on): Add fdopendir.
28446         This fixes one of the two problems reported by Kai Habel in
28447         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28449         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
28450         stdalign problem reported by Ian Beckwith in
28451         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
28452         * modules/crypto/gc-arcfour (Depends-on):
28453         Depend conditionally on crypto/arcfour.
28454         * modules/crypto/gc-arctwo (Depends-on):
28455         Depend conditionally on crypto/arctwo.
28456         * modules/crypto/gc-des (Depends-on):
28457         Depend conditionally on crypto/des.
28458         * modules/crypto/gc-hmac-md5 (Depends-on):
28459         Depend conditionally on crypto/hmac-md5.
28460         * modules/crypto/gc-hmac-sha1 (Depends-on):
28461         Depend conditionally on crypto/hmac-sha1.
28462         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
28463         * modules/crypto/gc-md4 (Depends-on):
28464         Depend conditionally on crypto/md4.
28465         * modules/crypto/gc-md5 (Depends-on):
28466         Depend conditionally on crypto/md5.
28467         * modules/crypto/gc-rijndael (Depends-on):
28468         Depend conditionally on crypto/rijndael.
28469         * modules/crypto/gc-sha1 (Depends-on):
28470         Depend conditionally on crypto/sha1.
28471         * modules/crypto/gc-arcfour:
28472         * modules/crypto/gc-arctwo:
28473         * modules/crypto/gc-des:
28474         * modules/crypto/gc-hmac-md5:
28475         * modules/crypto/gc-hmac-sha1:
28476         * modules/crypto/gc-md2:
28477         * modules/crypto/gc-md4:
28478         * modules/crypto/gc-md5:
28479         * modules/crypto/gc-rijndael:
28480         * modules/crypto/gc-sha1:
28481         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28482         now that the conditional dependencies do the work for us.
28484 2011-11-17  Jim Meyering  <meyering@redhat.com>
28486         tests: factor st_ctime-comparison out of two headers
28487         * tests/test-utimens-common.h (ctime_compare): Define.
28488         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28489         * tests/test-lutimens.h (test_lutimens): Likewise.
28490         * tests/test-utimens.h (test_utimens): Likewise.
28492         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28493         Invoke the test program via an init.sh-using wrapper.
28494         * tests/test-getcwd.sh: New file.
28495         * modules/getcwd-tests (Files): Add it.
28496         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28498 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28500         gitlog-to-changelog: support multi-author commits.
28501         The FSF cares about keeping track of all authors of patches to its
28502         projects, but Git doesn't provide obvious support for multi-author
28503         changesets. Consensus seems to be forming around the use of extra
28504         Signed-off-by inspired lines in the log message formatted as
28505         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28506         multi-author commits between version control systems.
28507         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28508         log message and output in standard ChangeLog multi-author format.
28509         Reported by Peter Rosin <peda@lysator.liu.se>
28511 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28512             Bruno Haible  <bruno@clisp.org>
28514         Fix some modules' file list.
28515         * modules/fstatat (Files): Add m4/lstat.m4.
28516         * modules/openat (Files): Likewise.
28517         * modules/unlinkat (Files): Likewise.
28519 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28521         maint.mk: fix tight-scope.mk generation in VPATH builds.
28522         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28523         reference with $(srcdir) so that the file is found correctly even
28524         when running `make syntax-check' in a VPATH build.
28526 2011-11-13  Bruno Haible  <bruno@clisp.org>
28527             Jim Meyering  <meyering@redhat.com>
28529         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28530         * tests/init.sh (compare): Remove "No differences encountered" or
28531         synonymous output from the 'diff' program.
28533 2011-11-13  Bruno Haible  <bruno@clisp.org>
28535         Makefile: Tweak indentation.
28536         * Makefile: Use tab as first character in every line that contains rule
28537         commands.
28539 2011-11-13  Bruno Haible  <bruno@clisp.org>
28541         Syntax check for copyright statements.
28542         * check-copyright: New file.
28543         * Makefile (sc_check_copyright): New rule.
28545 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28547         * build-aux/git-version-gen: Add --prefix to configure the tag
28548         match string.
28550 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28552         * build-aux/git-version-gen: Add --help and --version.
28554 2011-11-12  Jim Meyering  <meyering@redhat.com>
28556         revamp the other test-exclude?.sh scripts to use init.sh, too
28557         * tests/test-exclude1.sh: Use init.sh.
28558         * tests/test-exclude2.sh: Likewise.
28559         * tests/test-exclude3.sh: Likewise.
28560         * tests/test-exclude4.sh: Likewise.
28561         * tests/test-exclude5.sh: Likewise.
28562         * tests/test-exclude6.sh: Likewise.
28563         * tests/test-exclude7.sh: Likewise.
28564         * tests/test-exclude8.sh: Likewise.
28565         * modules/exclude-tests (Files): List init.sh.
28567         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28568         These shell scripts ignored failure of the binary test-exclude,
28569         so making the latter return 77 didn't cause them to be skipped.
28570         * tests/test-exclude5.sh: Exit with test-exclude's error status
28571         when that program fails.  Revamp to use init.sh.
28572         * tests/test-exclude2.sh: Likewise.
28574         test-exclude: fix a typo
28575         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28577 2011-11-11  Bruno Haible  <bruno@clisp.org>
28579         obstack: Fix compilation error on MSVC 9.
28580         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28582 2011-11-11  Jim Meyering  <meyering@redhat.com>
28584         test-exclude: skip tests rather than failing on deficient systems
28585         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28586         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28587         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28588         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28590 2011-11-10  Bruno Haible  <bruno@clisp.org>
28592         ptsname_r test: Avoid gcc warning on glibc systems.
28593         * tests/test-ptsname_r.c (null_ptr): New function.
28594         (test_errors): Use it.
28596 2011-11-10  Bruno Haible  <bruno@clisp.org>
28598         ptsname_r: Avoid compilation error on OSF/1 5.1.
28599         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28601         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28602         function is not declared or incompatibly declared.
28603         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28604         * modules/ptsname_r (Depends-on, configure.ac): Update.
28605         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28607 2011-11-10  Bruno Haible  <bruno@clisp.org>
28609         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28610         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28611         When cross-compiling, guess yes on all platforms except AIX.
28612         Reported by Ludovic Courtès <ludo@gnu.org>.
28614 2011-11-09  Bruno Haible  <bruno@clisp.org>
28616         ptsname_r tests: Fix bugs.
28617         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28618         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28620 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28622         fstatat: work with cross-compilation
28623         Problem reported by Ludovic Courtès in
28624         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28625         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28626         "cross-compiling" and assume the bug is present.  Replace
28627         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28628         an inverted sense, to be more conservative about our assumptions.
28629         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28631 2011-11-09  Bruno Haible  <bruno@clisp.org>
28633         Improve MODULES.html output.
28634         * modules/mkfifoat (Description): Use the word "function".
28635         * modules/readlinkat (Description): Likewise.
28636         * modules/symlinkat (Description): Likewise.
28638 2011-11-09  Eric Blake  <eblake@redhat.com>
28640         ptsname_r-tests: new test module
28641         * modules/ptsname_r-tests: New module.
28642         * tests/test-ptsname_r.c: New file.
28644         ptsname_r: new module
28645         * modules/ptsname_r: New module.
28646         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28647         * lib/ptsname.c (__ptsname_r): Split...
28648         * lib/ptsname_r.c: ...into new file.
28649         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28650         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28651         * modules/stdlib (Makefile.am): Substitute witnesses.
28652         * lib/stdlib.in.h (ptsname_r): Declare it.
28653         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28654         * MODULES.html.sh (Misc): Likewise.
28655         * modules/ptsname (Depends-on): Alter dependency.
28656         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28658 2011-11-09  Jim Meyering  <meyering@redhat.com>
28660         announce-gen: be more concise when there's only one URL+tarball
28661         * build-aux/announce-gen (get_tool_versions): When you distribute
28662         only one type of tarball, combine the first two "Here are..."
28663         sections and make the key-checking grammar independent of
28664         how many tarballs there are.
28666 2011-11-09  Eric Blake  <eblake@redhat.com>
28668         openpty: provide a stub on mingw
28669         * lib/pty.in.h (includes): Provide forward declarations.
28670         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28672         raise: fix mingw handling of SIGPIPE
28673         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28675 2011-11-08  Bruno Haible  <bruno@clisp.org>
28677         More conditional dependencies.
28678         * modules/faccessat (Depends-on): Add conditions.
28679         * modules/fchmodat (Depends-on): Likewise.
28680         * modules/fchownat (Depends-on): Likewise.
28681         * modules/fstatat (Depends-on): Likewise.
28682         * modules/mkfifoat (Depends-on): Likewise.
28683         * modules/readlinkat (Depends-on): Likewise.
28684         * modules/symlinkat (Depends-on): Likewise.
28685         * modules/unlinkat (Depends-on): Likewise.
28686         * modules/utimensat (Depends-on): Likewise.
28687         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28688         * modules/linkat (Depends-on): Refine the conditions.
28689         * modules/renameat (Depends-on): Likewise.
28691 2011-11-08  Bruno Haible  <bruno@clisp.org>
28693         faccessat: Move AC_LIBOBJ invocation to module description.
28694         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28695         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28696         invocation from here...
28697         * modules/faccessat (configure.ac): ... to here. Invoke
28698         gl_PREREQ_FACCESSAT.
28700 2011-11-08  Bruno Haible  <bruno@clisp.org>
28702         faccessat: Simplify autoconf macro.
28703         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28704         gl_FUNC_EUIDACCESS.
28706 2011-11-08  Bruno Haible  <bruno@clisp.org>
28708         renameat: Fix dependencies.
28709         * modules/renameat (Depends-on): Add stdbool.
28711 2011-11-08  Bruno Haible  <bruno@clisp.org>
28713         mkfifoat: Fix module description.
28714         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28715         not gl_UNISTD_MODULE_INDICATOR.
28717 2011-11-08  Bruno Haible  <bruno@clisp.org>
28719         fstatat: Remove unused dependency.
28720         * modules/fstatat (Depends-on): Remove fstat.
28722 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28724         GNUmakefile: behave when Makefile is missing.
28725         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28727 2011-11-08  Bruno Haible  <bruno@clisp.org>
28729         openat: Conditionalize dependencies.
28730         * lib/openat.c: Reduce the scope of some #includes.
28731         * modules/openat (Depends-on): Add conditions.
28733 2011-11-07  Jim Meyering  <meyering@redhat.com>
28735         maint.mk: extract GPG key ID without using a temporary file
28736         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28737         without using a temporary file.  Based on a suggestion from Werner Koch
28738         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28740 2011-11-07  Eric Blake  <eblake@redhat.com>
28742         grantpt: fix typo
28743         * lib/stdlib.in.h (grantpt): Check correct function.
28745         maint.mk: silence new syntax check
28746         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28748 2011-11-06  Bruno Haible  <bruno@clisp.org>
28750         Doc about floating-point and math API.
28751         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28752         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28754 2011-11-06  Bruno Haible  <bruno@clisp.org>
28756         stdalign tests: Skip the test when compiled by Sun C.
28757         * tests/test-stdalign.c (main): Skip the test on Sun C.
28759 2011-11-06  Bruno Haible  <bruno@clisp.org>
28761         ansi-c++-opt: Complete the 2011-06-05 change.
28762         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28763         does not support namespaces, set the variable to "no", not to ":".
28765 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28767         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28769 2011-11-06  Bruno Haible  <bruno@clisp.org>
28771         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28772         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28773         (minus_zerol) [HP-UX]: New macro.
28774         (unary_minus) [HP-UX]: New function.
28775         (copysignl) [HP-UX]: Use unary_minus function.
28777 2011-11-06  Bruno Haible  <bruno@clisp.org>
28779         ldexp, ldexpf, ldexpl: Enhance tests.
28780         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28781         and tests/test-ldexpl.c.
28782         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28783         LDEXP, MIN_EXP, MAX_EXP): New macros.
28784         Include test-ldexp.h.
28785         (main): Just call test_function.
28786         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28787         infinity.h, nan.h.
28788         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28789         MAX_EXP): New macros.
28790         Include test-ldexp.h.
28791         (x, y): Remove variables.
28792         (main): Just call test_function.
28793         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28794         infinity.h, nan.h.
28795         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28796         MAX_EXP): New macros.
28797         Include test-ldexp.h.
28798         (x, y): Remove variables.
28799         (main): Just call test_function.
28800         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28801         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28802         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28803         (Depends-on): Add isnand-nolibm, signbit, float.
28804         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28805         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28806         (Depends-on): Add isnanf-nolibm, signbit, float.
28808 2011-11-06  Bruno Haible  <bruno@clisp.org>
28810         math tests: Cosmetics.
28811         * tests/test-math-c++.cc: Reorder declarations.
28813 2011-11-05  Bruno Haible  <bruno@clisp.org>
28815         fma*: Simplify test.
28816         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28817         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28819         Tests for module 'fmal'.
28820         * modules/fmal-tests: New file.
28821         * tests/test-fmal1.c: New file.
28822         * tests/test-fmal2.c: New file.
28824         New module 'fmal'.
28825         * lib/math.in.h (fmal): New declaration.
28826         * lib/fmal.c: New file.
28827         * m4/fmal.m4: New file.
28828         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28829         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28830         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28831         REPLACE_FMAL.
28832         * modules/fmal: New file.
28833         * doc/posix-functions/fmal.texi: Mention the new module and the various
28834         bugs.
28836         Tests for module 'fmaf'.
28837         * modules/fmaf-tests: New file.
28838         * tests/test-fmaf1.c: New file.
28839         * tests/test-fmaf2.c: New file.
28841         New module 'fmaf'.
28842         * lib/math.in.h (fmaf): New declaration.
28843         * lib/fmaf.c: New file.
28844         * m4/fmaf.m4: New file.
28845         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28847         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28848         REPLACE_FMAF.
28849         * modules/fmaf: New file.
28850         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28851         bugs.
28853         Tests for module 'fma'.
28854         * modules/fma-tests: New file.
28855         * tests/test-fma1.c: New file.
28856         * tests/test-fma1.h: New file.
28857         * tests/test-fma2.c: New file.
28858         * tests/test-fma2.h: New file.
28860         New module 'fma'.
28861         * lib/math.in.h (fma): New declaration.
28862         * lib/fma.c: New file.
28863         * m4/fma.m4: New file.
28864         * m4/fegetround.m4: New file.
28865         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28867         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28868         REPLACE_FMA.
28869         * modules/fma: New file.
28870         * doc/posix-functions/fma.texi: Mention the new module and the various
28871         bugs.
28873         Extend gl_MATHFUNC.
28874         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28875         Support 'void' as argument type.
28876         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28878 2011-11-05  Jim Meyering  <meyering@redhat.com>
28880         maint.mk: also prohibit inclusion of dirent.h without use
28881         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28883 2011-11-05  Bruno Haible  <bruno@clisp.org>
28885         ldexpl tests: Avoid test failure on MSVC 9.
28886         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28887         value. Needed in order to enforce the conversion from a value greater
28888         than LDBL_MAX to Infinity.
28890 2011-11-05  Bruno Haible  <bruno@clisp.org>
28892         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28893         * modules/at-internal: New file, extracted from modules/openat.
28894         * modules/openat-h: New file.
28895         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28896         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28897         * modules/openat (Description): Add reference to POSIX function.
28898         (Files): Remove lib/openat.h, lib/openat-proc.c.
28899         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28900         intprops, unistd.
28901         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28902         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28903         gl_FCNTL_MODULE_INDICATOR.
28904         (Include): Remove unistd.h, openat.h.
28905         * modules/areadlinkat (Files): Add lib/at-func.c.
28906         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28907         openat-die, openat-h, save-cwd.
28908         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28909         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28910         openat-die, openat-h, save-cwd, unistd.
28911         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28912         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28913         openat-h, save-cwd. Remove fcntl-h, openat.
28914         * modules/fchmodat (Files): Remove lib/openat.h.
28915         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28916         openat, stdbool, unistd.
28917         * modules/fchownat (Files): Remove lib/openat.h.
28918         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28919         openat, stdbool, sys_stat.
28920         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28921         lib/openat-proc.c.
28922         (Depends-on): Add at-internal.
28923         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28924         * modules/fstatat (Files): Remove lib/openat.h.
28925         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28926         stdbool, unistd.
28927         * modules/fts (Depends-on): Add openat-h.
28928         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28929         openat.
28930         * modules/mkdirat (Files): Remove lib/openat.h.
28931         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28932         openat, stdbool, sys_stat.
28933         * modules/mkfifoat (Files): Add lib/at-func.c.
28934         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28935         openat-h, save-cwd. Remove fcntl-h, openat.
28936         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28937         * modules/readlinkat (Files): Add lib/at-func.c.
28938         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28939         openat-h, save-cwd. Remove fcntl-h, openat.
28940         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28941         openat.
28942         * modules/selinux-at (Files): Add lib/at-func.c.
28943         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28944         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28945         * modules/symlinkat (Files): Add lib/at-func.c.
28946         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28947         openat-h, save-cwd. Remove fcntl-h, openat.
28948         * modules/unlinkat (Files): Remove lib/openat.h.
28949         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28950         stdbool.
28951         * modules/utimensat (Files): Add lib/at-func.c.
28952         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28953         openat-die, openat-h, save-cwd.
28954         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28955         * modules/fdutimensat-tests (Depends-on): Add openat.
28956         * modules/fstatat-tests (Depends-on): Add openat-h.
28957         * modules/readlinkat-tests (Depends-on): Add openat.
28958         * modules/symlinkat-tests (Depends-on): Add openat.
28960 2011-11-05  Bruno Haible  <bruno@clisp.org>
28962         openat: Include <stdbool.h>.
28963         * lib/openat.c: Include <stdbool.h>.
28965 2011-11-04  Bruno Haible  <bruno@clisp.org>
28967         fchownat, renameat, unlinkat: Fix dependencies.
28968         * modules/fchownat (Depends-on): Add fstatat.
28969         * modules/renameat (Depends-on): Likewise.
28970         * modules/unlinkat (Depends-on): Likewise.
28972 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28974         openat: remove direct dependency on dirent
28975         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28976         and hasn't been needed ever since fdopendir was split into its own
28977         module on 2009-08-31.
28978         * modules/openat (Depends-on): Remove dirent.
28980 2011-11-04  Bruno Haible  <bruno@clisp.org>
28982         renameat: Optimize code size.
28983         * modules/renameat (configure.ac): Don't compile at-func2.c if
28984         REPLACE_RENAMEAT is 1.
28986 2011-11-04  Bruno Haible  <bruno@clisp.org>
28988         openat tests: Fix file list.
28989         * modules/openat-tests (Files): Add tests/test-open.h.
28991 2011-11-04  Bruno Haible  <bruno@clisp.org>
28993         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28994         * modules/fchmodat (Depends-on): Add openat-die.
28995         * modules/fchownat (Depends-on): Likewise.
28996         * modules/linkat (Depends-on): Likewise.
28997         * modules/renameat (Depends-on): Likewise.
28998         * modules/openat (Depends-on): Add dirent.
29000 2011-11-04  Jim Meyering  <meyering@redhat.com>
29002         at-func*.c: fix comments
29003         * lib/at-func2.c: Correct/improve first-line comment.
29004         * lib/at-func.c: Correct grammar in first-line comment.
29006 2011-11-04  Bruno Haible  <bruno@clisp.org>
29008         New module 'mkdirat', split off from module 'openat'.
29009         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
29010         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
29011         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
29012         * modules/mkdirat: New file, extracted from modules/openat.
29013         * modules/openat (Files): Remove lib/mkdirat.c.
29014         (Depends-on): Remove mkdir.
29015         (configure.ac): Remove AC_LIBOBJ of mkdirat.
29016         (Include): Remove <sys/stat.h>.
29017         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
29018         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
29019         tests/test-mkdir.h.
29020         (Depends-on): Remove ignore-value.
29021         (Makefile.am): Remove rules for test-mkdirat.
29022         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
29023         of module 'openat'.
29024         * NEWS: Mention the change.
29026 2011-11-04  Bruno Haible  <bruno@clisp.org>
29028         closedir: Avoid warning on mingw.
29029         * lib/closedir.c: Include <unistd.h>.
29031 2011-11-04  Bruno Haible  <bruno@clisp.org>
29033         New module 'fstatat', split off from module 'openat'.
29034         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
29035         defined.
29036         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
29037         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
29038         gl_FUNC_FSTATAT.
29039         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
29040         * modules/fstatat: New file, extracted from modules/openat.
29041         * modules/openat (Files): Remove lib/fstatat.c.
29042         (Depends-on): Remove lstat.
29043         (configure.ac): Remove AC_LIBOBJ of fstatat.
29044         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
29045         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
29046         tests/test-lstat.h, tests/test-stat.h.
29047         (Depends-on): Remove getcwd-lgpl.
29048         (Makefile.am): Remove rules for test-fstatat.
29049         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
29050         of module 'openat'.
29051         * NEWS: Mention the change.
29052         * modules/getcwd (Depends-on): Add fstatat.
29053         * modules/linkat (Depends-on): Likewise.
29054         * modules/mkfifoat-tests (Depends-on): Likewise.
29055         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
29057 2011-11-03  Bruno Haible  <bruno@clisp.org>
29059         New module 'unlinkat', split off from module 'openat'.
29060         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
29061         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
29062         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
29063         * modules/unlinkat: New file, extracted from modules/openat. Correct
29064         the dependency conditions.
29065         * modules/openat (Files): Remove lib/unlinkat.c.
29066         (Depends-on): Remove rmdir, unlink.
29067         (configure.ac): Remove AC_LIBOBJ of unlinkat.
29068         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
29069         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
29070         tests/test-rmdir.h, tests/test-unlink.h.
29071         (Depends-on): Remove unlinkdir.
29072         (Makefile.am): Remove rules for test-unlinkat.
29073         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
29074         of module 'openat'.
29075         * NEWS: Mention the change.
29076         * modules/linkat-tests (Depends-on): Add unlinkat.
29077         * modules/mkfifoat-tests (Depends-on): Likewise.
29078         * modules/readlinkat-tests (Depends-on): Likewise.
29080 2011-11-02  Bruno Haible  <bruno@clisp.org>
29082         New module 'fchmodat', split off from module 'openat'.
29083         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
29084         defined.
29085         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
29086         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
29087         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
29088         * modules/fchmodat: New file, extracted from modules/openat.
29089         * modules/openat (Files): Remove lib/fchmodat.c.
29090         (configure.ac): Remove AC_LIBOBJ of fchmodat.
29091         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
29092         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
29093         (Makefile.am): Remove rules for test-fchmodat.
29094         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
29095         of module 'openat'.
29096         * NEWS: Mention the change.
29098 2011-11-02  Jim Meyering  <meyering@redhat.com>
29100         putenv: indent #definition of "environ" to placate cppi
29101         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
29103         gitlog-to-changelog: provide a ChangeLog-repair mechanism
29104         Git logs are often treated as immutable, because editing them
29105         changes the SHA1 checksums of all descendants.  Thus, errors in
29106         git logs tend to stay there forever.  However, when we generate
29107         a ChangeLog file -- typically for distribution -- from that git log,
29108         we can actually make corrections in the generated file.  The key
29109         lies in recording in machine-readable/applicable form the desired
29110         corrections.  See --help for description and an example.
29111         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
29112         (usage): Describe it; alphabetize option descriptions.
29113         (main): Honor the new option, carefully.
29115 2011-11-01  Jim Meyering  <meyering@redhat.com>
29117         gitlog-to-changelog: avoid an infloop
29118         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
29119         that ends up being empty.
29121 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29123         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
29124         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
29125         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
29126         contains (possibly-quoted) backslashes.  This should avoid
29127         all-too-common shell bugs if COMPLICATED contains backslashes in
29128         the "wrong" places.  Reported by David Evans in
29129         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
29130         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
29131         because we want ASCII ranges.  Is there some reason we don't use
29132         the C locale everywhere in this script?
29133         (func_module, top level): Avoid unwanted pathname expansion when
29134         $repo_url_prefix or $repo_url_suffix_repl contain shell
29135         metacharacters like '?' and '*'.
29137 2011-11-01  Bruno Haible  <bruno@clisp.org>
29139         fchownat: Improve description.
29140         * modules/fchownat (Description): Add link to function.
29142 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29144         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
29145         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
29146         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
29147         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29149 2011-11-01  Bruno Haible  <bruno@clisp.org>
29151         alignof: Avoid collision with stdalign module.
29152         * lib/alignof.h (alignof): Remove macro.
29153         * NEWS: Mention the change.
29154         Reported by Paul Eggert.
29156 2011-11-01  Bruno Haible  <bruno@clisp.org>
29158         New module 'fchownat', split off from module 'openat'.
29159         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
29160         defined.
29161         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
29162         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
29163         invoke gl_FUNC_FCHOWNAT.
29164         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
29165         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
29166         * modules/fchownat: New file, extracted from modules/openat.
29167         * modules/openat (Files): Remove lib/fchownat.c.
29168         (Depends-on): Remove lchown.
29169         (configure.ac): Remove AC_LIBOBJ of fchownat.
29170         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
29171         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
29172         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
29173         (Depends-on): Remove mgetgroups, usleep, stat-time.
29174         (configure.ac): Remove test for getegid.
29175         (Makefile.am): Remove rules for test-fchownat.
29176         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
29177         of module 'openat'.
29178         * NEWS: Mention the change.
29180 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
29182         stdalign: port better to MSVC and to Sun C 5.11
29183         This fixes some of the problems reported by Bruno Haible in
29184         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
29185         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
29186         shortcomings of MSVC and of Sun C 5.11.
29187         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
29188         around __declspec arg.
29189         * modules/stdalign-tests (Files): Add tests/macros.h.
29190         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
29191         Include macros.h, for ASSERT.
29192         (DECLARE_ALIGNED): Remove.
29193         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
29194         to catch bug), and to 1 if not (simplifies the rest of the code).
29195         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
29196         (CHECK_AUTO): Remove.
29197         (CHECK_ALIGNED): Check only the alignment of the static vars,
29198         since auto var alignment isn't supported by Sun C 5.11.
29199         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
29200         ASSERT failures are easier to diagnose.
29202 2011-10-31  Bruno Haible  <bruno@clisp.org>
29204         doc about some IRIX 5.3 problems.
29205         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
29206         on IRIX 5.3.
29207         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
29208         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
29209         5.3.
29210         * doc/posix-functions/grantpt.texi: Likewise.
29211         * doc/posix-functions/unlockpt.texi: Likewise.
29212         * doc/posix-functions/lgamma.texi: Likewise.
29213         * doc/posix-functions/nextafter.texi: Likewise.
29214         * doc/posix-functions/remainder.texi: Likewise.
29215         * doc/posix-functions/select.texi: Mention misplaced declaration on
29216         IRIX 5.3.
29217         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29219 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
29221         gitlog-to-changelog: fix git-log invocation.
29222         git-log mishandles date strings before 1970-01-01 UTC, and there is
29223         no use to specify --since=1970-01-01 by default anyway.
29224         * build-aux/gitlog-to-changelog: By default, when no --since option
29225         was given, do not specify explicit --since option to git-log.
29227 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
29229         gitlog-to-changelog: new option --append-dot.
29230         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
29231         first non-blank line of each commit message terminated with a dot.
29233 2011-10-30  Bruno Haible  <bruno@clisp.org>
29235         ffsl, ffsll: Avoid compilation error due to 'restrict'.
29236         * lib/ffsl.h: Include <config.h>.
29237         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
29239 2011-10-30  Jim Meyering  <meyering@redhat.com>
29241         GNUmakefile: reenable "make syntax-check" for most projects
29242         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
29243         build-aux variable", "syntax-check" would do nothing but succeed with
29244         the "No version control files detected..." diagnostic (unless you
29245         happened to override _build-aux via cfg.mk).
29246         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
29247         to precede inclusion of maint.mk.  Otherwise, these variables would
29248         be used undefined in any project that does not override the default.
29250 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
29252         gitlog-to-changelog: treat a message with only blank lines as empty.
29253         * build-aux/gitlog-to-changelog: Move the code that removes leading and
29254         trailing blank lines before the code that issues a warning about an
29255         empty commit message.
29257 2011-10-30  Jim Meyering  <meyering@redhat.com>
29259         test-parse-datetime.c: avoid new DST-related false positive test failure
29260         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
29261         based on the time/date we'll convert, not the current time.
29262         Otherwise, the moment we cross a DST boundary like today's in
29263         Europe, (CEST to CET), that offset ends up being one hour off.
29265 2011-10-27  Bruno Haible  <bruno@clisp.org>
29267         fstat: Tweak documentation.
29268         * modules/fstat (Description): More precise description.
29270 2011-10-27  Bruno Haible  <bruno@clisp.org>
29272         Update documentation regarding 'largefile' module.
29273         * doc/posix-functions/fstat.texi: Tweak wording.
29274         * doc/posix-functions/opendir.texi: Mention that the module fixes the
29275         problems with huge directories and/or small ino_t types.
29276         * doc/posix-functions/readdir.texi: Likewise.
29277         * doc/posix-functions/rewinddir.texi: Likewise.
29279 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
29281         maint.mk: don't maintain a second build-aux variable.
29282         * maint.mk (build_aux): Removed.  The maintainer-makefile module
29283         depends on GNUmakefile, which already maintains a cfg.mk
29284         overridable $(_build-aux) for projects with a non-standard
29285         build-aux directory location, although without the $(srcdir)
29286         prefix.  Use that variable consistently instead of introducing a
29287         second one.  Adjust all call sites.
29289 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
29291         Add stdalign module and use it in other modules.
29292         This is based on a previous proposal by Bruno Haible
29293         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
29295         stdalign: new module
29296         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
29297         * modules/stdalign: New files.
29298         * MODULES.html.sh (c1x_core_properties): Add stdalign.
29299         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
29301         stdalign-tests: new module
29302         * modules/stdalign-tests, tests/test-stdalign.c: New files.
29304         argp: use stdalign
29305         * lib/argp-parse.c: Include <stdalign.h>.
29306         (alignof): Remove.
29307         * modules/argp (Depends-on): Add stdalign.
29309         crypto libraries: use stdalign
29310         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29311         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
29312         Do not include <stdlib.h> twice, in md4.c.
29313         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
29314         because we are accessing a pointer's bit-pattern, not a size.
29315         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
29316         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
29317         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
29318         * modules/crypto/sha512: Likewise.
29320         sys_socket: use stdalign, not alignof
29321         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
29322         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
29324 2011-10-27  Bruno Haible  <bruno@clisp.org>
29326         raise test: Avoid a test failure on Linux/MIPS.
29327         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
29328         because 99 is a valid signal on Linux/MIPS.
29330 2011-10-27  Bruno Haible  <bruno@clisp.org>
29332         nonblocking tests: Fix test failure on Linux/MIPS.
29333         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
29334         Set to 270000.
29336 2011-10-27  Bruno Haible  <bruno@clisp.org>
29338         utimensat: Work around problem on Linux/hppa.
29339         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
29340         values.
29341         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
29343 2011-10-25  Jim Meyering  <meyering@redhat.com>
29345         maint.mk: fix a bug in sc_prohibit_stddef_without_use
29346         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
29347         after symbols like NULL, size_t, etc.
29348         Reported by Alfred M. Szmidt.
29350         maint.mk: exempt ENODATA from a syntax-check rule
29351         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
29352         from the sc_prohibit_always-defined_macros syntax-check rule.
29353         Add a comment.  See this for more details:
29354         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
29356 2011-10-23  Jim Meyering  <meyering@redhat.com>
29358         fts: close parent dir FD before returning from post-traversal fts_read
29359         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
29360         unlink A, even though an FD open on A remained.  This is suboptimal
29361         (holding a file descriptor open longer than needed), but otherwise not
29362         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
29363         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
29364         that represents a real problem: it causes the removal of A to fail
29365         with e.g., "rm: cannot remove `A': Device or resource busy"
29367         fts visits each directory twice and keeps a cache (fts_fd_ring) of
29368         directory file descriptors.  After completing the final, FTS_DP,
29369         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
29370         cache, but then proceeded to add a new FD to it via the subsequent
29371         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
29372         final file descriptor would be closed only via fts_close's call to
29373         fd_ring_clear.  Now, it is usually closed earlier, via the final
29374         FTS_DP-returning fts_read call.
29375         * lib/fts.c (restore_initial_cwd): New function, converted from
29376         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
29377         Update callers.
29378         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
29379         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
29381 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
29382             Bruno Haible  <bruno@clisp.org>
29383             Jim Meyering  <jim@meyering.net>
29385         readme-release: improve safety of release prep instructions.
29386         * README-release: Don't git pull all branches when only master
29387         is needed for the release process.
29388         Run make maintainer-clean before changing trees and merging.
29389         Don't try to run ./configure right after git pull in case files
29390         that influence the bootstrap process have changed, move the
29391         ./configure step to after running ./bootstrap.
29392         Don't bootstrap "one last time"... it's the first time!
29394 2011-10-22  Bruno Haible  <bruno@clisp.org>
29396         errno, strerror-override: Support for MSVC 10.
29397         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
29398         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
29399         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
29400         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
29401         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
29402         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
29403         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
29404         Assign values compatible with MSVC 10.
29405         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
29406         New macros.
29407         (GNULIB_defined_EWINSOCK): New macro.
29408         * lib/strerror-override.c (strerror_override): Update accordingly.
29409         * lib/strerror-override.h: Likewise.
29410         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
29411         longer equal to the corresponding errno value.
29412         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29414 2011-10-22  Bruno Haible  <bruno@clisp.org>
29416         perror: Recognize when test program crashes.
29417         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
29418         strerror, set gl_cv_func_perror_works to no.
29419         Reported by Daniel Richard G. <skunk@iskunk.org>.
29421         perror: Fix indentation.
29422         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
29424 2011-10-22  Bruno Haible  <bruno@clisp.org>
29426         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
29427         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
29428         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
29429         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
29430         functions, not as a macro.
29431         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
29432         macros.
29433         (isfinite, isinf, isnan, signbit): Check overloaded functions and
29434         absence of macro.
29435         Suggested by Eric Blake.
29436         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29438 2011-10-21  Bruno Haible  <bruno@clisp.org>
29440         relocatable-prog-wrapper: Don't leave object files behind.
29441         * build-aux/install-reloc: Re-synchronize list of .o files to be
29442         removed with list of compilation units.
29444 2011-10-20  Bruno Haible  <bruno@clisp.org>
29446         openpty, posix_openpt: Remove code duplication.
29447         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
29448         * lib/openpty.c: Include <stdlib.h>.
29449         (openpty): Use posix_openpt on all platforms except IRIX.
29450         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
29452 2011-10-20  Bruno Haible  <bruno@clisp.org>
29454         unlockpt: Detect invalid argument.
29455         * lib/unlockpt.c: Include <fcntl.h>.
29456         (unlockpt): Check whether fd is valid, using fcntl().
29457         * modules/unlockpt (Depends-on): Add fcntl-h.
29459 2011-10-20  Bruno Haible  <bruno@clisp.org>
29461         openpty: Avoid compilation error on AIX 6.1.
29462         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
29464 2011-10-20  Bruno Haible  <bruno@clisp.org>
29466         posix_openpt: Support for OpenBSD.
29467         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
29468         (posix_openpt) [OpenBSD]: New code.
29469         * lib/grantpt.c: Include <fcntl.h>.
29470         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29471         * modules/grantpt (Depends-on): Add fcntl-h.
29473 2011-10-20  Bruno Haible  <bruno@clisp.org>
29475         posix_openpt test: Coding style.
29476         * tests/test-posix_openpt.c: Use GNU coding style.
29478 2011-10-20  Bruno Haible  <bruno@clisp.org>
29480         grantpt: Support --avoid=pt_chown.
29481         * modules/grantpt (Files): Add lib/pty-private.h.
29483 2011-10-20  Bruno Haible  <bruno@clisp.org>
29485         posix_openpt: Fix autoconf macro.
29486         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29487         unneeded check for _getpty.
29489 2011-10-20  Bruno Haible  <bruno@clisp.org>
29491         openpty: Update comments.
29492         * lib/openpty.c: Add comments about Minix.
29494 2011-10-19  Eric Blake  <eblake@redhat.com>
29496         openpty: relax license
29497         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29499         pt_chown: use configmake to simplify build
29500         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29502         ptsname and others: relax license
29503         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29504         * modules/unlockpt (License): Likewise.
29505         * modules/pt_chown (License): Likewise.
29506         * modules/ptsname (License): Likewise.
29507         * modules/ttyname_r (License): Likewise.
29509 2011-10-19  Jim Meyering  <meyering@redhat.com>
29511         posix_openpt: remove spurious #endif
29512         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29514 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29516         maint.mk: Respect $(build_aux) in web-manual rule.
29517         * top/maint.mk (web-manual): Find gen-announce script in user's
29518         $(build_aux) directory instead of hard-coding 'build-aux'.
29520 2011-10-19  Bruno Haible  <bruno@clisp.org>
29522         posix_openpt: Fix compilation error.
29523         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29524         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29525         Mention the openpty module as an alternative.
29527 2011-10-19  Bruno Haible  <bruno@clisp.org>
29529         Support for old NeXTstep 3.3 frexp().
29530         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29531         execution time of the test to 5 seconds.
29532         Reported by Daniel Richard G. <skunk@iskunk.org>.
29534 2011-10-19  Bruno Haible  <bruno@clisp.org>
29536         Support for old NeXTstep 3.3 sed.
29537         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29538         part, use /.../, not \|...|. Escape periods in the header file name.
29539         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29540         Reported by Daniel Richard G. <skunk@iskunk.org>.
29542 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29544         Support for old NeXTstep 3.3 gcc.
29545         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29546         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29547         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29548         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29549         * lib/regex.h (_Restrict_arr_): Likewise.
29550         * lib/regex_internal.h (re_token_t): Likewise.
29551         * lib/regexec.c (check_node_accept_bytes): Likewise.
29552         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29554 2011-10-18  Eric Blake  <eblake@redhat.com>
29556         posix_openpt: new module
29557         * modules/posix_openpt: New module.
29558         * m4/posix_openpt.m4: New file.
29559         * lib/posix_openpt.c: Likewise.
29560         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29561         (gl_STDLIB_H_DEFAULTS): Set defaults.
29562         * modules/stdlib (Makefile.am): Substitute macros.
29563         * lib/stdlib.in.h (posix_openpt): Declare.
29564         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29565         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29566         * modules/posix_openpt-tests: New test module.
29567         * tests/test-posix_openpt.c: New test.
29569 2011-10-15  Bruno Haible  <bruno@clisp.org>
29571         xstrtoll: Fix compilation failure.
29572         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29573         from lib/strtol.c.
29574         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29575         some platforms.
29576         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29578 2011-10-15  Bruno Haible  <bruno@clisp.org>
29580         vasnprintf: Optimize bit search operation.
29581         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29582         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29583         gl_DOUBLE_EXPONENT_LOCATION.
29584         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29585         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29586         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29587         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29588         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29589         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29590         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29591         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29592         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29594 2011-10-15  Bruno Haible  <bruno@clisp.org>
29596         vasnprintf: Fix comments.
29597         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29599 2011-10-14  Bruno Haible  <bruno@clisp.org>
29601         Tests for module 'integer_length_ll'.
29602         * modules/integer_length_ll-tests: New file.
29603         * tests/test-integer_length_ll.c: New file.
29605         New module 'integer_length_ll'.
29606         * lib/integer_length_ll.c: New file.
29607         * modules/integer_length_ll: New file.
29609 2011-10-14  Bruno Haible  <bruno@clisp.org>
29611         Tests for module 'integer_length_l'.
29612         * modules/integer_length_l-tests: New file.
29613         * tests/test-integer_length_l.c: New file.
29615         New module 'integer_length_l'.
29616         * lib/integer_length_l.c: New file.
29617         * modules/integer_length_l: New file.
29619 2011-10-14  Bruno Haible  <bruno@clisp.org>
29621         Tests for module 'integer_length'.
29622         * modules/integer_length-tests: New file.
29623         * tests/test-integer_length.c: New file.
29625         New module 'integer_length'.
29626         * lib/integer_length.h: New file.
29627         * lib/integer_length.c: New file.
29628         * modules/integer_length: New file.
29630 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29632         popen: Fix dependency conditions.
29633         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29635 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29637         perror: Fix autoconf test.
29638         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29639         <stdlib.h> and <string.h>.
29641 2011-10-14  Bruno Haible  <bruno@clisp.org>
29643         ffsl: Optimize on 64-bit platforms.
29644         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29645         unrolling.
29647 2011-10-13  Bruno Haible  <bruno@clisp.org>
29649         ffsl: Optimize on 32-bit platforms.
29650         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29651         use ffs() without a loop.
29653         ffsl, ffsll: Optimize for GCC.
29654         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29655         * lib/ffsl.c (GCC_BUILTIN): New macro.
29656         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29658 2011-10-13  Bruno Haible  <bruno@clisp.org>
29660         ffs, bcopy, memset: Support symbol renaming via config.h.
29661         * lib/ffs.c: Include <config.h>.
29662         * lib/bcopy.c: Likewise.
29663         * lib/memset.c: Likewise.
29665 2011-10-10  Bruno Haible  <bruno@clisp.org>
29667         atanl: Simplify for platforms where 'long double' == 'double'.
29668         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29669         alternative implementation.
29670         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29671         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29672         * modules/atanl (Depends-on): Add atan. Update conditions.
29674 2011-10-10  Bruno Haible  <bruno@clisp.org>
29676         acosl: Simplify for platforms where 'long double' == 'double'.
29677         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29678         alternative implementation.
29679         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29680         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29681         * modules/acosl (Depends-on): Add acos. Update conditions.
29683 2011-10-10  Bruno Haible  <bruno@clisp.org>
29685         asinl: Simplify for platforms where 'long double' == 'double'.
29686         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29687         alternative implementation.
29688         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29689         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29690         * modules/asinl (Depends-on): Add asin. Update conditions.
29692 2011-10-10  Bruno Haible  <bruno@clisp.org>
29694         tanl: Simplify for platforms where 'long double' == 'double'.
29695         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29696         implementation.
29697         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29698         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29699         * modules/tanl (Depends-on): Add tan. Update conditions.
29700         (configure.ac): Don't compile trigl.c if
29701         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29703 2011-10-10  Bruno Haible  <bruno@clisp.org>
29705         cosl: Simplify for platforms where 'long double' == 'double'.
29706         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29707         implementation.
29708         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29709         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29710         * modules/cosl (Depends-on): Add cos. Update conditions.
29711         (configure.ac): Don't compile sincosl.c and trigl.c if
29712         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29714 2011-10-10  Bruno Haible  <bruno@clisp.org>
29716         sinl: Simplify for platforms where 'long double' == 'double'.
29717         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29718         implementation.
29719         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29720         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29721         * modules/sinl (Depends-on): Add sin. Update conditions.
29722         (configure.ac): Don't compile sincosl.c and trigl.c if
29723         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29725 2011-10-10  Bruno Haible  <bruno@clisp.org>
29727         logl: Simplify for platforms where 'long double' == 'double'.
29728         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29729         implementation.
29730         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29731         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29732         * modules/logl (Depends-on): Add log. Update conditions.
29734 2011-10-10  Bruno Haible  <bruno@clisp.org>
29736         expl: Simplify for platforms where 'long double' == 'double'.
29737         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29738         implementation.
29739         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29740         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29741         * modules/expl (Depends-on): Add exp. Update conditions.
29743 2011-10-10  Bruno Haible  <bruno@clisp.org>
29745         sqrtl: Simplify for platforms where 'long double' == 'double'.
29746         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29747         alternative implementation.
29748         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29749         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29750         * modules/sqrtl (Depends-on): Update conditions.
29752 2011-10-10  Bruno Haible  <bruno@clisp.org>
29754         ldexpl: Simplify for platforms where 'long double' == 'double'.
29755         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29756         alternative implementation.
29757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29758         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29759         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29761 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29763         ffsll: set correct witness
29764         * modules/ffsll (configure.ac): Fix typo.
29766 2011-10-10  Bruno Haible  <bruno@clisp.org>
29768         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29769         * lib/printf-frexpl.c: Include <config.h>.
29770         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29771         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29772         second time.
29773         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29774         gl_LONG_DOUBLE_VS_DOUBLE.
29775         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29776         conditions.
29778 2011-10-10  Bruno Haible  <bruno@clisp.org>
29780         frexpl: Simplify for platforms where 'long double' == 'double'.
29781         * lib/frexpl.c: Include <config.h>.
29782         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29783         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29784         time.
29785         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29786         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29787         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29788         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29789         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29790         conditions.
29792 2011-10-10  Jim Meyering  <meyering@redhat.com>
29794         test-renameat: don't leave behind a temporary file
29795         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29796           ERROR: files left in build directory after distclean:
29797           ./gltests/test-renameat.too
29798           make[1]: *** [distcleancheck] Error 1
29799         Reported by Tom G. Christensen.
29801 2011-10-09  Bruno Haible  <bruno@clisp.org>
29803         rint: Determine RINT_LIBM correctly on AIX 7.
29804         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29805         directly, not only through a function pointer. Also accept an optional
29806         4th argument with extra code.
29807         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29808         rintf() call by gcc when optimizing.
29810         mathfunc.m4: Refactor.
29811         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29812         m4 variable.
29814 2011-10-09  Bruno Haible  <bruno@clisp.org>
29816         rintl: Simplify for platforms where 'long double' == 'double'.
29817         * lib/rintl.c: Include <config.h>.
29818         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29819         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29820         time.
29821         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29822         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29823         * modules/rintl (Depends-on): Add rint. Update conditions.
29825 2011-10-09  Bruno Haible  <bruno@clisp.org>
29827         roundl: Simplify for platforms where 'long double' == 'double'.
29828         * lib/roundl.c: Include <config.h>.
29829         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29830         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29831         time.
29832         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29833         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29834         * modules/roundl (Depends-on): Add round. Update conditions.
29836 2011-10-09  Bruno Haible  <bruno@clisp.org>
29838         truncl: Simplify for platforms where 'long double' == 'double'.
29839         * lib/truncl.c: Include <config.h>.
29840         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29841         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29842         time.
29843         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29844         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29845         * modules/truncl (Depends-on): Add trunc. Update conditions.
29847 2011-10-09  Bruno Haible  <bruno@clisp.org>
29849         ceill: Simplify for platforms where 'long double' == 'double'.
29850         * lib/ceill.c: Include <config.h>.
29851         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29852         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29853         time.
29854         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29855         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29856         * modules/ceill (Depends-on): Add ceil. Update conditions.
29858 2011-10-09  Bruno Haible  <bruno@clisp.org>
29860         floorl: Simplify for platforms where 'long double' == 'double'.
29861         * lib/floorl.c: Include <config.h>.
29862         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29863         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29864         time.
29865         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29866         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29867         * modules/floorl (Depends-on): Add floor. Update conditions.
29869 2011-10-09  Bruno Haible  <bruno@clisp.org>
29871         rint: Fix ordering constraints.
29872         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29873         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29874         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29876 2011-10-09  Bruno Haible  <bruno@clisp.org>
29878         copysignl: Simplify for platforms where 'long double' == 'double'.
29879         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29880         alternative.
29881         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29882         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29883         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29885 2011-10-09  Bruno Haible  <bruno@clisp.org>
29887         Tests for module 'rintl'.
29888         * modules/rintl-tests: New file.
29889         * tests/test-rintl.c: New file.
29891         New module 'rintl'.
29892         * lib/math.in.h (rintl): New declaration.
29893         * lib/rintl.c: New file.
29894         * m4/rintl.m4: New file.
29895         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29896         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29897         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29898         * modules/rintl: New file.
29899         * tests/test-math-c++.cc: Check the declaration of rintl.
29900         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29901         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29902         * doc/posix-functions/rintl.texi: Mention the new module.
29904 2011-10-09  Bruno Haible  <bruno@clisp.org>
29906         Tests for module 'rintf'.
29907         * modules/rintf-tests: New file.
29908         * tests/test-rintf.c: New file.
29910         New module 'rintf'.
29911         * lib/math.in.h (rintf): New declaration.
29912         * lib/rintf.c: New file.
29913         * m4/rintf.m4: New file.
29914         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29915         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29916         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29917         * modules/rintf: New file.
29918         * tests/test-math-c++.cc: Check the declaration of rintf.
29919         * doc/posix-functions/rintf.texi: Mention the new module.
29921 2011-10-09  Bruno Haible  <bruno@clisp.org>
29923         rint: Support for MSVC.
29924         * lib/math.in.h (rint): New declaration.
29925         * lib/rint.c: New file.
29926         * m4/rint.m4: New file.
29927         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29928         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29929         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29930         * modules/rint (Description): Fix.
29931         (Files): Add lib/rint.c, m4/rint.m4.
29932         (Depends-on): Add math.
29933         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29934         gl_MATH_MODULE_INDICATOR.
29935         * tests/test-math-c++.cc: Check the declaration of rint.
29936         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29937         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29938         * doc/posix-functions/rint.texi: Mention the replacement provided by
29939         the module.
29941         rint tests: More tests.
29942         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29943         minus-zero.h, infinity.h, nan.h.
29944         (main): Skip the test if the current rounding mode is not standard. Add
29945         tests for negative numbers, minus zero, infinity, NaN.
29946         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29947         tests/nan.h.
29948         (Depends-on): Add isnand-nolibm.
29950 2011-10-09  Bruno Haible  <bruno@clisp.org>
29952         Tests for module 'copysignl'.
29953         * modules/copysignl-tests: New file.
29954         * tests/test-copysignl.c: New file.
29956         New module 'copysignl'.
29957         * lib/math.in.h (copysignl): New declaration.
29958         * lib/copysignl.c: New file.
29959         * m4/copysignl.m4: New file.
29960         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29961         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29962         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29963         HAVE_COPYSIGNL.
29964         * modules/copysignl: New file.
29965         * tests/test-math-c++.cc: Check the declaration of copysignl.
29966         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29967         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29968         * doc/posix-functions/copysignl.texi: Mention the new module.
29970 2011-10-09  Bruno Haible  <bruno@clisp.org>
29972         Tests for module 'copysignf'.
29973         * modules/copysignf-tests: New file.
29974         * tests/test-copysignf.c: New file.
29976         New module 'copysignf'.
29977         * lib/math.in.h (copysignf): New declaration.
29978         * lib/copysignf.c: New file.
29979         * m4/copysignf.m4: New file.
29980         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29981         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29982         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29983         HAVE_COPYSIGNF.
29984         * modules/copysignf: New file.
29985         * tests/test-math-c++.cc: Check the declaration of copysignf.
29986         * doc/posix-functions/copysignf.texi: Mention the new module.
29988 2011-10-09  Bruno Haible  <bruno@clisp.org>
29990         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29991         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29992         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29993         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29994         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29995         gl_SIGNAL_H_DEFAULTS.
29997 2011-10-09  Bruno Haible  <bruno@clisp.org>
29999         poll: Make macro safer.
30000         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
30001         ac_cv_header_poll_h is not set.
30003 2011-10-09  Bruno Haible  <bruno@clisp.org>
30005         copysign: Provide replacement.
30006         * lib/math.in.h (copysign): New declaration.
30007         * lib/copysign.c: New file.
30008         * m4/copysign.m4: New file.
30009         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
30010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
30011         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
30012         HAVE_COPYSIGN.
30013         * modules/copysign (Description): Clarify.
30014         (Files): Add lib/copysign.c, m4/copysign.m4.
30015         (Depends-on): Add math, signbit.
30016         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
30017         gl_MATH_MODULE_INDICATOR.
30018         * tests/test-math-c++.cc: Check the declaration of copysign.
30019         * doc/posix-functions/copysign.texi: Mention the effects of the module
30020         on Minix and MSVC.
30022 2011-10-09  Bruno Haible  <bruno@clisp.org>
30024         isinf: Ensure macro on AIX 5.1.
30025         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
30026         macro.
30027         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
30029 2011-10-09  Bruno Haible  <bruno@clisp.org>
30031         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
30032         * modules/snprintf-posix-tests (configure.ac): Require
30033         gl_LONG_DOUBLE_VS_DOUBLE.
30034         * modules/sprintf-posix-tests (configure.ac): Likewise.
30035         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
30036         * modules/vasprintf-posix-tests (configure.ac): Likewise.
30037         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
30038         * modules/vsprintf-posix-tests (configure.ac): Likewise.
30039         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
30040         tests on platforms where 'long double' is the same as 'double'.
30041         * tests/test-sprintf-posix.h (test_function): Likewise.
30042         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30043         * tests/test-vasprintf-posix.c (test_function): Likewise.
30045         *printf: Fix for platforms where 'long double' == 'double'.
30046         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30047         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
30048         * modules/dprintf-posix (Files): Add m4/math_h.m4.
30049         * modules/fprintf-posix (Files): Likewise.
30050         * modules/obstack-printf-posix (Files): Likewise.
30051         * modules/snprintf-posix (Files): Likewise.
30052         * modules/sprintf-posix (Files): Likewise.
30053         * modules/vasnprintf (Files): Likewise.
30054         * modules/vasnprintf-posix (Files): Likewise.
30055         * modules/vasprintf-posix (Files): Likewise.
30056         * modules/vdprintf-posix (Files): Likewise.
30057         * modules/vfprintf-posix (Files): Likewise.
30058         * modules/vsnprintf-posix (Files): Likewise.
30059         * modules/vsprintf-posix (Files): Likewise.
30060         * modules/unistdio/u8-vasnprintf (Files): Likewise.
30061         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
30062         * modules/unistdio/u16-vasnprintf (Files): Likewise.
30063         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
30064         * modules/unistdio/u32-vasnprintf (Files): Likewise.
30065         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
30066         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
30068         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
30069         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
30070         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30071         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
30072         'long double'.
30073         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
30075         isinf: Fix for platforms where 'long double' == 'double'.
30076         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30077         Don't blindly assume 80-bit 'long double'.
30079         isfinite: Fix for platforms where 'long double' == 'double'.
30080         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30081         Don't blindly assume 80-bit 'long double'.
30083         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
30084         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
30085         * modules/isfinite-tests (configure.ac): Require
30086         gl_LONG_DOUBLE_VS_DOUBLE.
30087         * modules/isinf-tests (configure.ac): Likewise.
30088         * modules/isnan-tests (configure.ac): Likewise.
30089         * modules/isnanl-tests (configure.ac): Likewise.
30090         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
30091         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
30092         tests on platforms where 'long double' is the same as 'double'.
30093         * tests/test-isinf.c (test_isinfl): Likewise.
30094         * tests/test-isnan.c (test_long_double): Likewise.
30095         * tests/test-isnanl.h (main): Likewise.
30097 2011-10-08  Bruno Haible  <bruno@clisp.org>
30099         Tests for module 'tanhf'.
30100         * modules/tanhf-tests: New file.
30101         * tests/test-tanhf.c: New file.
30103         New module 'tanhf'.
30104         * lib/math.in.h (tanhf): New declaration.
30105         * lib/tanhf.c: New file.
30106         * m4/tanhf.m4: New file.
30107         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
30108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
30109         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
30110         * modules/tanhf: New file.
30111         * tests/test-math-c++.cc: Check the declaration of tanhf.
30112         * doc/posix-functions/tanhf.texi: Mention the new module.
30114         tanh: Use a .m4 file.
30115         * m4/tanh.m4: New file.
30116         * modules/tanh (Files): Add it.
30117         (configure.ac): Just invoke gl_FUNC_TANH.
30119 2011-10-08  Bruno Haible  <bruno@clisp.org>
30121         Tests for module 'coshf'.
30122         * modules/coshf-tests: New file.
30123         * tests/test-coshf.c: New file.
30125         New module 'coshf'.
30126         * lib/math.in.h (coshf): New declaration.
30127         * lib/coshf.c: New file.
30128         * m4/coshf.m4: New file.
30129         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
30130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
30131         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
30132         * modules/coshf: New file.
30133         * tests/test-math-c++.cc: Check the declaration of coshf.
30134         * doc/posix-functions/coshf.texi: Mention the new module.
30136         cosh: Use a .m4 file.
30137         * m4/cosh.m4: New file.
30138         * modules/cosh (Files): Add it.
30139         (configure.ac): Just invoke gl_FUNC_COSH.
30141 2011-10-08  Bruno Haible  <bruno@clisp.org>
30143         Tests for module 'sinhf'.
30144         * modules/sinhf-tests: New file.
30145         * tests/test-sinhf.c: New file.
30147         New module 'sinhf'.
30148         * lib/math.in.h (sinhf): New declaration.
30149         * lib/sinhf.c: New file.
30150         * m4/sinhf.m4: New file.
30151         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
30152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
30153         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
30154         * modules/sinhf: New file.
30155         * tests/test-math-c++.cc: Check the declaration of sinhf.
30156         * doc/posix-functions/sinhf.texi: Mention the new module.
30158         sinh: Use a .m4 file.
30159         * m4/sinh.m4: New file.
30160         * modules/sinh (Files): Add it.
30161         (configure.ac): Just invoke gl_FUNC_SINH.
30163 2011-10-08  Bruno Haible  <bruno@clisp.org>
30165         Tests for module 'atan2f'.
30166         * modules/atan2f-tests: New file.
30167         * tests/test-atan2f.c: New file.
30169         New module 'atan2f'.
30170         * lib/math.in.h (atan2f): New declaration.
30171         * lib/atan2f.c: New file.
30172         * m4/atan2f.m4: New file.
30173         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
30174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
30175         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
30176         * modules/atan2f: New file.
30177         * tests/test-math-c++.cc: Check the declaration of atan2f.
30178         * doc/posix-functions/atan2f.texi: Mention the new module.
30180         atan2: Use a .m4 file.
30181         * m4/atan2.m4: New file.
30182         * modules/atan2 (Files): Add it.
30183         (configure.ac): Just invoke gl_FUNC_ATAN2.
30185 2011-10-08  Bruno Haible  <bruno@clisp.org>
30187         Tests for module 'atanf'.
30188         * modules/atanf-tests: New file.
30189         * tests/test-atanf.c: New file.
30191         New module 'atanf'.
30192         * lib/math.in.h (atanf): New declaration.
30193         * lib/atanf.c: New file.
30194         * m4/atanf.m4: New file.
30195         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
30196         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
30197         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
30198         * modules/atanf: New file.
30199         * tests/test-math-c++.cc: Check the declaration of atanf.
30200         * doc/posix-functions/atanf.texi: Mention the new module.
30202         atan: Use a .m4 file.
30203         * m4/atan.m4: New file.
30204         * modules/atan (Files): Add it.
30205         (configure.ac): Just invoke gl_FUNC_ATAN.
30207 2011-10-08  Bruno Haible  <bruno@clisp.org>
30209         Tests for module 'acosf'.
30210         * modules/acosf-tests: New file.
30211         * tests/test-acosf.c: New file.
30213         New module 'acosf'.
30214         * lib/math.in.h (acosf): New declaration.
30215         * lib/acosf.c: New file.
30216         * m4/acosf.m4: New file.
30217         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
30218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
30219         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
30220         * modules/acosf: New file.
30221         * tests/test-math-c++.cc: Check the declaration of acosf.
30222         * doc/posix-functions/acosf.texi: Mention the new module.
30224         acos: Use a .m4 file.
30225         * m4/acos.m4: New file.
30226         * modules/acos (Files): Add it.
30227         (configure.ac): Just invoke gl_FUNC_ACOS.
30229 2011-10-08  Bruno Haible  <bruno@clisp.org>
30231         Tests for module 'asinf'.
30232         * modules/asinf-tests: New file.
30233         * tests/test-asinf.c: New file.
30235         New module 'asinf'.
30236         * lib/math.in.h (asinf): New declaration.
30237         * lib/asinf.c: New file.
30238         * m4/asinf.m4: New file.
30239         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
30240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
30241         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
30242         * modules/asinf: New file.
30243         * tests/test-math-c++.cc: Check the declaration of asinf.
30244         * doc/posix-functions/asinf.texi: Mention the new module.
30246         asin: Use a .m4 file.
30247         * m4/asin.m4: New file.
30248         * modules/asin (Files): Add it.
30249         (configure.ac): Just invoke gl_FUNC_ASIN.
30251 2011-10-08  Bruno Haible  <bruno@clisp.org>
30253         Tests for module 'tanf'.
30254         * modules/tanf-tests: New file.
30255         * tests/test-tanf.c: New file.
30257         New module 'tanf'.
30258         * lib/math.in.h (tanf): New declaration.
30259         * lib/tanf.c: New file.
30260         * m4/tanf.m4: New file.
30261         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
30262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
30263         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
30264         * modules/tanf: New file.
30265         * tests/test-math-c++.cc: Check the declaration of tanf.
30266         * doc/posix-functions/tanf.texi: Mention the new module.
30268         tan: Use a .m4 file.
30269         * m4/tan.m4: New file.
30270         * modules/tan (Files): Add it.
30271         (configure.ac): Just invoke gl_FUNC_TAN.
30273 2011-10-08  Bruno Haible  <bruno@clisp.org>
30275         Tests for module 'cosf'.
30276         * modules/cosf-tests: New file.
30277         * tests/test-cosf.c: New file.
30279         New module 'cosf'.
30280         * lib/math.in.h (cosf): New declaration.
30281         * lib/cosf.c: New file.
30282         * m4/cosf.m4: New file.
30283         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
30284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
30285         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
30286         * modules/cosf: New file.
30287         * tests/test-math-c++.cc: Check the declaration of cosf.
30288         * doc/posix-functions/cosf.texi: Mention the new module.
30290         cos: Use a .m4 file.
30291         * m4/cos.m4: New file.
30292         * modules/cos (Files): Add it.
30293         (configure.ac): Just invoke gl_FUNC_COS.
30295 2011-10-08  Bruno Haible  <bruno@clisp.org>
30297         Tests for module 'sinf'.
30298         * modules/sinf-tests: New file.
30299         * tests/test-sinf.c: New file.
30301         New module 'sinf'.
30302         * lib/math.in.h (sinf): New declaration.
30303         * lib/sinf.c: New file.
30304         * m4/sinf.m4: New file.
30305         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
30306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
30307         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
30308         * modules/sinf: New file.
30309         * tests/test-math-c++.cc: Check the declaration of sinf.
30310         * doc/posix-functions/sinf.texi: Mention the new module.
30312         sin: Use a .m4 file.
30313         * m4/sin.m4: New file.
30314         * modules/sin (Files): Add it.
30315         (configure.ac): Just invoke gl_FUNC_SIN.
30317 2011-10-08  Bruno Haible  <bruno@clisp.org>
30319         Tests for module 'powf'.
30320         * modules/powf-tests: New file.
30321         * tests/test-powf.c: New file.
30323         New module 'powf'.
30324         * lib/math.in.h (powf): New declaration.
30325         * lib/powf.c: New file.
30326         * m4/powf.m4: New file.
30327         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
30328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
30329         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
30330         * modules/powf: New file.
30331         * tests/test-math-c++.cc: Check the declaration of powf.
30332         * doc/posix-functions/powf.texi: Mention the new module.
30334         pow: Use a .m4 file.
30335         * m4/pow.m4: New file.
30336         * modules/pow (Files): Add it.
30337         (configure.ac): Just invoke gl_FUNC_POW.
30339 2011-10-08  Bruno Haible  <bruno@clisp.org>
30341         Tests for module 'log10f'.
30342         * modules/log10f-tests: New file.
30343         * tests/test-log10f.c: New file.
30345         New module 'log10f'.
30346         * lib/math.in.h (log10f): New declaration.
30347         * lib/log10f.c: New file.
30348         * m4/log10f.m4: New file.
30349         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
30350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
30351         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
30352         * modules/log10f: New file.
30353         * tests/test-math-c++.cc: Check the declaration of log10f.
30354         * doc/posix-functions/log10f.texi: Mention the new module.
30356         log10: Use a .m4 file.
30357         * m4/log10.m4: New file.
30358         * modules/log10 (Files): Add it.
30359         (configure.ac): Just invoke gl_FUNC_LOG10.
30361 2011-10-08  Bruno Haible  <bruno@clisp.org>
30363         Tests for module 'logf'.
30364         * modules/logf-tests: New file.
30365         * tests/test-logf.c: New file.
30367         New module 'logf'.
30368         * lib/math.in.h (logf): New declaration.
30369         * lib/logf.c: New file.
30370         * m4/logf.m4: New file.
30371         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
30372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
30373         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
30374         * modules/logf: New file.
30375         * tests/test-math-c++.cc: Check the declaration of logf.
30376         * doc/posix-functions/logf.texi: Mention the new module.
30378         log: Use a .m4 file.
30379         * m4/log.m4: New file.
30380         * modules/log (Files): Add it.
30381         (configure.ac): Just invoke gl_FUNC_LOG.
30383 2011-10-08  Bruno Haible  <bruno@clisp.org>
30385         Tests for module 'expf'.
30386         * modules/expf-tests: New file.
30387         * tests/test-expf.c: New file.
30389         New module 'expf'.
30390         * lib/math.in.h (expf): New declaration.
30391         * lib/expf.c: New file.
30392         * m4/expf.m4: New file.
30393         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
30394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
30395         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
30396         * modules/expf: New file.
30397         * tests/test-math-c++.cc: Check the declaration of expf.
30398         * doc/posix-functions/expf.texi: Mention the new module.
30400         exp: Use a .m4 file.
30401         * m4/exp.m4: New file.
30402         * modules/exp (Files): Add it.
30403         (configure.ac): Just invoke gl_FUNC_EXP.
30405 2011-10-08  Bruno Haible  <bruno@clisp.org>
30407         Tests for module 'sqrtf'.
30408         * modules/sqrtf-tests: New file.
30409         * tests/test-sqrtf.c: New file.
30411         New module 'sqrtf'.
30412         * lib/math.in.h (sqrtf): New declaration.
30413         * lib/sqrtf.c: New file.
30414         * m4/sqrtf.m4: New file.
30415         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
30416         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
30417         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
30418         * modules/sqrtf: New file.
30419         * tests/test-math-c++.cc: Check the declaration of sqrtf.
30420         * doc/posix-functions/sqrtf.texi: Mention the new module.
30422 2011-10-08  Bruno Haible  <bruno@clisp.org>
30424         Tests: Avoid link failures w.r.t. libintl.
30425         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
30426         $(LIBINTL).
30427         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
30428         $(LIBINTL).
30429         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
30430         against $(LIBINTL).
30431         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
30432         $(LIBINTL).
30433         * modules/openat-tests (Makefile.am): Link test-fchmodat against
30434         $(LIBINTL).
30435         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
30437 2011-10-08  Bruno Haible  <bruno@clisp.org>
30439         pow tests: Defeat compiler optimizations.
30440         * tests/test-pow.c (main): Assign arguments to x and y before use.
30442 2011-10-08  Bruno Haible  <bruno@clisp.org>
30444         gnulib-tool: Improve last commit.
30445         * gnulib-tool (func_modules_transitive_closure): Simplify code.
30446         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
30447         ignore dependencies that are not among the modules list.
30449 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
30451         gnulib-tool: don't follow dependencies to avoided modules
30452         This fixes a bug that is related to the previous one.
30453         * gnulib-tool (func_modules_transitive_closure)
30454         (func_emit_autoconf_snippets):
30455         Check whether a dependency is acceptable before using it.
30456         (--extract-dependencies): Report an error if --avoid is also used,
30457         since this combination of options is not yet supported.
30459         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
30460         Problem reported by Peter Dyballa in
30461         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
30462         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
30463         when echoing "$condition".
30465 2011-10-07  Bruno Haible  <bruno@clisp.org>
30467         Fix documentation about math functions on MacOS X.
30468         * doc/posix-functions/exp2.texi: Don't say the function is missing on
30469         MacOS X 10.5.
30470         * doc/posix-functions/fdim.texi: Likewise.
30471         * doc/posix-functions/feclearexcept.texi: Likewise.
30472         * doc/posix-functions/fegetenv.texi: Likewise.
30473         * doc/posix-functions/fegetround.texi: Likewise.
30474         * doc/posix-functions/feholdexcept.texi: Likewise.
30475         * doc/posix-functions/feraiseexcept.texi: Likewise.
30476         * doc/posix-functions/fesetenv.texi: Likewise.
30477         * doc/posix-functions/fesetround.texi: Likewise.
30478         * doc/posix-functions/fetestexcept.texi: Likewise.
30479         * doc/posix-functions/feupdateenv.texi: Likewise.
30480         * doc/posix-functions/fmax.texi: Likewise.
30481         * doc/posix-functions/fmin.texi: Likewise.
30482         * doc/posix-functions/log2.texi: Likewise.
30483         * doc/posix-functions/modff.texi: Likewise.
30484         * doc/posix-functions/nan.texi: Likewise.
30485         * doc/posix-functions/nanf.texi: Likewise.
30486         * doc/posix-functions/nextafterf.texi: Likewise.
30487         * doc/posix-functions/remquo.texi: Likewise.
30489 2011-10-07  Bruno Haible  <bruno@clisp.org>
30491         modff: Drop assumption about library that defines modff.
30492         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30493         AC_CHECK_FUNCS.
30494         * modules/modff (Files): Add m4/mathfunc.m4.
30496 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30498         raise tests: Avoid a GCC warning.
30499         * tests/test-raise.c (handler): Use _Noreturn.
30501 2011-10-07  Bruno Haible  <bruno@clisp.org>
30503         Tests for module 'ldexpf'.
30504         * modules/ldexpf-tests: New file.
30505         * tests/test-ldexpf.c: New file.
30507         New module 'ldexpf'.
30508         * lib/math.in.h (ldexpf): New declaration.
30509         * lib/ldexpf.c: New file.
30510         * m4/ldexpf.m4: New file.
30511         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30513         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30514         * modules/ldexpf: New file.
30515         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30516         * doc/posix-functions/ldexpf.texi: Mention the new module.
30518 2011-10-06  Bruno Haible  <bruno@clisp.org>
30520         frexpf: Work around problems on IRIX and mingw.
30521         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30522         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30523         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30524         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30525         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30526         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30527         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30529 2011-10-06  Bruno Haible  <bruno@clisp.org>
30531         fabsf: Drop assumption about library that defines fabsf.
30532         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30533         AC_CHECK_FUNCS.
30534         * modules/fabsf (Files): Add m4/mathfunc.m4.
30536 2011-10-06  Bruno Haible  <bruno@clisp.org>
30538         frexpf: Drop assumption about library that defines frexpf.
30539         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30540         'int *', 'float *', 'long double *', 'float', 'long double'.
30541         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30542         AC_CHECK_FUNCS.
30543         * modules/frexpf (Files): Add m4/mathfunc.m4.
30545         Tests for module 'frexpf'.
30546         * modules/frexpf-tests: New file.
30547         * tests/test-frexpf.c: New file.
30549         New module 'frexpf'.
30550         * lib/math.in.h (frexpf): New declaration.
30551         * lib/frexpf.c: New file.
30552         * m4/frexpf.m4: New file.
30553         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30554         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30555         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30556         * modules/frexpf: New file.
30557         * tests/test-math-c++.cc: Check the declaration of frexpf.
30558         * doc/posix-functions/frexpf.texi: Mention the new module.
30560 2011-10-06  Bruno Haible  <bruno@clisp.org>
30562         math: Sort function declarations of math.in.h.
30563         * lib/math.in.h (frexp, logb): Move declarations.
30565 2011-10-05  Bruno Haible  <bruno@clisp.org>
30567         Tests for module 'modff'.
30568         * modules/modff-tests: New file.
30569         * tests/test-modff.c: New file.
30571         New module 'modff'.
30572         * lib/math.in.h (modff): New declaration.
30573         * lib/modff.c: New file.
30574         * m4/modff.m4: New file.
30575         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30576         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30577         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30578         * modules/modff: New file.
30579         * tests/test-math-c++.cc: Check the declaration of modff.
30580         * doc/posix-functions/modff.texi: Mention the new module.
30582         modf tests: Make test sharper.
30583         * tests/test-modf.c (main): Strengthen upper bound.
30585         modf: Use a .m4 file.
30586         * m4/modf.m4: New file.
30587         * modules/modf (Files): Add it.
30588         (configure.ac): Just invoke gl_FUNC_MODF.
30590 2011-10-05  Bruno Haible  <bruno@clisp.org>
30592         Tests for module 'fmodf'.
30593         * modules/fmodf-tests: New file.
30594         * tests/test-fmodf.c: New file.
30596         New module 'fmodf'.
30597         * lib/math.in.h (fmodf): New declaration.
30598         * lib/fmodf.c: New file.
30599         * m4/fmodf.m4: New file.
30600         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30602         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30603         * modules/fmodf: New file.
30604         * tests/test-math-c++.cc: Check the declaration of fmodf.
30605         * doc/posix-functions/fmodf.texi: Mention the new module.
30607         fmod: Use a .m4 file.
30608         * m4/fmod.m4: New file.
30609         * modules/fmod (Files): Add it.
30610         (configure.ac): Just invoke gl_FUNC_FMOD.
30612 2011-10-05  Bruno Haible  <bruno@clisp.org>
30614         Tests for module 'fabsf'.
30615         * modules/fabsf-tests: New file.
30616         * tests/test-fabsf.c: New file.
30618         New module 'fabsf'.
30619         * lib/math.in.h (fabsf): New declaration.
30620         * lib/fabsf.c: New file.
30621         * m4/fabsf.m4: New file.
30622         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30624         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30625         * modules/fabsf: New file.
30626         * tests/test-math-c++.cc: Check the declaration of fabsf.
30627         * doc/posix-functions/fabsf.texi: Mention the new module.
30629         fabs: Use a .m4 file.
30630         * m4/fabs.m4: New file.
30631         * modules/fabs (Files): Add it.
30632         (configure.ac): Just invoke gl_FUNC_FABS.
30634 2011-10-05  Jim Meyering  <meyering@redhat.com>
30636         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30637         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30638         ls -lL regression introduced in coreutils-8.12, it does so at the
30639         cost of an additional stat call in the common case.  Besides, now
30640         that the kernel change that prompted commit 95f7c57f has been reverted
30641         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30642         we have no use for commit 95f7c57f, "file-has-acl: use
30643         acl_extended_file_nofollow if available".
30645 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30647         file-has-acl: revert unintended change in behavior of ls -L
30648         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30649         derived from...
30650         (file_has_acl): ...code here.  Call it.
30651         This problem was introduced with 2011-07-22 commit 95f7c57f,
30652         "file-has-acl: use acl_extended_file_nofollow if available".
30653         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30655 2011-10-03  Bruno Haible  <bruno@clisp.org>
30657         poll: Avoid link errors on MSVC.
30658         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30659         * modules/poll (Depends-on): Add sockets.
30660         (Link): New section.
30661         * NEWS: Mention the change.
30662         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30663         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30664         $(LIB_POLL) instead of $(LIBSOCKET).
30666 2011-10-03  Bruno Haible  <bruno@clisp.org>
30668         sys_select tests: Fix link error on MSVC 9.
30669         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30670         with $(LIB_SELECT) instead of $(LIBSOCKET).
30672 2011-10-03  Bruno Haible  <bruno@clisp.org>
30674         sys_select: Fix compilation error on mingw.
30675         * lib/sys_select.in.h: On native Windows, include <io.h>.
30677 2011-10-03  Bruno Haible  <bruno@clisp.org>
30679         wmemset: Support for MSVC.
30680         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30681         whether wmemset() exists.
30683 2011-10-03  Bruno Haible  <bruno@clisp.org>
30685         wmemmove: Support for MSVC.
30686         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30687         whether wmemmove() exists.
30689 2011-10-03  Bruno Haible  <bruno@clisp.org>
30691         wmemcpy: Support for MSVC.
30692         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30693         whether wmemcpy() exists.
30695 2011-10-03  Bruno Haible  <bruno@clisp.org>
30697         wmemcmp: Support for MSVC.
30698         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30699         whether wmemcmp() exists.
30701 2011-10-03  Bruno Haible  <bruno@clisp.org>
30703         wmemchr: Support for MSVC.
30704         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30705         whether wmemchr() exists.
30707 2011-10-03  Bruno Haible  <bruno@clisp.org>
30709         glthread/*, strsignal: Support for MSVC.
30710         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30711         including <winsock.h> on MSVC 9.
30712         * lib/glthread/lock.h: Likewise.
30713         * lib/glthread/thread.h: Likewise.
30714         * lib/glthread/tls.h: Likewise.
30715         * lib/glthread/yield.h: Likewise.
30716         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30717         if HAVE_UNISTD_H is false.
30718         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30720 2011-10-03  Bruno Haible  <bruno@clisp.org>
30722         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30723         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30724         Set to 100000.
30726 2011-10-03  Bruno Haible  <bruno@clisp.org>
30728         acl: Fix specification.
30729         * lib/file-has-acl.c (file_has_acl): Fix specification.
30731 2011-10-03  Bruno Haible  <bruno@clisp.org>
30733         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30734         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30735         (compute_curr_prefix, shared_library_fullname,
30736         find_shared_library_fullname, get_shared_library_fullname, relocate):
30737         Use it together with PIC && INSTALLDIR.
30738         Reported by <jojelino@gmail.com>
30739         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30741 2011-10-01  Jim Meyering  <meyering@redhat.com>
30743         maint.mk: adjust a release-related rule not to require use of gzip
30744         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30745         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30746         projects that build only .tar.xz files.  Also fix an erroneous test.
30748         test-linkat: don't leave behind a temporary file
30749         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30750         Otherwise, coreutils' "make distcheck" would fail with this:
30751           Only in /c/cu/tests/torture/coreutils/test/\
30752             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30753           make[2]: *** [my-distcheck] Error 1
30755         float, math: add omitted file
30756         * lib/itold.c: Add file, required for yesterday's float change.
30758 2011-10-01  Bruno Haible  <bruno@clisp.org>
30760         isinf: Fix for OpenBSD/x86.
30761         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30762         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30763         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30765 2011-10-01  Bruno Haible  <bruno@clisp.org>
30767         isfinite: Fix syntax error in configure test.
30768         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30770         isfinite: Fix typo.
30771         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30772         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30774 2011-10-01  Bruno Haible  <bruno@clisp.org>
30776         nonblocking tests: Fix test failure on Linux/IA-64.
30777         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30778         Set to 270000.
30780 2011-10-01  Bruno Haible  <bruno@clisp.org>
30782         mkfifoat tests: Fix a test failure on mingw.
30783         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30784         with error ENOSYS.
30786 2011-09-30  Bruno Haible  <bruno@clisp.org>
30788         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30789         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30790         'long double'. Set REPLACE_ITOLD.
30791         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30792         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30793         * lib/itold.c: New file.
30794         * modules/float (Files): Add lib/itold.c.
30795         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30796         (Makefile.am): Substitute REPLACE_ITOLD.
30797         * modules/math (Depends-on): Add float.
30798         (Makefile.am): Substitute REPLACE_ITOLD.
30799         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30800         * doc/posix-headers/math.texi: Likewise.
30801         * doc/posix-functions/logl.texi: Likewise.
30803 2011-09-30  Bruno Haible  <bruno@clisp.org>
30805         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30806         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30807         Set to 140000.
30809 2011-09-30  Bruno Haible  <bruno@clisp.org>
30811         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30812         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30813         invocation, say "right after AC_PROG_CC_STDC", not "right after
30814         AC_PROG_CC".
30815         Reported by Gary V. Vaughan <gary@gnu.org>.
30817 2011-09-30  Bruno Haible  <bruno@clisp.org>
30819         Centralize C99 requirement.
30820         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30821         * modules/stdarg (configure.ac-early): Invoke it instead of
30822         AC_PROG_CC_STDC.
30823         Reported by Gary V. Vaughan and Paul Eggert.
30825 2011-09-29  Bruno Haible  <bruno@clisp.org>
30827         float: Fix LDBL_MAX value on Linux/PowerPC.
30828         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30829         on Linux/PowerPC.
30830         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30831         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30832         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30833         platform.
30834         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30836 2011-09-29  Bruno Haible  <bruno@clisp.org>
30838         doc: Improve doc about gl_EARLY.
30839         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30840         AC_PROG_CC_STDC invocation.
30841         Reported by Gary V. Vaughan <gary@gnu.org>.
30843 2011-09-28  Bruno Haible  <bruno@clisp.org>
30845         fgetc, fputc, fread, fwrite tests: Fix link error.
30846         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30847         on non-MSVC platforms.
30848         * tests/test-fputc.c (main): Likewise.
30849         * tests/test-fread.c (main): Likewise.
30850         * tests/test-fwrite.c (main): Likewise.
30851         Reported by Jim Meyering.
30853 2011-09-27  Bruno Haible  <bruno@clisp.org>
30855         fputc, fwrite tests: Avoid test failure on MSVC.
30856         * tests/test-fgetc.c: Include msvc-inval.h.
30857         (main): Invoke gl_msvc_inval_ensure_handler.
30858         * tests/test-fputc.c: Include msvc-inval.h.
30859         (main): Invoke gl_msvc_inval_ensure_handler.
30860         * tests/test-fread.c: Include msvc-inval.h.
30861         (main): Invoke gl_msvc_inval_ensure_handler.
30862         * tests/test-fwrite.c: Include msvc-inval.h.
30863         (main): Invoke gl_msvc_inval_ensure_handler.
30864         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30865         * modules/fputc-tests (Depends-on): Likewise.
30866         * modules/fread-tests (Depends-on): Likewise.
30867         * modules/fwrite-tests (Depends-on): Likewise.
30869 2011-09-27  Bruno Haible  <bruno@clisp.org>
30871         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30872         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30873         (raise): Remove older, duplicated declaration.
30874         (_gl_raise_SIGPIPE): New declaration.
30875         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30876         (rpl_raise): Remove function.
30877         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30878         a gnulib-defined SIGPIPE here.
30879         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30880         'sigprocmask' has detected missing signal-blocking and the module
30881         'sigpipe' is enabled.
30882         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30884 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30886         base64-tests: avoid memory leak
30887         * tests/test-base64.c (main): Plug memory leak.
30889         base32: new module
30890         * modules/base32: New module.
30891         * lib/base32.c: New file.
30892         * lib/base32.h: Likewise.
30893         * m4/base32.m4: Likewise.
30894         * modules/base32-tests: New test.
30895         * tests/test-base32.c: Likewise.
30896         * MODULES.html.sh (Misc): Mention it.
30898 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30900         gnulib: use more-standard license notice wording
30901         * gnulib-tool (func_emit_copyright_notice): When emitting a
30902         license notice into a file, use the standard wording as suggested
30903         by the current information for GNU maintainers, except say "file"
30904         rather than "program".  The new wording gives a license version
30905         number, which addresses an issue raised by Glenn Morris in
30906         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30907         * m4/onceonly.m4: Use that same wording here, too.
30909         dup2: minor simplification
30910         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30911         as lib/dup2.c no longer uses 'inline'.
30913 2011-09-25  Bruno Haible  <bruno@clisp.org>
30915         strings: Fix compilation error on MSVC.
30916         * lib/strings.in.h: Include <stddef.h> for size_t.
30918 2011-09-25  Bruno Haible  <bruno@clisp.org>
30920         fflush et al.: Document limitation on MSVC.
30921         * doc/posix-functions/fflush.texi: Document possible crash in handling
30922         mode other than DEFAULT_HANDLING.
30923         * doc/posix-functions/fgetc.texi: Likewise.
30924         * doc/posix-functions/fputc.texi: Likewise.
30925         * doc/posix-functions/fread.texi: Likewise.
30926         * doc/posix-functions/fwrite.texi: Likewise.
30928 2011-09-25  Bruno Haible  <bruno@clisp.org>
30930         msvc-inval: Allow three invalid parameter handling modes.
30931         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30932         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30933         macros.
30934         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30935         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30936         SANE_LIBRARY_HANDLING as a no-op.
30937         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30938         <stdlib.h>.
30939         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30941 2011-09-25  Bruno Haible  <bruno@clisp.org>
30943         msvc-inval: Make handler multithread-safe.
30944         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30945         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30946         declarations.
30947         (gl_msvc_inval_current): New declaration.
30948         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30949         Operate on the structure returned by gl_msvc_inval_current().
30950         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30951         Remove varaiables.
30952         (tls_index, tls_initialized): New variables.
30953         (not_per_thread): New variable.
30954         (gl_msvc_inval_current): New function.
30955         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30956         returned by gl_msvc_inval_current().
30958 2011-09-25  Bruno Haible  <bruno@clisp.org>
30960         msvc-inval: Install handler globally.
30961         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30962         !_MSC_VER.
30963         (gl_msvc_invalid_parameter_handler): Remove declaration.
30964         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30965         declarations.
30966         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30967         Install the handler globally, don't uninstall it.
30968         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30969         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30970         currently valid, call RaiseException instead.
30971         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30972         for !_MSC_VER.
30974 2011-09-25  Bruno Haible  <bruno@clisp.org>
30976         strerror_r-posix: Fix for MSVC 9.
30977         * lib/strerror_r.c (local_snprintf): New function.
30978         (snprintf): Define to local_snprintf, not to _snprintf.
30980 2011-09-25  Bruno Haible  <bruno@clisp.org>
30982         ftruncate: Support for MSVC 9.
30983         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30984         (chsize_nothrow): New function.
30985         (chsize): Redefine as a macro.
30986         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30987         * modules/ftruncate (Depends-on): Add msvc-inval.
30989 2011-09-25  Bruno Haible  <bruno@clisp.org>
30991         New module 'fstat'.
30992         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30993         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30994         * lib/fchdir.c (rpl_fstat): Remove function.
30995         * m4/fstat.m4: New file.
30996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30997         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30998         declared.
30999         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
31000         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
31001         * modules/fstat: New file.
31002         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
31003         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
31004         is set.
31005         * doc/posix-functions/fstat.texi: Mention the new module and the
31006         problem on MSVC.
31007         * NEWS: Mention the change.
31008         * modules/acl (Depends-on): Add fstat.
31009         * modules/chdir-safer (Depends-on): Likewise.
31010         * modules/chown (Depends-on): Likewise.
31011         * modules/copy-file (Depends-on): Likewise.
31012         * modules/fchdir (Depends-on): Likewise.
31013         * modules/fdopendir (Depends-on): Likewise.
31014         * modules/fopen (Depends-on): Likewise.
31015         * modules/fts (Depends-on): Likewise.
31016         * modules/getcwd (Depends-on): Likewise.
31017         * modules/isapipe (Depends-on): Likewise.
31018         * modules/linkat (Depends-on): Likewise.
31019         * modules/lseek (Depends-on): Likewise.
31020         * modules/mkdir-p (Depends-on): Likewise.
31021         * modules/open (Depends-on): Likewise.
31022         * modules/openat (Depends-on): Likewise.
31023         * modules/read-file (Depends-on): Likewise.
31024         * modules/renameat (Depends-on): Likewise.
31025         * modules/utimens (Depends-on): Likewise.
31027 2011-09-25  Bruno Haible  <bruno@clisp.org>
31029         linkat: Fix compilation on MSVC 9.
31030         * lib/linkat.c: Don't include <stdint.h>.
31032 2011-09-25  Bruno Haible  <bruno@clisp.org>
31034         fclose: Support for MSVC 9.
31035         * lib/fclose.c: Include msvc-inval.h.
31036         (fclose_nothrow): New function.
31037         (rpl_fclose): Use it.
31038         * modules/fclose (Depends-on): Add msvc-inval.
31039         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
31041 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
31043         dup2: minor simplifications
31044         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
31045         that it's a performance win.
31046         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
31047         ! defined __CYGWIN__)" to "ifdef F_GETFL".
31049 2011-09-24  Jim Meyering  <meyering@redhat.com>
31051         test-futimens: avoid a warning from gcc -Wshadow
31052         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
31053         to avoid a shadowing warning.
31055 2011-09-24  Bruno Haible  <bruno@clisp.org>
31057         fdopen: Support for MSVC 9.
31058         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
31059         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
31060         * lib/fdopen.c: Include msvc-inval.h.
31061         (fdopen_nothrow): New function.
31062         (rpl_fdopen): Use it.
31063         * modules/fdopen (Depends-on): Add msvc-inval.
31064         * modules/fclose-tests (Depends-on): Add fdopen.
31065         * modules/fflush-tests (Depends-on): Likewise.
31066         * modules/fgetc-tests (Depends-on): Likewise.
31067         * modules/fputc-tests (Depends-on): Likewise.
31068         * modules/fread-tests (Depends-on): Likewise.
31069         * modules/freopen-tests (Depends-on): Likewise.
31070         * modules/fseeko-tests (Depends-on): Likewise.
31071         * modules/ftello-tests (Depends-on): Likewise.
31072         * modules/fwrite-tests  (Depends-on): Likewise.
31073         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
31075 2011-09-24  Bruno Haible  <bruno@clisp.org>
31077         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
31078         * modules/fgetc-tests (Depends-on): Add unistd.
31079         * modules/fputc-tests (Depends-on): Likewise.
31080         * modules/fread-tests (Depends-on): Likewise.
31081         * modules/fwrite-tests (Depends-on): Likewise.
31083 2011-09-24  Bruno Haible  <bruno@clisp.org>
31085         dup: Simplify autoconf test.
31086         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
31087         on gl_MSVC_INVAL's result.
31089 2011-09-24  Bruno Haible  <bruno@clisp.org>
31091         Tests for function fwrite().
31092         * modules/fwrite-tests: New file.
31093         * tests/test-fwrite.c: New file.
31094         * modules/stdio-tests (Depends-on): Add fwrite-tests.
31096         Tests for function fread().
31097         * modules/fread-tests: New file.
31098         * tests/test-fread.c: New file.
31099         * modules/stdio-tests (Depends-on): Add fread-tests.
31101         Activate fputc tests.
31102         * modules/stdio-tests (Depends-on): Add fputc-tests.
31104         Enhance fgetc, fputc tests.
31105         * tests/test-fgetc.c (main): Also test the stream's error indicator.
31106         * tests/test-fputc.c (main): Likewise.
31108 2011-09-24  Bruno Haible  <bruno@clisp.org>
31110         write: Support for MSVC 9.
31111         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31112         is not 1.
31113         * lib/write.c (write_nothrow): New function.
31114         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
31115         not 1. Use write_nothrow.
31116         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
31117         invalid parameter handler.
31118         (gl_PREREQ_WRITE): New macro.
31119         * modules/write (Depends-on): Add msvc-inval.
31120         (configure.ac): Invoke gl_PREREQ_WRITE.
31121         * doc/posix-functions/write.texi: Mention the problem on MSVC.
31123 2011-09-24  Bruno Haible  <bruno@clisp.org>
31125         read: Fix last commit.
31126         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
31128 2011-09-24  Bruno Haible  <bruno@clisp.org>
31130         dup2: Fix last commit.
31131         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
31132         (rpl_dup2): Disable fcntl workaround on native Windows.
31134         sigprocmask: Make code safer.
31135         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
31136         section that changes macro definitions for this compilation unit.
31138 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
31140         dup2: clarify by coalescing Windows-specific material
31141         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
31142         "msvc-nothrow.h"' to the Windows-specific section, so that the
31143         Emacs source need not contain these include files.
31144         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
31145         Windows-specific fixes into this function rather than just the
31146         nothrow fix, as this shortens and clarifies the code.  Always
31147         define as a function, as that's a bit cleaner than having it be
31148         sometimes a function and sometimes a macro.
31149         (rpl_dup2): Move the Windows-specific stuff out of here and into
31150         ms_windows_dup2.  Don't protect the Haiku-related fix with
31151         "#if !defined __linux__", as the same code also works around
31152         a Linux kernel bug, and it doesn't add any system calls on any
31153         platform.  Add comment about FreeBSD 6.1.
31155         sigprocmask: move #include directive
31156         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
31157         Windows-specific section, so that the Emacs source need not
31158         contain msvc-inval.h.
31160 2011-09-23  Bruno Haible  <bruno@clisp.org>
31162         read: Support for MSVC 9.
31163         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31164         is not 1.
31165         * lib/read.c (read_nothrow): New function.
31166         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
31167         read_nothrow.
31168         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
31169         invalid parameter handler.
31170         (gl_PREREQ_READ): New macro.
31171         * modules/read (Depends-on): Add msvc-inval.
31172         (configure.ac): Invoke gl_PREREQ_READ.
31173         * doc/posix-functions/read.texi: Mention the problem on MSVC.
31175 2011-09-23  Bruno Haible  <bruno@clisp.org>
31177         close: Support for MSVC 9.
31178         * lib/close.c: Include <errno.h>, msvc-inval.h.
31179         (close_nothrow): New function.
31180         (rpl_close): Use it.
31181         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
31182         invalid parameter handler.
31183         * modules/close (Depends-on): Add msvc-inval.
31184         * modules/dup2-tests (Depends-on): Add close.
31185         * modules/dup3-tests (Depends-on): Likewise.
31186         * modules/fcntl-tests (Depends-on): Likewise.
31187         * modules/spawn-pipe-tests (Depends-on): Likewise.
31188         * modules/unistd-safer-tests (Depends-on): Likewise.
31189         * doc/posix-functions/close.texi: Mention the problem on MSVC.
31191 2011-09-23  Bruno Haible  <bruno@clisp.org>
31193         New module 'dup'.
31194         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
31195         Allow replacement.
31196         * lib/dup.c: New file.
31197         * lib/fchdir.c (rpl_dup): Remove function.
31198         * m4/dup.m4: New file.
31199         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
31200         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
31201         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
31202         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
31203         * modules/dup: New file.
31204         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
31205         'dup' module is in use.
31206         * modules/fdopendir (Depends-on): Add dup.
31207         * modules/fdutimensat-tests (Depends-on): Likewise.
31208         * modules/fts (Depends-on): Likewise.
31209         * modules/futimens-tests (Depends-on): Likewise.
31210         * modules/posix_spawnp-tests (Depends-on): Likewise.
31211         * modules/unistd-safer-tests (Depends-on): Likewise.
31212         * modules/utimens-tests (Depends-on): Likewise.
31213         * doc/posix-functions/dup.texi: Mention the new module and the problem
31214         on MSVC.
31216 2011-09-23  Bruno Haible  <bruno@clisp.org>
31218         getdtablesize: Support for MSVC 9.
31219         * lib/getdtablesize.c: Include msvc-inval.h.
31220         (_setmaxstdio_nothrow): New function.
31221         (_setmaxstdio): Redefine it.
31222         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
31223         * modules/getdtablesize (Depends-on): Add msvc-inval.
31224         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
31226 2011-09-23  Bruno Haible  <bruno@clisp.org>
31228         signal-h: Rename from signal.
31229         * modules/signal-h: Renamed from modules/signal.
31230         * modules/pthread_sigmask (Depends-on): Update.
31231         * modules/raise (Depends-on): Likewise.
31232         * modules/sigaction (Depends-on): Likewise.
31233         * modules/sigpipe (Depends-on): Likewise.
31234         * modules/sigprocmask (Depends-on): Likewise.
31235         * modules/sys_select (Depends-on): Likewise.
31236         * modules/signal-h-tests: Renamed from modules/signal-tests.
31237         (Files, Depends-on, Makefile.am): Update.
31238         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
31239         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
31240         (Files, Makefile.am): Update.
31241         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
31242         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
31243         * modules/signal: New placeholder file.
31244         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
31245         * doc/posix-headers/signal.texi: Update.
31246         * NEWS: Mention the change.
31248 2011-09-23  Bruno Haible  <bruno@clisp.org>
31250         sigprocmask: Avoid crashes through signal() on MSVC 9.
31251         * lib/sigprocmask.c: Include msvc-inval.h.
31252         (signal_nothrow): New function.
31253         (signal): Redefine it.
31254         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
31255         * modules/sigprocmask (Depends-on): Add msvc-inval.
31256         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
31258 2011-09-23  Bruno Haible  <bruno@clisp.org>
31260         Tests for module 'raise'.
31261         * modules/raise-tests: New file.
31262         * tests/test-raise.c: New file.
31264         raise: Support for MSVC.
31265         * lib/signal.in.h (raise): New declaration.
31266         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
31267         for native Windows platforms.
31268         * m4/raise.m4: New file.
31269         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
31270         HAVE_RAISE, REPLACE_RAISE.
31271         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
31272         REPLACE_RAISE.
31273         * modules/raise (Status, Notice): Remove fields.
31274         (Files): Add m4/raise.m4.
31275         (Depends-on): Add signal, msvc-inval.
31276         (configure.ac): Use the common idioms.
31277         (Maintainer): Add me.
31278         * tests/test-signal-c++.cc: Check the signature of raise.
31279         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
31281 2011-09-23  Bruno Haible  <bruno@clisp.org>
31283         pipe2: Fix compilation on pre-C99 compilers.
31284         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
31286 2011-09-23  Bruno Haible  <bruno@clisp.org>
31288         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
31289         * lib/msvc-nothrow.h: New file.
31290         * lib/msvc-nothrow.c: New file.
31291         * m4/msvc-nothrow.m4: New file.
31292         * modules/msvc-nothrow: New file.
31293         * lib/dup2.c: Include msvc-nothrow.h.
31294         (rpl_dup2): No need to protect _get_osfhandle call here.
31295         * lib/accept4.c: Include msvc-nothrow.h.
31296         * lib/error.c: Likewise.
31297         * lib/fcntl.c: Likewise.
31298         * lib/lseek.c: Likewise.
31299         * lib/nonblocking.c: Likewise.
31300         * lib/poll.c: Likewise.
31301         * lib/read.c: Likewise.
31302         * lib/select.c: Likewise.
31303         * lib/sockets.h: Likewise.
31304         * lib/sockets.c: Likewise.
31305         * lib/stdio-read.c: Likewise.
31306         * lib/stdio-write.c: Likewise.
31307         * lib/write.c: Likewise.
31308         * lib/w32sock.h: Likewise.
31309         * lib/w32spawn.h: Likewise.
31310         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
31311         * lib/fsync.c: Likewise.
31312         * lib/isapipe.c: Likewise.
31313         * modules/dup2 (Depends-on): Add msvc-nothrow.
31314         * modules/accept4 (Depends-on): Likewise.
31315         * modules/error (Depends-on): Likewise.
31316         * modules/fcntl (Depends-on): Likewise.
31317         * modules/lseek (Depends-on): Likewise.
31318         * modules/nonblocking (Depends-on): Likewise.
31319         * modules/poll (Depends-on): Likewise.
31320         * modules/read (Depends-on): Likewise.
31321         * modules/select (Depends-on): Likewise.
31322         * modules/sockets (Depends-on): Likewise.
31323         * modules/sigpipe (Depends-on): Likewise.
31324         * modules/write (Depends-on): Likewise.
31325         * modules/accept (Depends-on): Likewise.
31326         * modules/bind (Depends-on): Likewise.
31327         * modules/connect (Depends-on): Likewise.
31328         * modules/gethostname (Depends-on): Likewise.
31329         * modules/getpeername (Depends-on): Likewise.
31330         * modules/getsockname (Depends-on): Likewise.
31331         * modules/getsockopt (Depends-on): Likewise.
31332         * modules/ioctl (Depends-on): Likewise.
31333         * modules/listen (Depends-on): Likewise.
31334         * modules/recv (Depends-on): Likewise.
31335         * modules/recvfrom (Depends-on): Likewise.
31336         * modules/send (Depends-on): Likewise.
31337         * modules/sendto (Depends-on): Likewise.
31338         * modules/setsockopt (Depends-on): Likewise.
31339         * modules/shutdown (Depends-on): Likewise.
31340         * modules/socket (Depends-on): Likewise.
31341         * modules/execute (Depends-on): Likewise.
31342         * modules/spawn-pipe (Depends-on): Likewise.
31343         * modules/flock (Depends-on): Likewise.
31344         * modules/fsync (Depends-on): Likewise.
31345         * modules/isapipe (Depends-on): Likewise.
31346         * tests/test-cloexec.c: Include msvc-nothrow.h.
31347         * tests/test-dup-safer.c: Likewise.
31348         * tests/test-dup2.c: Likewise.
31349         * tests/test-dup3.c: Likewise.
31350         * tests/test-fcntl.c: Likewise.
31351         * tests/test-pipe.c: Likewise.
31352         * tests/test-pipe2.c: Likewise.
31353         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
31354         * modules/unistd-safer-tests (Depends-on): Likewise.
31355         * modules/dup2-tests (Depends-on): Likewise.
31356         * modules/dup3-tests (Depends-on): Likewise.
31357         * modules/fcntl-tests (Depends-on): Likewise.
31358         * modules/pipe-posix-tests (Depends-on): Likewise.
31359         * modules/pipe2-tests (Depends-on): Likewise.
31361 2011-09-23  Bruno Haible  <bruno@clisp.org>
31363         dup2: Make code more maintainable.
31364         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
31365         (rpl_dup2): Use it.
31366         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
31367         * modules/dup2 (configure.ac): Invoke it.
31368         Reported by Paul Eggert.
31370 2011-09-23  Bruno Haible  <bruno@clisp.org>
31372         msvc-inval: Fix compilation error.
31373         * lib/msvc-inval.h: Include <excpt.h>.
31375 2011-09-23  Bruno Haible  <bruno@clisp.org>
31377         mkdir: Tweak for MSVC 9.
31378         * lib/sys_stat.in.h: Update comments.
31379         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
31381         Tests for module 'chdir'.
31382         * modules/chdir-tests: New file.
31383         * tests/test-chdir.c: New file.
31385         New module 'chdir'.
31386         * modules/chdir: New file.
31387         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
31388         (chdir): New declaration.
31389         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
31390         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
31391         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
31392         * tests/test-unistd-c++.cc: Check signature of chdir.
31393         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
31394         * modules/chdir-long (Depends-on): Add chdir.
31395         * modules/fchdir (Depends-on): Likewise.
31396         * modules/rename (Depends-on): Likewise.
31397         * modules/savewd (Depends-on): Likewise.
31399         rmdir: Support for mingw, MSVC 9.
31400         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
31401         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
31403         getcwd: Tweak for MSVC 9.
31404         * lib/unistd.in.h: Update comments.
31405         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
31407 2011-09-22  Bruno Haible  <bruno@clisp.org>
31409         strerror_r-posix: Avoid a link error on MSVC.
31410         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
31411         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
31413 2011-09-22  Bruno Haible  <bruno@clisp.org>
31415         select: Avoid link errors on MSVC.
31416         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
31417         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
31418         * modules/pselect (Link): Likewise.
31419         * NEWS: Mention the change.
31420         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
31421         test-select-stdin against $(LIB_SELECT).
31422         * modules/pselect-tests (Makefile.am): Link test-pselect against
31423         $(LIB_SELECT).
31425 2011-09-22  Bruno Haible  <bruno@clisp.org>
31427         select: Avoid compilation error on MSVC.
31428         * lib/select.c: Don't include <stdbool.h>.
31430 2011-09-21  Bruno Haible  <bruno@clisp.org>
31432         Consolidate all uses of PATH_MAX in *.m4 files.
31433         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
31434         macros.
31435         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
31436         and gl_PATHMAX_SNIPPET.
31437         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31438         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31439         * modules/chdir-long (Files): Add m4/pathmax.m4.
31440         * modules/getcwd (Files): Likewise.
31442 2011-09-21  Bruno Haible  <bruno@clisp.org>
31444         ftruncate: Un-deprecate, concentrate on Win32 support.
31445         * modules/ftruncate (Status, Notice): Remove sections.
31446         (Depends-on): Add largefile.
31447         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
31448         non-mingw platforms.
31449         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
31450         include <io.h>.
31451         * modules/perror-tests (Depends-on): Add ftruncate.
31452         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
31453         'ftruncate' module.
31455 2011-09-21  Bruno Haible  <bruno@clisp.org>
31457         Add dependencies to new dirent related modules.
31458         * modules/opendir (Depends-on): Add closedir.
31459         * modules/getcwd (Depends-on): Add opendir, closedir.
31460         * modules/dirent-safer-tests (Depends-on): Likewise.
31461         * modules/fdopendir-tests (Depends-on): Likewise.
31462         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
31463         * modules/renameat-tests (Depends-on): Likewise.
31465 2011-09-21  Bruno Haible  <bruno@clisp.org>
31467         opendir: Avoid compilation error on mingw.
31468         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
31469         * modules/opendir (Depends-on): Add unistd.
31471 2011-09-21  Bruno Haible  <bruno@clisp.org>
31473         ftruncate tests: Avoid a test failure on mingw.
31474         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31476 2011-09-21  Bruno Haible  <bruno@clisp.org>
31478         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31479         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31480         native Windows.
31482 2011-09-21  Bruno Haible  <bruno@clisp.org>
31484         New module 'fdopen'.
31485         * lib/stdio.in.h (fdopen): New declaration.
31486         * lib/fdopen.c: New file.
31487         * m4/fdopen.m4: New file.
31488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31489         REPLACE_FDOPEN.
31490         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31491         REPLACE_FDOPEN.
31492         * modules/fdopen: New file.
31493         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31494         * tests/test-stdio-c++.cc: Check signature of fdopen.
31495         * doc/posix-functions/fdopen.texi: Mention the new module.
31497 2011-09-21  Bruno Haible  <bruno@clisp.org>
31499         unlockpt tests: Avoid test failure on NetBSD 5.1.
31500         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31501         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31503 2011-09-21  Bruno Haible  <bruno@clisp.org>
31505         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31506         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31507         * tests/test-getlogin_r.c (main): Likewise.
31509 2011-09-20  Bruno Haible  <bruno@clisp.org>
31511         time tests: Don't require pid_t.
31512         * doc/posix-headers/time.texi: Revert last change.
31513         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31514         * tests/test-time.c: Comment out the check for pid_t.
31516 2011-09-20  Bruno Haible  <bruno@clisp.org>
31518         fsync tests: Avoid a test failure on mingw.
31519         * tests/test-fsync.c (main): Allow a failure with EIO.
31521 2011-09-20  Bruno Haible  <bruno@clisp.org>
31523         euidaccess: Update comments.
31524         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31526 2011-09-20  Bruno Haible  <bruno@clisp.org>
31528         Ensure EBADF returns for socket functions on mingw.
31529         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31530         descriptor is invalid.
31531         * lib/bind.c (rpl_bind): Likewise.
31532         * lib/connect.c (rpl_connect): Likewise.
31533         * lib/getpeername.c (rpl_getpeername): Likewise.
31534         * lib/getsockname.c (rpl_getsockname): Likewise.
31535         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31536         * lib/listen.c (rpl_listen): Likewise.
31537         * lib/recv.c (rpl_recv): Likewise.
31538         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31539         * lib/send.c (rpl_send): Likewise.
31540         * lib/sendto.c (rpl_sendto): Likewise.
31541         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31542         * lib/shutdown.c (rpl_shutdown): Likewise.
31544 2011-09-20  Bruno Haible  <bruno@clisp.org>
31546         select tests: EBADF tests.
31547         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31548         test_bad_fd): New functions.
31549         (test_function): Invoke also test_bad_fd.
31551 2011-09-20  Bruno Haible  <bruno@clisp.org>
31553         Tests for module 'posix_spawn_file_actions_addopen.
31554         * modules/posix_spawn_file_actions_addopen-tests: New file.
31555         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31557         Tests for module 'posix_spawn_file_actions_adddup2'.
31558         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31559         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31561         Tests for module 'posix_spawn_file_actions_addclose'.
31562         * modules/posix_spawn_file_actions_addclose-tests: New file.
31563         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31565 2011-09-20  Bruno Haible  <bruno@clisp.org>
31567         Tests for module 'unlockpt'.
31568         * modules/unlockpt-tests: New file.
31569         * tests/test-unlockpt.c: New file.
31570         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31572         Tests for module 'grantpt'.
31573         * modules/grantpt-tests: New file.
31574         * tests/test-grantpt.c: New file.
31575         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31577 2011-09-20  Bruno Haible  <bruno@clisp.org>
31579         freopen tests: EBADF tests.
31580         * tests/test-freopen.c: Include errno.h, unistd.h.
31581         (main): Add tests for EBADF, commented out for the moment.
31583         fclose tests: EBADF tests.
31584         * tests/test-fclose.c (main): Add tests for EBADF.
31586         fflush tests: EBADF tests.
31587         * tests/test-fflush.c: Include errno.h, macros.h.
31588         (main): Add tests for EBADF.
31590         ftello tests: EBADF tests.
31591         * tests/test-ftello4.sh: New file.
31592         * tests/test-ftello4.c: New file.
31593         * modules/ftello-tests (Files): Add them.
31594         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31596         fseeko tests: EBADF tests.
31597         * tests/test-fseeko4.sh: New file.
31598         * tests/test-fseeko4.c: New file.
31599         * modules/fseeko-tests (Files): Add them.
31600         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31602         Tests for function fputc().
31603         * modules/fputc-tests: New file.
31604         * tests/test-fputc.c: New file.
31605         * modules/stdio-tests (Depends-on): Add fputc-tests.
31607         Tests for function fgetc().
31608         * modules/fgetc-tests: New file.
31609         * tests/test-fgetc.c: New file.
31610         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31612         Tests for function fdopen().
31613         * modules/fdopen-tests: New file.
31614         * tests/test-fdopen.c: New file.
31615         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31617         Tests for module 'vdprintf'.
31618         * modules/vdprintf-tests: New file.
31619         * tests/test-vdprintf.c: New file.
31621         Tests for module 'dprintf'.
31622         * modules/dprintf-tests: New file.
31623         * tests/test-dprintf.c: New file.
31625 2011-09-20  Bruno Haible  <bruno@clisp.org>
31627         Tests for module 'ioctl'.
31628         * modules/ioctl-tests: New file.
31629         * tests/test-ioctl.c: New file.
31631 2011-09-20  Bruno Haible  <bruno@clisp.org>
31633         fcntl tests: EBADF tests.
31634         * tests/test-fcntl.c (main): Add more tests for EBADF.
31636 2011-09-20  Bruno Haible  <bruno@clisp.org>
31638         utimensat tests: EBADF tests.
31639         * tests/test-utimensat.c (main): Add tests for EBADF.
31641         renameat tests: EBADF tests.
31642         * tests/test-renameat.c (main): Add tests for EBADF.
31644         mkfifoat tests: EBADF tests.
31645         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31647         readlinkat tests: EBADF tests.
31648         * tests/test-readlinkat.c (main): Add tests for EBADF.
31650         symlinkat tests: EBADF tests.
31651         * tests/test-symlinkat.c (main): Add tests for EBADF.
31653         linkat tests: EBADF tests.
31654         * tests/test-linkat.c (main): Add tests for EBADF.
31656         Tests for module 'faccessat'.
31657         * modules/faccessat-tests: New file.
31658         * tests/test-faccessat.c: New file.
31660         fdopendir tests: EBADF tests.
31661         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31663         openat tests: EBADF tests.
31664         * tests/test-fchownat.c (main): Add tests for EBADF.
31665         * tests/test-fstatat.c (main): Likewise.
31666         * tests/test-mkdirat.c (main): Likewise.
31667         * tests/test-openat.c (main): Likewise.
31668         * tests/test-unlinkat.c (main): Likewise.
31669         * tests/test-fchmodat.c: New file.
31670         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31671         (Makefile.am): Also run 'test-fchmodat'.
31673 2011-09-20  Bruno Haible  <bruno@clisp.org>
31675         utimens, futimens, fdutimensat tests: EBADF tests.
31676         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31678         Tests for function fstat().
31679         * modules/fstat-tests: New file.
31680         * tests/test-fstat.c: New file.
31681         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31683 2011-09-20  Bruno Haible  <bruno@clisp.org>
31685         test-ttyname_r tests: EBADF tests.
31686         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31688         Tests for module 'isatty'.
31689         * modules/isatty-tests: New file.
31690         * tests/test-isatty.c: New file.
31692         Tests for module 'write'.
31693         * modules/write-tests: New file.
31694         * tests/test-write.c: New file.
31696         Tests for module 'read'.
31697         * modules/read-tests: New file.
31698         * tests/test-read.c: New file.
31700         pwrite tests: EBADF tests.
31701         * tests/test-pwrite.c (main): Add tests for EBADF.
31703         pread tests: EBADF tests.
31704         * tests/test-pread.c (main): Add tests for EBADF.
31706         lseek tests: EBADF tests.
31707         * tests/test-lseek.c (main): Add more tests for EBADF.
31709         Tests for module 'ftruncate'.
31710         * modules/ftruncate-tests: New file.
31711         * tests/test-ftruncate.sh: New file.
31712         * tests/test-ftruncate.c: New file.
31714         fsync tests: EBADF tests.
31715         * tests/test-fsync.c (main): Add more tests for EBADF.
31717         fdatasync tests: EBADF tests.
31718         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31720         Tests for module 'fchown'.
31721         * modules/fchown-tests: New file.
31722         * tests/test-fchown.c: New file.
31724         Tests for module 'fchmod'.
31725         * modules/fchmod-tests: New file.
31726         * tests/test-fchmod.c: New file.
31728         fchdir tests: EBADF tests.
31729         * tests/test-fchdir.c (main): Add more tests for EBADF.
31731         dup2 tests: EBADF tests.
31732         * tests/test-dup2.c (main): Add more tests for EBADF.
31734         Tests for module 'dup'.
31735         * modules/dup-tests: New file.
31736         * tests/test-dup.c: New file.
31738         Tests for module 'close'.
31739         * modules/close-tests: New file.
31740         * tests/test-close.c: New file.
31742 2011-09-20  Bruno Haible  <bruno@clisp.org>
31744         Tests for module 'shutdown'.
31745         * modules/shutdown-tests: New file.
31746         * tests/test-shutdown.c: New file.
31748         Tests for module 'setsockopt'.
31749         * modules/setsockopt-tests: New file.
31750         * tests/test-setsockopt.c: New file.
31752         Tests for module 'sendto'.
31753         * modules/sendto-tests: New file.
31754         * tests/test-sendto.c: New file.
31756         Tests for module 'send'.
31757         * modules/send-tests: New file.
31758         * tests/test-send.c: New file.
31760         Tests for module 'recvfrom'.
31761         * modules/recvfrom-tests: New file.
31762         * tests/test-recvfrom.c: New file.
31764         Tests for module 'recv'.
31765         * modules/recv-tests: New file.
31766         * tests/test-recv.c: New file.
31768         Tests for module 'listen'.
31769         * modules/listen-tests: New file.
31770         * tests/test-listen.c: New file.
31772         Tests for module 'getsockopt'.
31773         * modules/getsockopt-tests: New file.
31774         * tests/test-getsockopt.c: New file.
31776         Tests for module 'getsockname'.
31777         * modules/getsockname-tests: New file.
31778         * tests/test-getsockname.c: New file.
31780         Tests for module 'getpeername'.
31781         * modules/getpeername-tests: New file.
31782         * tests/test-getpeername.c: New file.
31784         Tests for module 'connect'.
31785         * modules/connect-tests: New file.
31786         * tests/test-connect.c: New file.
31788         Tests for module 'bind'.
31789         * modules/bind-tests: New file.
31790         * tests/test-bind.c: New file.
31792         accept4 tests: Fix for native Windows.
31793         * tests/test-accept4.c: Include sockets.h.
31794         (main): Invoke gl_sockets_startup.
31795         * modules/accept4-tests (Depends-on): Add sockets.
31797         accept tests: Fix for native Windows.
31798         * tests/test-accept.c: Include sockets.h.
31799         (main): Invoke gl_sockets_startup.
31800         * modules/accept-tests (Depends-on): Add sockets.
31802 2011-09-19  Bruno Haible  <bruno@clisp.org>
31804         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31805         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31806         do...while(0).
31807         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31808         Suggested by Paul Eggert.
31810 2011-09-19  Bruno Haible  <bruno@clisp.org>
31812         sched: Ensure pid_t is defined.
31813         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31814         not define pid_t.
31815         * lib/sched.in.h: Include <sys/types.h>.
31816         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31817         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31819 2011-09-19  Bruno Haible  <bruno@clisp.org>
31821         msvc-inval: Ensure the entire expansion is a single statement.
31822         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31823         of braces.
31825 2011-09-19  Jim Meyering  <meyering@redhat.com>
31827         tests: use printf, not echo in init.sh's warn_ function
31828         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31829         misbehave when given strings containing a backslash or starting
31830         with e.g., -n.  James Youngman suggested setting IFS.
31832 2011-09-19  Eric Blake  <eblake@redhat.com>
31834         futimens: enhance test
31835         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31836         closed non-negative fd.
31838         date: accept 'hence' as opposite of 'ago'
31839         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31840         * tests/test-parse-datetime.c (main): Enhance test.
31841         Suggested by Jesse Wilson.
31843 2011-09-19  Jim Meyering  <meyering@redhat.com>
31845         getcwd: don't fail in a deep directory on a system without openat
31846         Before this change, getcwd would fail when called from a directory
31847         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31848         the non-openat implementation used "..", "../..", "../../..", etc.
31849         to access ancestor directories.  With too many, that string would
31850         be longer than PATH_MAX.
31851         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31852         using gnulib's openat replacement.
31853         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31854         we're using the replacement function.
31856 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31858         maint.mk: avoid warnings from perl about missing files
31859         * top/maint.mk (def_sym_regex): Ignore files listed in
31860         $(gl_other_headers_) that do not exist, say because a project
31861         does not use a corresponding module.
31863 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31865         stat: use pathmax.h only if needed
31866         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31867         This is better for Emacs, which does not have a mingw port and
31868         therefore can avoid the pathmax module.
31870         utimens: remove dependency on dup2
31871         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31872         to work around the Linux kernel bug.
31873         * modules/utimens (Depends-on): Remove dup2.
31875 2011-09-18  Bruno Haible  <bruno@clisp.org>
31877         inet_ntop, inet_pton: Look for it also in libresolv.
31878         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31879         libnsl, search for it in libresolv.
31880         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31881         Needed on Solaris 7.
31883 2011-09-18  Bruno Haible  <bruno@clisp.org>
31885         accept, accept4 tests: Avoid link error on Solaris.
31886         * modules/accept-tests (Makefile.am): Link test-accept against
31887         $(LIBSOCKET).
31888         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31889         $(LIBSOCKET).
31891         accept4: Avoid link error on Solaris.
31892         * modules/accept4 (Link): New section.
31894         socket functions: Avoid link errors on Solaris.
31895         * modules/accept (Depends-on): Add socketlib.
31896         (Link): New section.
31897         * modules/bind (Depends-on): Add socketlib.
31898         (Link): New section.
31899         * modules/connect (Depends-on): Add socketlib.
31900         (Link): New section.
31901         * modules/getpeername (Depends-on): Add socketlib.
31902         (Link): New section.
31903         * modules/getsockname (Depends-on): Add socketlib.
31904         (Link): New section.
31905         * modules/getsockopt (Depends-on): Add socketlib.
31906         (Link): New section.
31907         * modules/listen (Depends-on): Add socketlib.
31908         (Link): New section.
31909         * modules/recv (Depends-on): Add socketlib.
31910         (Link): New section.
31911         * modules/recvfrom (Depends-on): Add socketlib.
31912         (Link): New section.
31913         * modules/send (Depends-on): Add socketlib.
31914         (Link): New section.
31915         * modules/sendto (Depends-on): Add socketlib.
31916         (Link): New section.
31917         * modules/setsockopt (Depends-on): Add socketlib.
31918         (Link): New section.
31919         * modules/shutdown (Depends-on): Add socketlib.
31920         (Link): New section.
31921         * modules/socket (Depends-on): Add socketlib.
31922         (Link): New section.
31924 2011-09-18  Bruno Haible  <bruno@clisp.org>
31926         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31927         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31928         than 5 seconds.
31929         * modules/ptsname-tests (configure.ac): Test for alarm.
31931 2011-09-18  Bruno Haible  <bruno@clisp.org>
31933         posix_spawn_file_actions_add*: Fix module dependencies.
31934         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31935         posix_spawn_file_actions_init.
31936         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31937         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31939 2011-09-18  Bruno Haible  <bruno@clisp.org>
31941         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31942         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31943         * tests/test-renameat.c (main): Likewise.
31945 2011-09-18  Bruno Haible  <bruno@clisp.org>
31947         Tests for module 'accept4'.
31948         * modules/accept4-tests: New file.
31949         * tests/test-accept4.c: New file.
31951 2011-09-18  Bruno Haible  <bruno@clisp.org>
31953         Tests for module 'accept'.
31954         * modules/accept-tests: New file.
31955         * tests/test-accept.c: New file.
31957 2011-09-18  Bruno Haible  <bruno@clisp.org>
31959         dup2: Support for MSVC.
31960         * lib/dup2.c: Include msvc-inval.h.
31961         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31962         _get_osfhandle calls.
31963         * modules/dup2 (Depends-on): Add msvc-inval.
31964         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31966         New module 'msvc-inval'.
31967         * lib/msvc-inval.h: New file.
31968         * lib/msvc-inval.c: New file.
31969         * m4/msvc-inval.m4: New file.
31970         * modules/msvc-inval: New file.
31972 2011-09-17  Bruno Haible  <bruno@clisp.org>
31974         Tests for module 'pclose'.
31975         * modules/pclose-tests: New file.
31977         New module 'pclose'.
31978         * lib/stdio.in.h (pclose): New declaration.
31979         * lib/pclose.c: New file.
31980         * m4/pclose.m4: New file.
31981         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31982         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31983         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31984         * modules/pclose: New file.
31985         * modules/popen-tests (Depends-on): Add pclose.
31986         * modules/popen-safer-tests (Depends-on): Likewise.
31987         * doc/posix-functions/pclose.texi: Mention the new module.
31989 2011-09-17  Bruno Haible  <bruno@clisp.org>
31991         popen: Support for MSVC.
31992         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31993         * lib/popen.c (popen): Provide alternate definition for native Windows.
31994         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31995         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31996         * modules/popen (Depends-on, configure.ac): Update condition.
31997         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31998         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31999         fixed.
32001 2011-09-17  Bruno Haible  <bruno@clisp.org>
32003         isnanl, isnand, isnanf: Work around MSVC bug.
32004         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
32006 2011-09-17  Bruno Haible  <bruno@clisp.org>
32008         sys_socket tests: Fix recent mistake.
32009         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
32011 2011-09-17  Bruno Haible  <bruno@clisp.org>
32013         putenv: Support for MSVC.
32014         * modules/putenv (Depends-on): Add environ.
32015         * lib/putenv.c (environ): Disable declaration.
32016         * lib/unistd.in.h: Update comment.
32018 2011-09-17  Bruno Haible  <bruno@clisp.org>
32020         math: Avoid macro redefinition warnings on MSVC.
32021         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
32022         Undefine before redefining.
32024 2011-09-17  Bruno Haible  <bruno@clisp.org>
32026         doc: Mention functions which are declared as macros.
32027         * doc/posix-functions/*[fl].texi: Mention that some functions are
32028         defined as macros with arguments only.
32030 2011-09-17  Bruno Haible  <bruno@clisp.org>
32032         Add dependencies to new dirent related modules.
32033         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
32034         * modules/fts (Depends-on): Likewise.
32035         * modules/glob (Depends-on): Likewise.
32036         * modules/savedir (Depends-on): Likewise.
32037         * modules/scandir (Depends-on): Likewise.
32038         * modules/dirent-safer (Depends-on): Add opendir, closedir.
32039         * modules/fdopendir (Depends-on): Add opendir.
32041 2011-09-17  Bruno Haible  <bruno@clisp.org>
32043         inet_pton: Support for MSVC on Windows Vista or newer.
32044         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
32045         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
32046         HAVE_DECL_INET_PTON is defined.
32047         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32048         On platforms with <winsock2.h>, test whether inet_pton is declared in
32049         <ws2tcpip.h>. If so, arrange to replace it.
32050         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32051         REPLACE_INET_PTON.
32052         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
32053         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
32054         (Depends-on, configure.ac): Update condition.
32055         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
32057 2011-09-17  Bruno Haible  <bruno@clisp.org>
32059         inet_ntop: Support for MSVC on Windows Vista or newer.
32060         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
32061         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
32062         HAVE_DECL_INET_NTOP is defined.
32063         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32064         On platforms with <winsock2.h>, test whether inet_ntop is declared in
32065         <ws2tcpip.h>. If so, arrange to replace it.
32066         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32067         REPLACE_INET_NTOP.
32068         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
32069         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
32070         (Depends-on, configure.ac): Update condition.
32071         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
32073 2011-09-16  Eric Blake  <eblake@redhat.com>
32075         test-fsync: yet another enhancement
32076         * tests/test-fsync.c (main): Also test behavior on read-only text
32077         file.
32079 2011-09-16  Bruno Haible  <bruno@clisp.org>
32081         Enhance fsync, fdatasync tests.
32082         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
32083         * tests/test-fdatasync.c (main): Likewise.
32085 2011-09-16  Bruno Haible  <bruno@clisp.org>
32087         Support for MSVC compiler: Ensure mode_t gets defined.
32088         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
32089         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32090         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32091         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
32092         * tests/test-fcntl-h.c: Check that mode_t is defined.
32093         * tests/test-sys_stat.c: Likewise.
32094         * tests/test-sys_types.c: Likewise.
32095         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
32096         * doc/posix-headers/sys_stat.texi: Likewise.
32097         * doc/posix-headers/sys_types.texi: Likewise.
32099 2011-09-16  Bruno Haible  <bruno@clisp.org>
32101         sys_stat: Support for MSVC.
32102         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
32103         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
32104         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
32105         MSVC.
32107 2011-09-16  Bruno Haible  <bruno@clisp.org>
32109         Support for MSVC compiler: Ensure off_t gets defined.
32110         * lib/unistd.in.h: Include <sys/types.h>.
32111         * tests/test-fcntl-h.c: Check that off_t is defined.
32112         * tests/test-sys_stat.c: Likewise.
32113         * tests/test-sys_types.c: Likewise.
32115 2011-09-16  Eric Blake  <eblake@redhat.com>
32117         fdatasync: port to Solaris
32118         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
32119         * modules/fdatasync (Link): Document it.
32120         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
32122         fdatasync: port to MacOS X 10.7
32123         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
32124         declared.
32125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
32126         * modules/unistd (Makefile.am): Substitute it.
32127         * lib/unistd.in.h (fdatasync): Declare on MacOS.
32128         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
32130         fdatasync: minor improvements
32131         * modules/fdatasync (Depends-on): Add condition for fsync.
32132         * lib/fdatasync.c (fdatasync): Add comment.
32133         * tests/test-unistd-c++.cc: Test fdatasync.
32135         unistd: update refs to newer POSIX
32136         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
32137         Suggested by Bruno Haible.
32139         fdatasync: new module
32140         * modules/fsync (Description): Document difference to fdatasync.
32141         * modules/fdatasync: New module.
32142         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
32143         * lib/fdatasync.c (fdatasync): Likewise.
32144         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
32145         defaults.
32146         * modules/unistd (Makefile.am): Set witnesses.
32147         * lib/unistd.in.h (fdatasync): Declare.
32148         * MODULES.html.sh: Document it.
32149         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
32150         * modules/fdatasync-tests: New test.
32151         * tests/test-fdatasync.c: Likewise.
32153 2011-09-16  Eric Blake  <eblake@redhat.com>
32155         test-fsync: enhance tests
32156         * modules/fsync-tests (Depends-on): Add errno, for mingw.
32157         * tests/test-fsync.c (main): Enhance test.
32159 2011-09-15  Bruno Haible  <bruno@clisp.org>
32161         Support for MSVC compiler: Ensure ssize_t gets defined.
32162         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
32163         * doc/posix-headers/stdio.texi: Likewise.
32164         * modules/stdio (Depends-on): Add ssize_t.
32165         * modules/sys_socket (Depends-on): Likewise.
32166         * modules/sys_types (Depends-on): Likewise.
32167         * modules/sys_uio (Depends-on): Likewise.
32168         * modules/unistd (Depends-on): Likewise.
32169         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
32170         * tests/test-sys_types.c: Check that ssize_t is defined.
32172 2011-09-14  Bruno Haible  <bruno@clisp.org>
32174         Avoid using #, the m4 comment starter character, near brackets.
32175         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
32176         delimiter character in sed expressions.
32177         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
32178         Suggested by Eric Blake.
32180         Properly quote AC_CHECK_DECLS' 4th argument.
32181         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
32182         argument.
32183         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32184         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32185         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32186         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32187         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32188         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
32189         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
32190         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
32191         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
32192         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
32193         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
32194         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32195         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32196         * m4/isinf.m4 (gl_ISINF): Likewise.
32197         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
32198         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32199         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32200         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32201         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32202         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
32203         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
32204         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
32205         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
32206         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
32207         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32208         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32209         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
32210         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32211         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32212         Reported by Eric Blake.
32214         Properly quote AC_CHECK_DECL's 4th argument.
32215         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
32216         argument.
32217         * m4/argp.m4 (gl_ARGP): Likewise.
32218         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
32219         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32220         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
32221         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
32222         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
32223         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
32224         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
32225         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
32226         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32227         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
32228         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
32229         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
32230         Reported by Eric Blake.
32232 2011-09-14  Eric Blake  <eblake@redhat.com>
32234         opendir: avoid compile warning
32235         * lib/opendir.c (includes): Always include errno.h.
32236         Reported by Tatsuro MATSUOKA.
32238 2011-09-14  Jim Meyering  <meyering@redhat.com>
32240         maint.mk: sc_tight_scope: propagate failure from sub-make
32241         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
32242         Reported by Martin von Gagern.
32244 2011-09-13  Bruno Haible  <bruno@clisp.org>
32246         tempname: Support for MSVC.
32247         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
32248         MSVC.
32249         * modules/tempname (Depends-on): Add fcntl-h.
32251 2011-09-13  Bruno Haible  <bruno@clisp.org>
32253         sys_time: Support for MSVC.
32254         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
32255         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
32256         include <winsock2.h>.
32257         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
32258         function declarations that collide with POSIX.
32259         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
32260         (Makefile.am): Substitute HAVE_WINSOCK2_H.
32262 2011-09-13  Bruno Haible  <bruno@clisp.org>
32264         stat: Support for MSVC.
32265         * lib/stat.c: Include pathmax.h.
32266         * modules/stat (Depends-on): Add pathmax.
32268         pathmax: Support for native Windows.
32269         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
32271 2011-09-12  Bruno Haible  <bruno@clisp.org>
32273         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
32274         * lib/dirent.in.h (struct dirent): New type.
32275         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
32276         DT_WHT): New macros.
32277         (DIR): New type.
32278         (opendir, closedir): Declare only if the module 'opendir' is enabled.
32279         (readdir, rewinddir): New declarations.
32280         * lib/dirent-private.h: New file.
32281         * lib/opendir.c: New file.
32282         * lib/readdir.c: New file.
32283         * lib/rewinddir.c: New file.
32284         * lib/closedir.c: New file.
32285         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
32286         * m4/opendir.m4: New file.
32287         * m4/readdir.m4: New file.
32288         * m4/rewinddir.m4: New file.
32289         * m4/closedir.m4: New file.
32290         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
32291         REPLACE_CLOSEDIR here.
32292         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
32293         readdir, rewinddir are declared.
32294         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
32295         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
32296         HAVE_REWINDDIR, HAVE_CLOSEDIR.
32297         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
32298         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
32299         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
32300         * modules/opendir: New file.
32301         * modules/readdir: New file.
32302         * modules/rewinddir: New file.
32303         * modules/closedir: New file.
32304         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
32305         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
32306         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
32307         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
32308         * NEWS: Mention the 'fchdir' change.
32310 2011-09-11  Bruno Haible  <bruno@clisp.org>
32312         asm-underscore.m4: Support for MSVC.
32313         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
32314         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
32316 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
32318         Doc about crypt functions.
32319         * doc/posix-functions/crypt.texi: Expand range of glibc versions
32320         needing for _GNU_SOURCE to get crypt.
32321         * doc/posix-functions/encrypt.texi: Likewise.
32322         * doc/posix-functions/setkey.texi: Likewise.
32324 2011-09-11  Bruno Haible  <bruno@clisp.org>
32326         doc: Update regarding MSVC 9.
32327         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
32328         tested".
32329         * doc/posix-functions/*.texi: Update with info about MSVC 9.
32330         * doc/posix-headers/*.texi: Likewise.
32331         * doc/pastposix-functions/*.texi: Likewise.
32332         * doc/glibc-functions/*.texi: Likewise.
32333         * doc/glibc-headers/*.texi: Likewise.
32335 2011-09-11  Bruno Haible  <bruno@clisp.org>
32337         unistd et al.: Don't assume <unistd.h> exists.
32338         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
32339         does not exist.
32340         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
32341         exist. But include <stdlib.h>.
32342         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
32343         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
32344         symlink() does not exist.
32345         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
32346         include <io.h> instead.
32347         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
32348         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
32349         include <direct.h> instead.
32350         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
32351         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32352         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
32353         <io.h> instead.
32354         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
32355         correctly if the system does not have hard links.
32356         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
32357         <direct.h> instead.
32358         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
32359         it when looking for function declarations.
32360         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
32361         <direct.h> and <io.h> instead.
32362         * doc/posix-headers/unistd.texi: More details about MSVC problem.
32364 2011-09-11  Bruno Haible  <bruno@clisp.org>
32366         strcase: Support for MSVC.
32367         * modules/strcase (Status, Notice): Remove obsoletion mark.
32368         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
32369         * doc/posix-functions/strncasecmp.texi: Likewise.
32371         strings: Don't assume <strings.h> exists.
32372         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
32373         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
32374         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
32375         * doc/posix-headers/strings.texi: Mention the MSVC problem.
32377 2011-09-11  Bruno Haible  <bruno@clisp.org>
32379         dirent: Don't assume <dirent.h> exists.
32380         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
32381         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
32382         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
32383         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
32385 2011-09-11  Bruno Haible  <bruno@clisp.org>
32387         Fix wint_t on MSVC.
32388         * lib/wchar.in.h (wint_t): On MSVC, override it.
32389         * lib/wctype.in.h (wint_t): Likewise.
32390         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
32391         MSVC.
32392         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
32393         * doc/posix-headers/wctype.texi: Likewise.
32395 2011-09-11  Bruno Haible  <bruno@clisp.org>
32397         sys_types: Fix typo.
32398         * lib/sys_types.in.h: Fix typo in comment.
32399         Reported by Paul Eggert.
32401         Support for MSVC compiler: Ensure size_t gets defined.
32402         * modules/strings (Depends-on): Add 'sys_types'.
32403         * modules/sys_uio (Depends-on): Likewise.
32404         * lib/sys_uio.in.h: Update comment.
32406         C++ tests for module 'sys_types'.
32407         * modules/sys_types-c++-tests: New file.
32408         * tests/test-sys_types-c++.cc: New file.
32410         Tests for module 'sys_types'.
32411         * modules/sys_types-tests: New file.
32412         * tests/test-sys_types.c: New file.
32414         New module 'sys_types'.
32415         * lib/sys_types.in.h: New file.
32416         * m4/sys_types_h.m4: New file.
32417         * modules/sys_types: New file.
32418         * doc/posix-headers/sys_types.texi: Mention the new module and the
32419         size_t problem on MSVC 9.
32421 2011-09-11  Bruno Haible  <bruno@clisp.org>
32423         Support for MSVC compiler: Avoid division by a literal 0.
32424         * lib/math.in.h (NAN): Define through a function call also on MSVC.
32425         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
32426         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
32427         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
32428         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
32429         * tests/infinity.h: New file.
32430         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
32431         on MSVC.
32432         * tests/test-ceilf1.c: Include infinity.h.
32433         (main): Use Infinityf.
32434         * tests/test-ceil1.c: Include infinity.h.
32435         (main): Use Infinityd.
32436         * tests/test-ceill.c: Include infinity.h.
32437         (main): Use Infinityl.
32438         * tests/test-dprintf-posix.c: Include infinity.h.
32439         (test_function): Use Infinityd.
32440         * tests/test-floorf1.c: Include infinity.h.
32441         (main): Use Infinityf.
32442         * tests/test-floor1.c: Include infinity.h.
32443         (main): Use Infinityd.
32444         * tests/test-floorl.c: Include infinity.h.
32445         (main): Use Infinityl.
32446         * tests/test-fprintf-posix.c: Include infinity.h.
32447         (test_function): Use Infinityd.
32448         * tests/test-frexp.c: Include infinity.h.
32449         (main): Use Infinityd.
32450         * tests/test-frexpl.c: Include infinity.h.
32451         (main): Use Infinityl.
32452         * tests/test-isfinite.c: Include infinity.h.
32453         (test_isfinitef): Use Infinityf.
32454         (test_isfinited): Use Infinityd.
32455         (test_isfinitel): Use Infinityl.
32456         * tests/test-isinf.c: Include infinity.h.
32457         (test_isinff): Use Infinityf.
32458         (test_isinfd): Use Infinityd.
32459         (test_isinfl): Use Infinityl.
32460         * tests/test-isnan.c: Include infinity.h.
32461         (test_float): Use Infinityf.
32462         (test_double): Use Infinityd.
32463         (test_long_double): Use Infinityl.
32464         * tests/test-isnanf.h: Include infinity.h.
32465         (main): Use Infinityf.
32466         * tests/test-isnand.h: Include infinity.h.
32467         (main): Use Infinityd.
32468         * tests/test-isnanl.h: Include infinity.h.
32469         (main): Use Infinityl.
32470         * tests/test-ldexpl.c: Include infinity.h.
32471         (main): Use Infinityl.
32472         * tests/test-printf-posix.h: Include infinity.h.
32473         (test_function): Use Infinityd.
32474         * tests/test-roundf1.c: Include infinity.h.
32475         (main): Use Infinityf.
32476         * tests/test-round1.c: Include infinity.h.
32477         (main): Use Infinityd.
32478         * tests/test-roundl.c: Include infinity.h.
32479         (main): Use Infinityl.
32480         * tests/test-signbit.c: Include infinity.h.
32481         (test_signbitf): Use Infinityf.
32482         (test_signbitd): Use Infinityd.
32483         (test_signbitl): Use Infinityl.
32484         * tests/test-snprintf-posix.h: Include infinity.h.
32485         (test_function): Use Infinityd, Infinityl.
32486         * tests/test-sprintf-posix.h: Include infinity.h.
32487         (test_function): Use Infinityd, Infinityl.
32488         * tests/test-truncf1.c: Include infinity.h.
32489         (main): Use Infinityf.
32490         * tests/test-trunc1.c: Include infinity.h.
32491         (main): Use Infinityd.
32492         * tests/test-truncl.c: Include infinity.h.
32493         (main): Use Infinityl.
32494         * tests/test-vasnprintf-posix.c: Include infinity.h.
32495         (test_function): Use Infinityd, Infinityl.
32496         * tests/test-vasprintf-posix.c: Include infinity.h.
32497         (test_function): Use Infinityd, Infinityl.
32498         * modules/ceilf-tests (Files): Add tests/infinity.h.
32499         * modules/ceil-tests (Files): Likewise.
32500         * modules/ceill-tests (Files): Likewise.
32501         * modules/dprintf-posix-tests (Files): Likewise.
32502         * modules/floorf-tests (Files): Likewise.
32503         * modules/floor-tests (Files): Likewise.
32504         * modules/floorl-tests (Files): Likewise.
32505         * modules/fprintf-posix-tests (Files): Likewise.
32506         * modules/frexp-tests (Files): Likewise.
32507         * modules/frexp-nolibm-tests (Files): Likewise.
32508         * modules/frexpl-tests (Files): Likewise.
32509         * modules/frexpl-nolibm-tests (Files): Likewise.
32510         * modules/isfinite-tests (Files): Likewise.
32511         * modules/isinf-tests (Files): Likewise.
32512         * modules/isnan-tests (Files): Likewise.
32513         * modules/isnanf-tests (Files): Likewise.
32514         * modules/isnanf-nolibm-tests (Files): Likewise.
32515         * modules/isnand-tests (Files): Likewise.
32516         * modules/isnand-nolibm-tests (Files): Likewise.
32517         * modules/isnanl-tests (Files): Likewise.
32518         * modules/isnanl-nolibm-tests (Files): Likewise.
32519         * modules/ldexpl-tests (Files): Likewise.
32520         * modules/printf-posix-tests (Files): Likewise.
32521         * modules/roundf-tests (Files): Likewise.
32522         * modules/round-tests (Files): Likewise.
32523         * modules/roundl-tests (Files): Likewise.
32524         * modules/signbit-tests (Files): Likewise.
32525         * modules/snprintf-posix-tests (Files): Likewise.
32526         * modules/sprintf-posix-tests (Files): Likewise.
32527         * modules/truncf-tests (Files): Likewise.
32528         * modules/trunc-tests (Files): Likewise.
32529         * modules/truncl-tests (Files): Likewise.
32530         * modules/vasnprintf-posix-tests (Files): Likewise.
32531         * modules/vasprintf-posix-tests (Files): Likewise.
32532         * modules/vdprintf-posix-tests (Files): Likewise.
32533         * modules/vfprintf-posix-tests (Files): Likewise.
32534         * modules/vprintf-posix-tests (Files): Likewise.
32535         * modules/vsnprintf-posix-tests (Files): Likewise.
32536         * modules/vsprintf-posix-tests (Files): Likewise.
32537         * modules/xprintf-posix-tests (Files): Likewise.
32539 2011-09-11  Bruno Haible  <bruno@clisp.org>
32541         Ensure pid_t gets defined.
32542         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32543         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32544         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32545         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32546         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32547         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32548         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32549         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32550         * tests/test-fcntl-h.c: Check that pid_t is defined.
32551         * tests/test-sched.c: Likewise.
32552         * tests/test-termios.c: Likewise.
32553         * tests/test-time.c: Likewise.
32554         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32555         * doc/posix-headers/signal.texi: Likewise.
32556         * doc/posix-headers/sys_types.texi: Likewise.
32557         * doc/posix-headers/time.texi: Likewise.
32559 2011-09-11  Bruno Haible  <bruno@clisp.org>
32561         acl: Fix compilation on Solaris 10 (older version).
32562         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32563         of ACE_EVERYONE.
32564         * lib/set-mode-acl.c (qset_acl): Likewise.
32565         Reported by Christian Jullien <eligis@orange.fr>.
32567 2011-09-10  Bruno Haible  <bruno@clisp.org>
32569         iconv, unsetenv: Add support for MSVC compiler.
32570         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32571         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32573 2011-09-10  Bruno Haible  <bruno@clisp.org>
32575         *printf: Add support for MSVC compiler.
32576         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32577         handles the exception caused by the %n directive. When cross-compiling,
32578         guess no on native Windows.
32579         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32580         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32581         emulate it through vsnprintf.
32582         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32583         * doc/posix-functions/dprintf.texi: Update documentation regarding
32584         MSVC 9.
32585         * doc/posix-functions/fprintf.texi: Likewise.
32586         * doc/posix-functions/printf.texi: Likewise.
32587         * doc/posix-functions/snprintf.texi: Likewise.
32588         * doc/posix-functions/sprintf.texi: Likewise.
32589         * doc/posix-functions/swprintf.texi: Likewise.
32590         * doc/posix-functions/vdprintf.texi: Likewise.
32591         * doc/posix-functions/vfprintf.texi: Likewise.
32592         * doc/posix-functions/vprintf.texi: Likewise.
32593         * doc/posix-functions/vsnprintf.texi: Likewise.
32594         * doc/posix-functions/vsprintf.texi: Likewise.
32595         * doc/glibc-functions/asprintf.texi: Likewise.
32596         * doc/glibc-functions/obstack_printf.texi: Likewise.
32597         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32598         * doc/glibc-functions/vasprintf.texi: Likewise.
32600 2011-09-10  Bruno Haible  <bruno@clisp.org>
32602         nocrash: Add support for native Windows.
32603         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32605 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32606             Bruno Haible  <bruno@clisp.org>
32608         absolute-header, include-next: Add support for MSVC compiler.
32609         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32610         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32611         directory separator in #line directives.
32612         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32613         recognize also backslash as directory separator in #line directives.
32615 2011-09-08  Jim Meyering  <meyering@redhat.com>
32617         maint.mk: mark the post-release commit log with "maint: " prefix
32618         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32619         one-line commit-log summary.
32621 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32622             Bruno Haible  <bruno@clisp.org>
32624         Doc about crypt functions.
32625         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32626         systems.
32627         * doc/posix-functions/encrypt.texi: Likewise.
32628         * doc/posix-functions/setkey.texi: Likewise.
32630 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32632         * lib/gc.h: Fix copyright header.
32634 2011-09-07  Bruno Haible  <bruno@clisp.org>
32636         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32637         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32638         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32640 2011-09-07  Bruno Haible  <bruno@clisp.org>
32642         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32643         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32644         * lib/freopen.c: Likewise.
32645         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32646         * lib/lstat.c: Likewise.
32647         * lib/stat.c: Likewise.
32648         * lib/open.c: Use different syntax for include of <fcntl.h>.
32649         * lib/openat.c: Include fcntl.h again, explicitly.
32651 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32653         parse-datetime: document the newly accepted format
32654         * doc/parse-datetime.texi (Combined date and time of day items):
32655         New section.
32657 2011-09-06  Bruno Haible  <bruno@clisp.org>
32659         acl: Fix a test failure on newer Solaris 10 with ZFS.
32660         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32661         ENOSYS as no ACL.
32662         Reported by Jim Meyering.
32664 2011-09-06  Bruno Haible  <bruno@clisp.org>
32666         acl: Update for AIX >= 5.3 with NFS.
32667         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32668         ENOSYS as no ACL.
32670         acl: Fix a test failure on AIX >= 5.3 with NFS.
32671         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32672         as no ACL.
32674 2011-09-06  Bruno Haible  <bruno@clisp.org>
32676         acl: Fix a test failure on IRIX 6.5 with NFS.
32677         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32678         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32679         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32680         * lib/copy-acl.c (qcopy_acl): Likewise.
32682 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32684         openat: port to AIX 7.1 with large files
32685         AIX 7.1 does a "#define openat open64at" if large files are in use,
32686         so we can't simply #undef openat.  Use the orig_openat trick (similar
32687         to orig_open in lib/open.c) to work around the problem.  Problem
32688         reported by Kevin Brott for GNU tar, in the thread containing
32689         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32690         * lib/openat.c (__need_system_fcntl_h): Define first.
32691         Include <fcntl.h> and <sys/types.h> before undefining.
32692         (orig_openat) [HAVE_OPENAT]: New inline function.
32693         (openat) [HAVE_OPENAT]: Do not undef.
32694         (rpl_openat): Use orig_openat, not openat.
32696 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32697             Bruno Haible  <bruno@clisp.org>
32699         acl: Avoid errors on NonStop Kernel.
32700         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32701         ENOTSUP errors.
32703 2011-09-05  Bruno Haible  <bruno@clisp.org>
32705         acl: Clean up Solaris code.
32706         * lib/acl-internal.h: Remove no-op #if.
32707         * lib/file-has-acl.c: Likewise.
32708         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32709         * lib/copy-acl.c (qcopy_acl): Likewise.
32711 2011-09-05  Bruno Haible  <bruno@clisp.org>
32713         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32714         binaries built on the original Solaris 10.
32715         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32716         trivial.
32718 2011-09-05  Bruno Haible  <bruno@clisp.org>
32720         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32721         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32722         10.
32723         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32724         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32725         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32726         instead of acl_get, facl_get, acl_set, facl_set.
32728 2011-09-05  Bruno Haible  <bruno@clisp.org>
32730         copy-file: Try unit tests on more file systems.
32731         * tests/test-copy-file-1.sh: New file.
32732         * tests/test-copy-file-2.sh: New file.
32733         * modules/copy-file-tests (Files): Add them.
32734         (Makefile.am): Add them to TESTS.
32736         acl: Try unit tests on more file systems.
32737         * tests/test-file-has-acl-1.sh: New file.
32738         * tests/test-file-has-acl-2.sh: New file.
32739         * tests/test-set-mode-acl-1.sh: New file.
32740         * tests/test-set-mode-acl-2.sh: New file.
32741         * tests/test-copy-acl-1.sh: New file.
32742         * tests/test-copy-acl-2.sh: New file.
32743         * modules/acl-tests (Files): Add them.
32744         (Makefile.am): Add them to TESTS.
32746 2011-09-04  Bruno Haible  <bruno@clisp.org>
32748         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32749         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32750         10.
32751         (OLD_ALLOW, OLD_DENY): New macros.
32752         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32753         ACE_ACCESS_ALLOWED_ACE_TYPE.
32754         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32755         ACE_ACCESS_DENIED_ACE_TYPE.
32756         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32757         (NEW_ACE_EXECUTE): Fix value.
32758         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32759         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32760         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32761         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32762         NEW_ACE_SYNCHRONIZE): New macros.
32763         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32764         instead of acl_fromtext, acl_set, facl_set.
32765         Fixes a coreutils/tests/cp/perm failure.
32767 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32769         openat: test for fstatat (..., 0) bug
32770         Further testing with tar suggests that fstatat (..., 0)
32771         does not work in general, on AIX 7.1; see
32772         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32773         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32774         replacement fstatat (which is what older AIX releases were using
32775         anyway).
32776         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32777         use is now changed to orig_fstatat.  This was probably the right
32778         thing to do anyway.
32779         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32780         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32781         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32782         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32783         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32784         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32785         if the bug is found.
32787         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32788         This tests for another fstatat bug on AIX 7.1:
32789         fstatat (AT_FDCWD, ..., 0) does not work.  See
32790         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32791         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32792         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32793         (rpl_fstatat): Adjust so that it works around either (or both)
32794         bugs if present.
32795         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32797 2011-09-03  Karl Berry  <karl@gnu.org>
32799         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32800         in index entries.
32802 2011-09-02  Bruno Haible  <bruno@clisp.org>
32804         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32805         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32806         values of AR, ARFLAGS, RANLIB.
32807         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32809 2011-09-02  Bruno Haible  <bruno@clisp.org>
32811         Find 'ar' program that fits with --host argument.
32812         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32814 2011-09-02  Bruno Haible  <bruno@clisp.org>
32816         tests: init.sh: Support any non-GNU diff.
32817         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32818         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32819         Solaris 8.
32821 2011-09-02  Bruno Haible  <bruno@clisp.org>
32823         tests: init.sh: work also with any non-GNU diff that supports -u
32824         * tests/init.sh: Relax check for diff -u support.
32825         Rather than checking for GNU diff via --version, simply check
32826         for support for -u itself.  Useful at least on OpenBSD 4.9,
32827         AIX 7.1, IRIX 6.5, and Solaris 10.
32829 2011-09-01  Bruno Haible  <bruno@clisp.org>
32831         strtoimax, strtoumax: Document problem on HP-UX 11.
32832         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32833         * doc/posix-functions/strtoumax.texi: Likewise.
32835 2011-09-01  Bruno Haible  <bruno@clisp.org>
32837         strtoumax: Avoid link error on OSF/1 with DTK cc.
32838         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32839         defined as a function.
32840         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32841         strtoumax is defined, not whether it is declared.
32843 2011-09-01  Bruno Haible  <bruno@clisp.org>
32845         strtoimax: Avoid link error on OSF/1 with DTK cc.
32846         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32847         defined as a function.
32848         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32849         strtoimax is defined, not whether it is declared.
32851 2011-09-01  Bruno Haible  <bruno@clisp.org>
32853         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32854         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32855         as a function.
32856         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32857         whether it is declared.
32859 2011-09-01  Bruno Haible  <bruno@clisp.org>
32861         imaxabs: Avoid link error on OSF/1 with DTK cc.
32862         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32863         as a function.
32864         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32865         whether it is declared.
32867 2011-09-01  Bruno Haible  <bruno@clisp.org>
32869         Tests for module 'strtoumax'.
32870         * modules/strtoumax-tests: New file.
32871         * tests/test-strtoumax.c: New file.
32873         Tests for module 'strtoimax'.
32874         * modules/strtoimax-tests: New file.
32875         * tests/test-strtoimax.c: New file.
32877         Tests for module 'imaxdiv'.
32878         * modules/imaxdiv-tests: New file.
32879         * tests/test-imaxdiv.c: New file.
32881         Tests for module 'imaxabs'.
32882         * modules/imaxabs-tests: New file.
32883         * tests/test-imaxabs.c: New file.
32885 2011-09-01  Bruno Haible  <bruno@clisp.org>
32887         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32888         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32889         pthread_create.
32891 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32893         openat: work around AIX 7.1 fstatat issue
32894         This should fix the problem that was not properly fixed
32895         in the previous change, dated 2011-08-30.
32896         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32897         __need_system_stat_h defined.
32898         (orig_fstatat) [HAVE_FSTATAT]: New function.
32899         (rpl_fstatat): Go back to the old way of doing things,
32900         except call orig_fstatat instead of fstatat.
32901         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32902         Remove unnecessary check whether fstatat fills in st_size etc.
32904 2011-09-01  Bruno Haible  <bruno@clisp.org>
32906         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32907         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32908         just include the system's header.
32910 2011-08-31  Jim Meyering  <meyering@redhat.com>
32912         tests: avoid spurious assertion failure in test-float.c on ppc64
32913         * tests/test-float.c (test_long_double): Comment out an assertion,
32914         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32915         with gcc-4.4.4.
32917         maint: indent with spaces, not TABs
32918         I need to get in the habit of running gnulib's "make check".
32919         Both of these would have been caught.
32920         * m4/largefile.m4: Indent with spaces, not TABs.
32921         * lib/parse-datetime.y (iso_8601_time): Likewise.
32922         Spotted by Pádraig Brady.
32924         test-parse-datetime.c: accommodate a relatively strict gcc warning
32925         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32926         to avoid a warning from gcc's -Werror=missing-declarations.
32927         Insert a few spaces-before-funcall-parenthesis.
32929 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32931         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32932         The parser now accepts ISO 8601 date-time strings with "T" as the
32933         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32934         with a space between the date and time strings.  Now it also parses
32935         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32936         variants like "2004-02-29T16:21:42.333-07:00"
32937         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32938         of day representation using the 'T' separator character.
32939         * doc/parse-datetime.texi (General date syntax): replace use of
32940         deprecated --iso-8601 option with --rfc-3339 in example of date
32941         command output formats that can be parsed.
32942         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32943         lib/parse-datetime.y.
32944         (gmt_offset): New function.
32945         (main): Add additional test cases to validate ISO8601 extended
32946         date and time of day parsing.
32948 2011-08-31  Bruno Haible  <bruno@clisp.org>
32950         freopen: Documentation.
32951         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32952         name.
32953         Reported by Claudio Bley <claudio.bley@gmail.com>.
32955 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32957         freopen: Don't crash if the filename argument is NULL.
32958         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32959         NULL.
32961 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32963         openat: work around AIX 7.1 fstatat bug
32964         Problem reported by Kevin Brott for GNU tar, in the thread containing
32965         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32966         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32967         FSTATAT_ST_SIZE_ETC_BROKEN.
32968         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32969         rpl_fstatat.
32970         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32971         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32972         AC_CHECK_FUNCS_ONCE for fstatat.
32973         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32974         fchmodat, mkdirat, openat and unlinkat.
32976 2011-08-30  Bruno Haible  <bruno@clisp.org>
32978         Avoid endless recursions if config.h includes some header files.
32979         * lib/fopen.c (__need_FILE): Define already before including config.h.
32980         * lib/freopen.c (__need_FILE): Likewise.
32981         * lib/open.c (__need_system_fcntl_h): Likewise.
32982         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32983         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32984         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32986 2011-08-25  Karl Berry  <karl@gnu.org>
32988         * config/srclist.txt (ylwrap): new try.
32989         * build-aux/ylwrap: new file.
32991 2011-08-23  Bruno Haible  <bruno@clisp.org>
32993         tmpdir: Use a good default directory on native Windows.
32994         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32995         (P_tmpdir): Default to _P_tmpdir on native Windows.
32996         (path_search): On native Windows, try the value returned by GetTempPath
32997         before trying P_tmpdir.
32998         * modules/tmpdir (Depends-on): Add pathmax.
32999         Suggested by John Darrington <john@darrington.wattle.id.au>.
33001 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
33003         doc: fix typo in README-release
33004         * top/README-release: Capitalize first word of a sentence.
33006 2011-08-19  Jim Meyering  <meyering@redhat.com>
33008         fts: do not exhaust memory when processing million-entry directories
33009         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
33010         directory would require about 256*N bytes of memory.  Thus, it was
33011         easy to construct a directory too large to be processed by any of
33012         those tools.  With this change, fts' maximum memory utilization is
33013         now limited to around 30MB.
33014         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
33015         (fts_read): When we've processed the final entry (i.e., when
33016         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
33017         using the parent entry to read any remaining entries.  Dispatch
33018         depending on what fts_build returns:
33019         - NULL+stop, aka failure: stop
33020         - NULL otherwise: move up in the dir hierarchy
33021         - non-NULL: handle this new entry
33022         (fts_build): Declare and use new local, continue_readdir.
33023         Prepare to be called from fts_read, when the entries
33024         from a partially-read directory have just been exhausted.
33025         In that case, we'll skip the opendir and instead use the parent's
33026         fts_dirp and derive dir_fd from that.
33027         Finally, in the readdir loop, if we read max_entries entries,
33028         exit the loop ensuring *not* to call closedir.  This is required
33029         so that fts_dirp can be reused on a subsequent call.
33030         Prompted by Ben England's report of memory exhaustion in find
33031         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
33033         maint: fts: move decl of `dp' down into while loop; split a long line
33034         * lib/fts.c (fts_build): No semantic change.
33036         fts: add/use new struct member, fts_dirp
33037         We are about to use this to manage any directory with
33038         too many entries to read all of them into memory at once.
33039         To do that, we'll need to save the DIR* pointer in each
33040         affected FTSENT struct.
33041         * lib/fts_.h: Include <dirent.h>.
33042         (struct FTSENT) [fts_dirp]: New member.
33043         * lib/fts.c (closedir_and_clear): Define.
33044         Use it in place of closedir so that we are sure to
33045         clear the new fts_dirp member when done with it.
33046         (fts_alloc): Initialize the new member.
33047         (fts_lfree): Free, if needed.
33049         maint: fts: give __opendir2 a new parameter and rename
33050         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
33051         than surreptitiously using sole caller's "dir_fd".
33052         (fts_opendir): Rename from __opendir2.
33054         maint: fts.c: remove __opendir2's now-unused parameter, oflag
33055         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
33057         maint: fts.c: correct off-by-one indentation
33058         * lib/fts.c (fts_build): Correct indentation, change style
33059         of a couple of block comments, and bracing style.
33061         maint: fts.c: move __opendir2 #define "up" out of function body
33062         * lib/fts.c (__opendir2): Move "up".  No semantic change.
33064         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
33065         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
33066         out for a long time and besides was useful only on BSD systems.
33068 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33070         regex: port to Stratus OpenVOS
33071         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
33072         define to empty, rather than attempting nonportable optimizations.
33073         Problem reported by Paul Green in:
33074         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
33075         and fix suggested by Eric Blake in:
33076         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
33078 2011-08-17  Eric Blake  <eblake@redhat.com>
33080         getcwd: fix test failures on mingw
33081         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
33082         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
33083         test if long directory cannot be created, and allow mingw errno.
33085         getcwd-lgpl: fix m4 to match relaxed test for BSD
33086         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33087         (gl_FUNC_GETCWD_SIGNATURE): New macro.
33088         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
33089         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
33090         signature problem.
33092         getcwd: fix compilation on mingw64
33093         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
33094         getcwd.
33095         Reported by Marc-André Lureau.
33097         pipe2: silence compiler warning
33098         * lib/pipe2.c (pipe2): Hide label if it is not used.
33100 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
33102         relocatable-prog: fix link error
33103         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
33104         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
33105         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
33106         into modules/relocatable-lib without noticing that
33107         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
33108         also needs to build relocatable.c.
33110 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
33112         getaddrinfo: fix sh typo in gai_strerrorA decl checking
33113         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
33114         shell code: it contained a 'break' that was not in a loop.
33115         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
33116         via a shell-language loop; this may have been true in old Autoconf
33117         versions, but it's not true in Autoconf 2.68.  I found this bug
33118         when testing coreutils git on Solaris 8, whose shell complains
33119         about the syntax error.
33121 2011-08-12  Simon Josefsson  <simon@josefsson.org>
33123         * lib/base64.c: Fix comment to reference RFC 4648.
33124         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
33125         <gvtulder@gmail.com>.
33127 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33129         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
33131         po/Makefile.in.in: fix make -q problem
33132         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
33133         rule, since there's no file named 'check-macro-version' and its
33134         use as a file breaks make -q.
33135         (all): Don't depend on check-macro-version.
33136         (CHECK_MACRO_VERSION): New macro.
33137         (stamp-po): Use it.
33139         configmake: fix make -q problem
33140         * modules/configmake (configmake.h): Update configmake.h's time stamp
33141         even if the file does not change.  Otherwise, 'make -q' fails.
33142         Problem reported by Simon Josefsson in
33143         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
33145 2011-08-11  Jim Meyering  <meyering@redhat.com>
33147         git-version-gen: correct the advice in a comment
33148         * build-aux/git-version-gen: Correct comment.
33149         Don't recommend to list .tarball-version in .gitignore.
33151 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33153         base64: fix off-by-one buffer size bug
33154         Problem and (trivial) fix reported by Gijs van Tulder in
33155         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
33156         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
33157         * tests/test-base64.c (main): Catch the bug.
33159 2011-08-10  Eric Blake  <eblake@redhat.com>
33161         closein: correct comments
33162         * lib/closein.c (close_stdin): Improve comments.
33164 2011-08-09  Bruno Haible  <bruno@clisp.org>
33166         More tests for 'fseeko'.
33167         * tests/test-fseeko3.c: New file, from Eric Blake.
33168         * tests/test-fseeko3.sh: New file.
33169         * modules/fseeko-tests (Files): Add them.
33170         (TESTS): Add test-fseeko3.sh.
33171         (check_PROGRAMS): Add test-fseeko3.
33173 2011-08-09  Eric Blake  <eblake@redhat.com>
33175         fseeko: remove unneeded hack
33176         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
33178         fseeko: fix bug on glibc
33179         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
33180         Reported by John W. Eaton.
33182 2011-08-08  Bruno Haible  <bruno@clisp.org>
33184         unictype/base: Fix interoperability with preinstalled libunistring.
33185         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
33186         Reported by Simon Josefsson.
33188 2011-08-08  Bruno Haible  <bruno@clisp.org>
33190         iswblank: Detect declaration correctly.
33191         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
33192         AC_CHECK_DECLS invocation.
33194 2011-08-08  Bruno Haible  <bruno@clisp.org>
33196         tcgetsid: Detect declaration correctly.
33197         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
33198         AC_CHECK_DECLS invocation.
33199         Reported by Simon Josefsson.
33201 2011-08-08  Eric Blake  <eblake@redhat.com>
33203         largefile: fix typo that regressed large file support
33204         * modules/largefile (configure.ac-early): Fix section name.
33206 2011-08-06  Karl Berry  <karl@gnu.org>
33208         * MODULES.html.sh (func_all_files): _Noreturn is no longer
33209         a separate module.
33211 2011-08-05  Simon Josefsson  <simon@josefsson.org>
33213         openat: Fix warnings and commens when building unlinkat.c on Hurd.
33214         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
33215         get prototype for free.
33217 2011-08-04  Bruno Haible  <bruno@clisp.org>
33219         Tests for module 'pathmax'.
33220         * modules/pathmax-tests: New file.
33221         * tests/test-pathmax.c: New file.
33223         canonicalize-lgpl: Support larger filenames on the Hurd.
33224         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
33225         Reported by Paul Eggert.
33227         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
33228         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
33229         * lib/chdir-long.h: Include pathmax.h.
33230         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
33231         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
33232         (PATH_MAX): Remove code that is done by pathmax.h.
33233         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
33234         * lib/tmpfile.c: Add a comment.
33235         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
33236         * modules/chdir-long (Depends-on): Add pathmax.
33237         * modules/getcwd (Depends-on): Add pathmax.
33238         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
33239         is not defined.
33240         * doc/posix-headers/limits.texi: Mention the pathmax module.
33241         * NEWS: Mention the change.
33243 2011-08-02  Bruno Haible  <bruno@clisp.org>
33245         pthread_sigmask: Actually use results of gl_THREADLIB.
33246         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
33247         gl_THREADLIB, not gl_[]THREADLIB.
33248         Reported by Eric Blake.
33250 2011-08-02  Jim Meyering  <meyering@redhat.com>
33252         maint.mk: relax the default _gl_TS_function_match regexp
33253         * top/maint.mk (_gl_TS_function_match): Don't require at least one
33254         space between function name and "(" in an "extern" declaration.
33255         That would fail to match a decl with no space there: extern void foo();
33257 2011-07-31  Iain Nicol  <iain@thenicols.net>
33259         git-version-gen: document that EXTRA_DIST must include .version
33260         * build-aux/git-version-gen: In the how-to-use comment, document
33261         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
33262         will fail when run from an unpacked distribution tarball.
33264 2011-08-01  Bruno Haible  <bruno@clisp.org>
33266         wctype-h: Fix last change.
33267         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
33268         REPLACE_TOWLOWER to 0.
33269         Reported by Sam Steingold <sds@gnu.org>.
33271 2011-07-31  Bruno Haible  <bruno@clisp.org>
33273         frexpl: Update autoconf test.
33274         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
33275         according to changes of 2011-06-20.
33277 2011-07-31  Bruno Haible  <bruno@clisp.org>
33279         sys_utsname: Add support for Minix.
33280         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
33281         <sys/utsname.h>.
33282         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33283         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
33285 2011-07-31  Bruno Haible  <bruno@clisp.org>
33287         strings: Add support for Minix.
33288         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
33289         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33290         * doc/posix-headers/strings.texi: Document the Minix problem.
33292 2011-07-31  Bruno Haible  <bruno@clisp.org>
33294         wctype-h: Add support for Minix.
33295         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
33296         REPLACE_TOWLOWER.
33297         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
33298         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
33299         REPLACE_ISWCNTRL.
33301 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
33303         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
33304         This is a performance improvement for 64-bit hosts: it causes the
33305         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
33307 2011-07-31  Bruno Haible  <bruno@clisp.org>
33309         stdioext: Add support for Minix.
33310         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
33311         * lib/fpurge.c (fpurge): Likewise.
33312         * lib/freadahead.c (freadahead): Likewise.
33313         * lib/freadable.c (freadable): Likewise.
33314         * lib/freading.c (freading): Likewise.
33315         * lib/freadptr.c (freadptr): Likewise.
33316         * lib/freadseek.c (freadptrinc): Likewise.
33317         * lib/fseeko.c (rpl_fseeko): Likewise.
33318         * lib/fseterr.c (fseterr): Likewise.
33319         * lib/fwritable.c (fwritable): Likewise.
33320         * lib/fwriting.c (fwriting): Likewise.
33321         * lib/fflush.c (clear_ungetc_buffer): Update comment.
33322         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
33324 2011-07-31  Bruno Haible  <bruno@clisp.org>
33326         errno: Port to Minix.
33327         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
33328         ECONNABORTED are defined.
33329         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
33330         GNULIB_defined_ECONNABORTED): New macros.
33331         * lib/strerror-override.h (strerror_override): Test also
33332         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
33333         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
33334         ECONNABORTED.
33335         * doc/posix-headers/errno.texi: Mention the Minix problem.
33337 2011-07-31  Bruno Haible  <bruno@clisp.org>
33339         Work around declaration collisions on Minix.
33340         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
33341         defined, set REPLACE_MBSINIT.
33342         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
33343         defined, set REPLACE_MBRTOWC.
33344         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
33345         set REPLACE_MBRLEN.
33346         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
33347         defined, set REPLACE_MBSRTOWCS.
33348         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
33349         defined, set REPLACE_WCRTOMB.
33350         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
33351         defined, set REPLACE_WCSRTOMBS.
33353 2011-07-31  Bruno Haible  <bruno@clisp.org>
33355         Add support for Minix with ACK compiler.
33356         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
33357         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
33358         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
33360 2011-07-31  Bruno Haible  <bruno@clisp.org>
33362         Documentation about Minix.
33363         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
33364         * doc/glibc-headers/*.texi: Likewise.
33365         * doc/posix-functions/*.texi: Likewise.
33366         * doc/glibc-functions/*.texi: Likewise.
33368 2011-07-31  Bruno Haible  <bruno@clisp.org>
33370         snippet/warn-on-use: Fix indentation.
33371         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
33373 2011-07-25  Jim Meyering  <meyering@redhat.com>
33375         tests: test-update-copyright.sh: remove unnecessary "rm" commands
33376         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
33377         commands.
33379 2011-07-27  Jim Meyering  <meyering@redhat.com>
33381         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
33382         * top/maint.mk (gl_extract_significant_defines_): Now that
33383         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
33384         gnulib/lib/signal.in.h, and now that we recommend to
33385         define-if-undefined those two symbols in application code,
33386         we must filter them out of the "significant" list.
33387         This avoids a "make syntax-check" failure in coreutils.
33389 2011-07-26  Eric Blake  <eblake@redhat.com>
33391         warnings: add comments about previous patch
33392         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
33393         * m4/include_next.m4: Likewise.
33394         * m4/warn-on-use.m4: Likewise.
33395         * m4/warnings.m4: Likewise, and simplify use.
33396         Suggested by Stefano Lattarini.
33398         include-next, warnings: support older autoconf
33399         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
33400         AS_VAR_PUSHDEF in a way that works with older autoconf.
33401         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
33402         Reported by Daniel P. Berrange.
33404 2011-07-25  Bruno Haible  <bruno@clisp.org>
33406         fseek, ftell: Fix doc.
33407         * doc/posix-functions/fseek.texi: Reword statement about
33408         AC_SYS_LARGEFILE.
33409         * doc/posix-functions/ftell.texi: Likewise.
33411 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33412             Bruno Haible  <bruno@clisp.org>
33414         Add dependencies to the 'largefile' module.
33415         * modules/fopen (Depends-on): Add 'largefile'.
33416         * modules/freopen (Depends-on): Likewise.
33417         * modules/fseeko (Depends-on): Likewise.
33418         * modules/ftello (Depends-on): Likewise.
33419         * modules/glob (Depends-on): Likewise.
33420         * modules/lseek (Depends-on): Likewise.
33421         * modules/lstat (Depends-on): Likewise.
33422         * modules/mkostemp (Depends-on): Likewise.
33423         * modules/mkostemps (Depends-on): Likewise.
33424         * modules/mkstemp (Depends-on): Likewise.
33425         * modules/mkstemps (Depends-on): Likewise.
33426         * modules/open (Depends-on): Likewise.
33427         * modules/openat (Depends-on): Likewise.
33428         * modules/pread (Depends-on): Likewise.
33429         * modules/pwrite (Depends-on): Likewise.
33430         * modules/scandir (Depends-on): Likewise.
33431         * modules/stat (Depends-on): Likewise.
33432         * modules/tmpfile (Depends-on): Likewise.
33433         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
33434         since the containing module now depends on the largefile module.
33435         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
33436         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
33437         off_t is fixed by gnulib.
33438         * doc/posix-functions/freopen.texi: Likewise.
33439         * doc/posix-functions/fseeko.texi: Likewise.
33440         * doc/posix-functions/fstatat.texi: Likewise.
33441         * doc/posix-functions/ftello.texi: Likewise.
33442         * doc/posix-functions/glob.texi: Likewise.
33443         * doc/posix-functions/lseek.texi: Likewise.
33444         * doc/posix-functions/lstat.texi: Likewise.
33445         * doc/posix-functions/mkstemp.texi: Likewise.
33446         * doc/posix-functions/open.texi: Likewise.
33447         * doc/posix-functions/openat.texi: Likewise.
33448         * doc/posix-functions/pread.texi: Likewise.
33449         * doc/posix-functions/pwrite.texi: Likewise.
33450         * doc/posix-functions/scandir.texi: Likewise.
33451         * doc/posix-functions/stat.texi: Likewise.
33452         * doc/posix-functions/tmpfile.texi: Likewise.
33453         * doc/glibc-functions/mkostemp.texi: Likewise.
33454         * doc/glibc-functions/mkostemps.texi: Likewise.
33455         * doc/glibc-functions/mkstemps.texi: Likewise.
33457 2011-07-25  Bruno Haible  <bruno@clisp.org>
33459         fcntl: Move AC_LIBOBJ invocation to module description.
33460         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
33461         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
33463         fcntl: Remove call-in from fchdir.m4.
33464         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
33465         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
33467         dup3: Remove potential call-in from fchdir.m4.
33468         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
33469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33471         dup2: Move AC_LIBOBJ invocation to module description.
33472         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33473         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33474         Don't invoke AC_LIBOBJ.
33475         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33477         dup2: Remove call-in from fchdir.m4.
33478         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33479         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33481         fclose: Move AC_LIBOBJ invocation to module description.
33482         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33483         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33484         to 1.
33485         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33487         fclose: Remove call-in from close.m4.
33488         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33489         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33491         close: Move AC_LIBOBJ invocation to module description.
33492         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33493         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33494         1.
33495         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33497         close: Remove call-in from fchdir.m4.
33498         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33501         open: Move AC_LIBOBJ invocation to module description.
33502         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33503         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33504         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33506         open: Remove call-in from fchdir.m4.
33507         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33510         fchdir: Start to remove gl_REPLACE_* idiom.
33511         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33512         (gl_FUNC_FCHDIR): Invoke it.
33514 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33516         * lib/ftell.c (ftell): Comment out cast.
33518         close: use gl_REPLACE_FCLOSE only if defined
33519         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33520         is defined.  The close module doesn't depend on the fclose module
33521         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33522         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33523         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33525 2011-07-24  Jim Meyering  <meyering@redhat.com>
33527         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33528         * tests/test-select.h (test_function): Declare as "static".
33530 2011-07-24  Bruno Haible  <bruno@clisp.org>
33532         doc: Mention the effects of AC_SYS_LARGEFILE.
33533         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33534         on this function.
33535         * doc/posix-functions/aio_error.texi: Likewise.
33536         * doc/posix-functions/aio_fsync.texi: Likewise.
33537         * doc/posix-functions/aio_read.texi: Likewise.
33538         * doc/posix-functions/aio_return.texi: Likewise.
33539         * doc/posix-functions/aio_suspend.texi: Likewise.
33540         * doc/posix-functions/aio_write.texi: Likewise.
33541         * doc/posix-functions/fgetpos.texi: Likewise.
33542         * doc/posix-functions/fopen.texi: Likewise.
33543         * doc/posix-functions/freopen.texi: Likewise.
33544         * doc/posix-functions/fsetpos.texi: Likewise.
33545         * doc/posix-functions/fstatvfs.texi: Likewise.
33546         * doc/posix-functions/ftruncate.texi: Likewise.
33547         * doc/posix-functions/ftw.texi: Likewise.
33548         * doc/posix-functions/getrlimit.texi: Likewise.
33549         * doc/posix-functions/glob.texi: Likewise.
33550         * doc/posix-functions/lio_listio.texi: Likewise.
33551         * doc/posix-functions/lockf.texi: Likewise.
33552         * doc/posix-functions/mkstemp.texi: Likewise.
33553         * doc/posix-functions/mmap.texi: Likewise.
33554         * doc/posix-functions/nftw.texi: Likewise.
33555         * doc/posix-functions/openat.texi: Likewise.
33556         * doc/posix-functions/opendir.texi: Likewise.
33557         * doc/posix-functions/posix_fadvise.texi: Likewise.
33558         * doc/posix-functions/posix_fallocate.texi: Likewise.
33559         * doc/posix-functions/pread.texi: Likewise.
33560         * doc/posix-functions/pwrite.texi: Likewise.
33561         * doc/posix-functions/readdir.texi: Likewise.
33562         * doc/posix-functions/readdir_r.texi: Likewise.
33563         * doc/posix-functions/rewinddir.texi: Likewise.
33564         * doc/posix-functions/scandir.texi: Likewise.
33565         * doc/posix-functions/seekdir.texi: Likewise.
33566         * doc/posix-functions/setrlimit.texi: Likewise.
33567         * doc/posix-functions/statvfs.texi: Likewise.
33568         * doc/posix-functions/telldir.texi: Likewise.
33569         * doc/posix-functions/tmpfile.texi: Likewise.
33570         * doc/posix-functions/truncate.texi: Likewise.
33571         * doc/glibc-functions/fallocate.texi: Likewise.
33572         * doc/glibc-functions/fstatfs.texi: Likewise.
33573         * doc/glibc-functions/fts_children.texi: Likewise.
33574         * doc/glibc-functions/fts_read.texi: Likewise.
33575         * doc/glibc-functions/getdirentries.texi: Likewise.
33576         * doc/glibc-functions/mkostemp.texi: Likewise.
33577         * doc/glibc-functions/mkostemps.texi: Likewise.
33578         * doc/glibc-functions/mkstemps.texi: Likewise.
33579         * doc/glibc-functions/preadv.texi: Likewise.
33580         * doc/glibc-functions/pwritev.texi: Likewise.
33581         * doc/glibc-functions/sendfile.texi: Likewise.
33582         * doc/glibc-functions/statfs.texi: Likewise.
33584 2011-07-24  Bruno Haible  <bruno@clisp.org>
33586         doc: Fix typo.
33587         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33589 2011-07-24  Bruno Haible  <bruno@clisp.org>
33591         doc: Mention fsusage.
33592         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33594 2011-07-24  Bruno Haible  <bruno@clisp.org>
33596         doc: Mention new glibc headers and functions.
33597         * doc/glibc-headers/gshadow.texi: New file.
33598         * doc/glibc-functions/endsgent.texi: New file.
33599         * doc/glibc-functions/fgetsgent.texi: New file.
33600         * doc/glibc-functions/fgetsgent_r.texi: New file.
33601         * doc/glibc-functions/getsgent.texi: New file.
33602         * doc/glibc-functions/getsgent_r.texi: New file.
33603         * doc/glibc-functions/getsgnam.texi: New file.
33604         * doc/glibc-functions/getsgnam_r.texi: New file.
33605         * doc/glibc-functions/putsgent.texi: New file.
33606         * doc/glibc-functions/setsgent.texi: New file.
33607         * doc/glibc-functions/sgetsgent.texi: New file.
33608         * doc/glibc-functions/sgetsgent_r.texi: New file.
33609         * doc/glibc-functions/malloc_info.texi: New file.
33610         * doc/glibc-functions/preadv.texi: New file.
33611         * doc/glibc-functions/pwritev.texi: New file.
33612         * doc/glibc-functions/register_printf_modifier.texi: New file.
33613         * doc/glibc-functions/register_printf_specifier.texi: New file.
33614         * doc/glibc-functions/register_printf_type.texi: New file.
33615         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33616         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33617         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33618         * doc/glibc-functions/pthread_getname_np.texi: New file.
33619         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33620         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33621         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33622         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33623         * doc/glibc-functions/pthread_setname_np.texi: New file.
33624         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33625         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33626         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33627         * doc/glibc-functions/qsort_r.texi: New file.
33628         * doc/glibc-functions/quick_exit.texi: New file.
33629         * doc/glibc-functions/syncfs.texi: New file.
33630         * doc/gnulib.texi: Include them.
33631         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33632         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33633         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33634         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33635         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33636         * doc/glibc-functions/execvpe.texi: Likewise.
33638 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33640         ftell: don't include <unistd.h>
33641         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33642         guaranteed to define off_t, and the ftell module depends on the
33643         stdio module.
33645         ftell: do not assume wraparound signed arithmetic
33646         * lib/ftell.c: Include <limits.h>.
33647         (ftell): Don't assume wraparound signed arithmetic.
33649 2011-07-24  Bruno Haible  <bruno@clisp.org>
33651         close: No longer depend on module 'fclose'.
33652         * modules/close (Depends-on): Remove fclose.
33653         * NEWS: Mention the change.
33654         Suggested by Sam Steingold <sds@gnu.org>.
33656 2011-07-24  Bruno Haible  <bruno@clisp.org>
33658         fsusage: Enable large volume support on AIX >= 5.2.
33659         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33660         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33661         instead of STAT_STATVFS.
33662         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33664         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33665         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33666         f_blocks field only on MacOS X.
33668         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33669         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33670         * modules/fsusage (Depends-on): Add largefile.
33672 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33674         * README: Modernize discussion of signed integers.
33675         Assuming overflow wraparound is no longer safe.
33676         Mention ones' complement and signed magnitude.
33678 2011-07-22  Bruno Haible  <bruno@clisp.org>
33680         select tests, pselect tests: Refactor.
33681         * tests/test-select.h: New file, extracted from tests/test-select.c.
33682         (select_fn): New type.
33683         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33684         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33685         test_pipe): Add my_select argument.
33686         (test_function): Renamed from main. Add my_select argument.
33687         * tests/test-select.c: Move most code to tests/test-select.h. Include
33688         test-select.h.
33689         * modules/select-tests (Files): Add tests/test-select.h.
33690         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33691         (my_select, main): New functions.
33692         * modules/pselect-tests (Files): Add tests/test-select.h,
33693         tests/macros.h, tests/signature.h.
33694         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33695         (configure.ac): Check for <sys/wait.h>.
33697 2011-07-22  Bruno Haible  <bruno@clisp.org>
33699         sys_select tests: Check the signature of FD_*.
33700         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33701         signature tests from here...
33702         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33703         here.
33704         * modules/sys_select-tests (Files): Add tests/signature.h.
33706 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33708         largefile: new module, replacing large-inode
33709         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33710         * MODULES.html.sh: Add largefile, remove large-inode.
33711         * modules/largefile, m4/largefile.m4: New files.
33712         * modules/large-inode, m4/large-inode.m4: Remove.
33714         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33715         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33716         implementations that use only 32 bits to count blocks.
33717         On typical hosts with 1024-byte blocks, this fails with file
33718         systems as small as 4 TiB.  Problem reported by Herb Wartens
33719         <http://debbugs.gnu.org/9140> and this should also fix a similar
33720         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33722         large-inode: New module
33723         * MODULES.html.sh: Add it.
33724         * modules/large-inode, m4/large-inode.m4: New files.
33726         extensions: Enable extensions on MacOS X 10.5 and later.
33727         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33729 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33731         file-has-acl: use acl_extended_file_nofollow if available
33732         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33733         (acl_extended_file): New macro.
33734         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33735         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33737 2011-07-21  Bruno Haible  <bruno@clisp.org>
33739         Declare system functions in a way that works with C++.
33740         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33741         declare fdopendir as extern "C".
33742         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33743         declare frexpl as extern "C".
33744         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33745         declare gai_strerror as extern "C".
33746         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33747         programs, declare gai_strerror as extern "C".
33748         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33749         declare getlogin_r as extern "C".
33750         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33751         as extern "C".
33752         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33753         declare ldexpl as extern "C".
33754         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33755         as extern "C".
33756         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33757         program, declare getmntinfo as extern "C".
33758         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33759         stpncpy as extern "C".
33760         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33761         program, declare __xpg_strerror_r as extern "C".
33762         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33763         strndup as extern "C".
33764         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33765         declare memset and bzero as extern "C".
33766         Reported by Sam Steingold <sds@gnu.org>.
33768 2011-07-12  Jim Meyering  <meyering@redhat.com>
33770         maint.mk: prohibit inclusion of "verify.h" without use
33771         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33773 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33775         timer-time: A new module to check for timer_settime()
33776         * m4/timer_time.m4: Check for the posix function.
33777         * modules/timer-time: Add the new module.
33778         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33779         Mention it.
33781 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33782             Bruno Haible  <bruno@clisp.org>
33784         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33785         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33786         not defined, assume POSIX threads and look for pthread_sigmask in
33787         $LIBS, without changing $CPPFLAGS.
33789 2011-07-19  Bruno Haible  <bruno@clisp.org>
33791         strstr: Update cross-compilation guess.
33792         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33793         CPUs, guess no, in view of glibc
33794         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33795         Suggested by Eric Blake. Reported by Reuben Thomas.
33797 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33799         getopt-gnu: suppress core dumps from detection code
33800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33801         to suppress core dumps that may well occur on glibc systems.
33802         * modules/getopt-gnu: Depend on nocrash.
33804 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33806         pthread_sigmask: ensure usleep is declared
33807         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33808         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33810 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33812         doc: Document NonStop portability issues.
33813         * doc/posix-functions/sigaction.texi (sigaction):
33814         * doc/posix-headers/signal.texi (signal.h):
33815         Document NonStop.  See Joachim Schmitz in
33816         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33818 2011-07-15  Bruno Haible  <bruno@clisp.org>
33820         ffsl, ffsll: Avoid unportable behaviour.
33821         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33823 2011-07-15  Bruno Haible  <bruno@clisp.org>
33825         ffs: More tests.
33826         * tests/test-ffs.c (NBITS): New macro.
33827         (main): Add more tests.
33828         * tests/test-ffsl.c (NBITS): New macro.
33829         (main): Add more tests.
33830         * tests/test-ffsll.c (NBITS): New macro.
33831         (main): Add more tests.
33833 2011-07-15  Eric Blake  <eblake@redhat.com>
33835         ffsl, ffsll: new modules
33836         * modules/ffsl: New file.
33837         * modules/ffsll: Likewise.
33838         * m4/ffsl.m4: Likewise.
33839         * m4/ffsll.m4: Likewise.
33840         * lib/ffsl.c: Likewise.
33841         * lib/ffsl.h: Likewise.
33842         * lib/ffsll.c: Likewise.
33843         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33844         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33845         * modules/string (Makefile.am): Substitute witnesses.
33846         * lib/strings.in.h (ffsl, ffsll): Declare.
33847         * modules/ffsl-tests: New test file.
33848         * modules/ffsll-tests: Likewise.
33849         * tests/test-ffsl.c: Likewise.
33850         * tests/test-ffsll.c: Likewise.
33851         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33852         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33853         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33855         ffs: fix m4 prerequisite
33856         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33858         ffs: avoid undefined behavior
33859         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33860         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33861         Reported by Bruno Haible.
33863 2011-07-12  Bruno Haible  <bruno@clisp.org>
33865         pthread_sigmask: Rely on module 'threadlib'.
33866         * modules/pthread_sigmask (Depends-on): Add threadlib.
33867         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33868         is defined.
33870 2011-07-12  Bruno Haible  <bruno@clisp.org>
33872         regex: Depend on module 'strcase'.
33873         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33875 2011-07-12  Jim Meyering  <meyering@redhat.com>
33877         warn-on-use: fix typo in file name
33878         * modules/snippet/warn-on-use (Files): Correct file name:
33879         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33881 2011-07-12  Bruno Haible  <bruno@clisp.org>
33883         strings: Document module.
33884         * doc/posix-headers/strings.texi: Mention module 'strings'.
33886 2011-07-12  Bruno Haible  <bruno@clisp.org>
33888         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33889         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33890         (Files, Makefile.am): Update.
33891         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33892         * modules/stdlib (Depends-on): Update.
33894 2011-07-12  Bruno Haible  <bruno@clisp.org>
33896         * NEWS: Mention the changes.
33898         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33899         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33900         (Files, Makefile.am): Update.
33901         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33902         * modules/arpa_inet (Depends-on): Update.
33903         * modules/ctype (Depends-on): Update.
33904         * modules/dirent (Depends-on): Update.
33905         * modules/fcntl-h (Depends-on): Update.
33906         * modules/glob (Depends-on): Update.
33907         * modules/iconv-h (Depends-on): Update.
33908         * modules/inttypes-incomplete (Depends-on): Update.
33909         * modules/langinfo (Depends-on): Update.
33910         * modules/locale (Depends-on): Update.
33911         * modules/math (Depends-on): Update.
33912         * modules/netdb (Depends-on): Update.
33913         * modules/poll-h (Depends-on): Update.
33914         * modules/pty (Depends-on): Update.
33915         * modules/search (Depends-on): Update.
33916         * modules/signal (Depends-on): Update.
33917         * modules/spawn (Depends-on): Update.
33918         * modules/stdio (Depends-on): Update.
33919         * modules/stdlib (Depends-on): Update.
33920         * modules/string (Depends-on): Update.
33921         * modules/strings (Depends-on): Update.
33922         * modules/sys_file (Depends-on): Update.
33923         * modules/sys_ioctl (Depends-on): Update.
33924         * modules/sys_select (Depends-on): Update.
33925         * modules/sys_socket (Depends-on): Update.
33926         * modules/sys_stat (Depends-on): Update.
33927         * modules/sys_time (Depends-on): Update.
33928         * modules/sys_times (Depends-on): Update.
33929         * modules/sys_utsname (Depends-on): Update.
33930         * modules/sys_wait (Depends-on): Update.
33931         * modules/termios (Depends-on): Update.
33932         * modules/time (Depends-on): Update.
33933         * modules/unistd (Depends-on): Update.
33934         * modules/wchar (Depends-on): Update.
33935         * modules/wctype-h (Depends-on): Update.
33936         * MODULES.html.sh (Support for building libraries and executables):
33937         Update.
33939         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33940         * modules/snippet/unused-parameter: Renamed from
33941         modules/unused-parameter.
33942         (Files, Makefile.am): Update.
33943         * build-aux/snippet/unused-parameter.h: Renamed from
33944         build-aux/unused-parameter.h.
33945         * modules/selinux-h (Depends-on): Update.
33946         * modules/unistr/base (Depends-on): Update.
33947         * MODULES.html.sh (Core language properties): Update.
33949         Rename module 'link-warning' to 'snippet/link-warning'.
33950         * modules/snippet/link-warning: Renamed from modules/link-warning.
33951         (Files, Makefile.am): Update.
33952         * build-aux/snippet/link-warning.h: Renamed from
33953         build-aux/link-warning.h.
33954         * MODULES.html.sh (Support for building libraries and executables):
33955         Update.
33957         Rename module 'c++defs' to 'snippet/c++defs'.
33958         * modules/snippet/c++defs: Renamed from modules/c++defs.
33959         (Files, Makefile.am): Update.
33960         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33961         * modules/arpa_inet (Depends-on): Update.
33962         * modules/ctype (Depends-on): Update.
33963         * modules/dirent (Depends-on): Update.
33964         * modules/fcntl-h (Depends-on): Update.
33965         * modules/glob (Depends-on): Update.
33966         * modules/iconv-h (Depends-on): Update.
33967         * modules/langinfo (Depends-on): Update.
33968         * modules/locale (Depends-on): Update.
33969         * modules/math (Depends-on): Update.
33970         * modules/netdb (Depends-on): Update.
33971         * modules/poll-h (Depends-on): Update.
33972         * modules/pty (Depends-on): Update.
33973         * modules/search (Depends-on): Update.
33974         * modules/signal (Depends-on): Update.
33975         * modules/spawn (Depends-on): Update.
33976         * modules/stdio (Depends-on): Update.
33977         * modules/stdlib (Depends-on): Update.
33978         * modules/string (Depends-on): Update.
33979         * modules/strings (Depends-on): Update.
33980         * modules/sys_ioctl (Depends-on): Update.
33981         * modules/sys_select (Depends-on): Update.
33982         * modules/sys_socket (Depends-on): Update.
33983         * modules/sys_stat (Depends-on): Update.
33984         * modules/sys_time (Depends-on): Update.
33985         * modules/sys_wait (Depends-on): Update.
33986         * modules/termios (Depends-on): Update.
33987         * modules/time (Depends-on): Update.
33988         * modules/unistd (Depends-on): Update.
33989         * modules/wchar (Depends-on): Update.
33990         * modules/wctype-h (Depends-on): Update.
33992         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33993         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33994         (Files, Makefile.am): Update.
33995         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33996         * modules/argv-iter (Depends-on): Update.
33997         * modules/arpa_inet (Depends-on): Update.
33998         * modules/dirent (Depends-on): Update.
33999         * modules/fcntl-h (Depends-on): Update.
34000         * modules/fnmatch (Depends-on): Update.
34001         * modules/getopt-posix (Depends-on): Update.
34002         * modules/glob (Depends-on): Update.
34003         * modules/iconv-h (Depends-on): Update.
34004         * modules/inttypes-incomplete (Depends-on): Update.
34005         * modules/locale (Depends-on): Update.
34006         * modules/math (Depends-on): Update.
34007         * modules/netdb (Depends-on): Update.
34008         * modules/search (Depends-on): Update.
34009         * modules/signal (Depends-on): Update.
34010         * modules/spawn (Depends-on): Update.
34011         * modules/stdio (Depends-on): Update.
34012         * modules/stdlib (Depends-on): Update.
34013         * modules/string (Depends-on): Update.
34014         * modules/strings (Depends-on): Update.
34015         * modules/sys_socket (Depends-on): Update.
34016         * modules/sys_stat (Depends-on): Update.
34017         * modules/sys_time (Depends-on): Update.
34018         * modules/sys_times (Depends-on): Update.
34019         * modules/sys_utsname (Depends-on): Update.
34020         * modules/time (Depends-on): Update.
34021         * modules/unistd (Depends-on): Update.
34022         * modules/wchar (Depends-on): Update.
34023         * MODULES.html.sh (Support for building libraries and executables):
34024         Update.
34026 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34028         Improvements on _Noreturn and related modules.
34030         modules/_Exit-tests: test _Noreturn too
34031         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
34032         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
34033         (main): Use them.
34035         stdnoreturn, stdnoreturn-tests: remove modules
34036         They're not needed here and a bit premature for use elsewhere.  See
34037         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
34038         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
34039         * tests/test-stdnoreturn.c: Remove files.
34040         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
34041         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
34042         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
34043         and using noreturn.
34044         * modules/openat, modules/sigpipe-die, modules/xalloc:
34045         * modules/xmemdup0, modules/xstrtol:
34046         Remove dependency on stdnoreturn.
34048         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
34049         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
34050         Reparenthesize to avoid GCC warning.
34051         Support Microsoft's syntax.
34052         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
34054         _Noreturn-tests: remove module
34055         * modules/_Noreturn-tests: Remove.
34056         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
34057         * tests/test-_Noreturn.c: Remove.
34058         * tests/test-stdnoreturn.c: Merge from the old
34059         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
34061 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34063         _Noreturn, stdnoreturn, and related modules.
34065         * top/maint.mk: Adjust to new noreturn support.
34066         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
34067         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
34069         xalloc: use stdnoreturn.h
34070         * lib/xalloc.h: Include <stdnoreturn.h>.
34071         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34072         * modules/xalloc (Depends-on): Add stdnoreturn.
34074         xstrtol: use stdnoreturn.h
34075         * lib/xstrtol.h: Include <stdnoreturn.h>.
34076         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34077         * modules/xstrtol (Depends-on): Add stdnoreturn.
34079         xmemdup0: use stdnoreturn.h
34080         * lib/xmemdup0.h: Include <stdnoreturn.h>.
34081         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34082         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
34084         sigpipe-die: use stdnoreturn.h
34085         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
34086         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34087         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
34089         openat: use stdnoreturn.h
34090         * lib/openat.h: Include <stdnoreturn.h>.
34091         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34092         * modules/openat (Depends-on): Add stdnoreturn.
34094         * lib/openat-die.c (openat_save_fail): Modernize comment.
34096         * lib/xalloc-die.c (xalloc_die): Modernize comment.
34098         * lib/glthread/thread.h: Modernize comment.
34100         obstack: use _Noreturn
34101         * lib/obstack.c (__attribute__): Remove macro.
34102         (print_and_abort): Use _Noreturn.
34104         c-stack: use _Noreturn
34105         * lib/c-stack.c (die, overflow_handler, segv_handler):
34106         Use _Noreturn rather than __attribute__((noreturn)).
34108         argmatch-tests, exclude_tests: use _Noreturn
34109         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
34110         Remove.
34111         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
34113         stdlib: use _Noreturn
34114         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
34115         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
34116         * modules/stdlib (Depends-on): Add _Noreturn.
34117         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
34119         stdnoreturn-tests: new module
34120         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
34122         stdnoreturn: new module
34123         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
34124         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
34126         _Noreturn-tests: new module
34127         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
34129         _Noreturn: new module
34130         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
34131         New section, mentioning it.
34132         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
34134         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
34136 2011-07-11  Eric Blake  <eblake@redhat.com>
34138         ffs: new module
34139         * modules/ffs: New file.
34140         * m4/ffs.m4: Likewise.
34141         * lib/ffs.c: Likewise.
34142         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
34143         * modules/strings (Makefile.am): Substitute witness.
34144         (Depends-on): Add c++defs.
34145         * lib/strings.in.h (ffs): Declare.
34146         * modules/ffs-tests: New test file.
34147         * tests/test-ffs.c: Test new module.
34148         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34149         * doc/posix-functions/ffs.texi (ffs): Likewise.
34151         regex: avoid compiler warning
34152         * lib/regex.c (includes): Include <strings.h>, for use of
34153         strcasecmp in regcomp.c.
34154         Reported by Joachim Schmitz.
34156 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34158         stdint: respect system's intmax_t if INTMAX_MAX
34159         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
34160         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
34161         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
34162         long but int64_t is long long, and where we will clash with the
34163         system intmax_t if we override it.  See
34164         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
34165         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
34166         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
34167         similarly for UINTMAX_C.
34169 2011-07-08  Bruno Haible  <bruno@clisp.org>
34171         pthread_sigmask tests: Avoid a compiler warning.
34172         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
34173         non-zero.
34175         sigprocmask tests: A better way to avoid a compiler warning.
34176         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
34177         (main): Complain if system() returns non-zero.
34178         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
34180 2011-07-08  Bruno Haible  <bruno@clisp.org>
34182         pthread_sigmask: Work around IRIX bug.
34183         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
34184         bug.
34185         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
34186         there may be unblocked pending signals.
34187         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
34189 2011-07-08  Bruno Haible  <bruno@clisp.org>
34191         pthread_sigmask: Work around Cygwin bug.
34192         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
34193         bug.
34194         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
34195         the system's pthread_sigmask function.
34196         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
34198 2011-07-08  Bruno Haible  <bruno@clisp.org>
34200         pthread_sigmask: Work around bug in single-threaded implementation.
34201         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
34202         FreeBSD, HP-UX, Solaris bug.
34203         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
34204         * lib/pthread_sigmask.c: Include <stddef.h>.
34205         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
34206         the system's pthread_sigmask function.
34207         * modules/pthread_sigmask (configure.ac): Invoke
34208         gl_PREREQ_PTHREAD_SIGMASK.
34209         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
34210         HP-UX, Solaris.
34212 2011-07-08  Eric Blake  <eblake@redhat.com>
34214         test-sigprocmask: avoid compiler warning
34215         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
34216         * tests/test-sigprocmask.c (main): Use it to silence warning.
34217         Reported by Jim Meyering.
34219         test-snprintf: avoid compiler warning
34220         * tests/test-snprintf.c (main): Avoid shadowed declaration.
34221         * tests/test-vsnprintf.c (main): Likewise.
34222         Reported by Jim Meyering.
34224 2011-07-08  Bruno Haible  <bruno@clisp.org>
34226         Tests for module 'pthread_sigmask'.
34227         * modules/pthread_sigmask-tests: New file.
34228         * tests/test-pthread_sigmask1.c: New file, based on
34229         tests/test-sigprocmask.c.
34230         * tests/test-pthread_sigmask2.c: New file.
34232 2011-07-08  Jim Meyering  <meyering@redhat.com>
34234         test-getopt.h: avoid warning about an unused variable
34235         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
34237 2011-07-07  Jim Meyering  <meyering@redhat.com>
34239         maint: reduce list of files exempt from sc_prohibit_leading_TABs
34240         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
34241         now that it no longer contains leading TABs.
34242         Remove unused "url=FIXME" statement.
34244 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
34246         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
34247         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34248         When gl_THREADLIB is not in use, assume that the POSIX sematics
34249         are desired.  This is better for Emacs, which uses POSIX semantics
34250         on GNUish and/or POSIXish platforms, and does not use threads at
34251         all otherwise.
34253         pthread_sigmask: fix typo when testing for libraries
34254         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34255         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
34257 2011-07-08  Eric Blake  <eblake@redhat.com>
34259         fts: introduce FTS_NOATIME
34260         * lib/fts_.h (FTS_NOATIME): New bit flag.
34261         (FTS_OPTIONMASK): Adjust.
34262         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
34263         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
34265 2011-07-08  Bruno Haible  <bruno@clisp.org>
34267         Tests for module 'thread'.
34268         * modules/thread-tests: New file.
34269         * tests/test-thread_self.c: New file.
34270         * tests/test-thread_create.cc: New file.
34272 2011-07-08  Bruno Haible  <bruno@clisp.org>
34274         thread: Avoid gcc warnings when using gl_thread_self().
34275         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
34276         'void *'.
34277         (gl_thread_self_pointer): Update.
34279 2011-07-07  Bruno Haible  <bruno@clisp.org>
34281         signal-c++-tests: Check declaration of pthread_sigmask.
34282         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
34283         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
34284         $(LIB_PTHREAD_SIGMASK).
34286 2011-07-07  Bruno Haible  <bruno@clisp.org>
34288         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
34289         * lib/signal.in.h (pthread_sigmask): Override if
34290         REPLACE_PTHREAD_SIGMASK is 1.
34291         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34292         REPLACE_PTHREAD_SIGMASK.
34293         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
34294         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
34295         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
34296         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34297         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
34299 2011-07-07  Bruno Haible  <bruno@clisp.org>
34301         pthread_sigmask: Ensure declaration in <signal.h>.
34302         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
34303         include <pthread.h>.
34304         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
34305         problem.
34307 2011-07-07  Bruno Haible  <bruno@clisp.org>
34309         pthread_sigmask: Document the module.
34310         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
34312 2011-07-07  Bruno Haible  <bruno@clisp.org>
34314         pthread_sigmask: Follow gnulib conventions.
34315         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
34316         gl_PTHREAD_SIGMASK.
34317         * modules/pthread_sigmask (configure.ac): Update.
34319 2011-07-07  Bruno Haible  <bruno@clisp.org>
34321         pthread_sigmask: Make declaration C++ safe.
34322         * lib/signal.in.h: In two special conditions, just do an #include_next.
34323         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34324         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
34325         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34326         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34327         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
34328         not REPLACE_PTHREAD_MASK.
34329         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
34330         not REPLACE_PTHREAD_MASK.
34331         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34333 2011-07-07  Bruno Haible  <bruno@clisp.org>
34335         pthread_sigmask: Fix return value.
34336         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
34337         * lib/pthread_sigmask.c: New file.
34338         * modules/pthread_sigmask (Files): Add it.
34339         (configure.ac): Invoke AC_LIBOBJ.
34341 2011-07-07  Eric Blake  <eblake@redhat.com>
34343         getopt: more portable argv creation
34344         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
34345         const, use char arrays rather than strings.
34346         Suggested by Paul Eggert.
34348 2011-07-07  Bruno Haible  <bruno@clisp.org>
34350         Tests for module 'sigprocmask'.
34351         * modules/sigprocmask-tests: New file.
34352         * tests/test-sigprocmask.c: New file.
34354 2011-07-07  Bruno Haible  <bruno@clisp.org>
34356         float tests: Tweak.
34357         * tests/test-float.c (main): Tweak skip message.
34359 2011-07-07  Eric Blake  <eblake@redhat.com>
34361         getopt: avoid compiler warning during configure
34362         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
34363         assigning string literals to non-const pointer.
34365         getopt-gnu: avoid crash in glibc getopt
34366         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
34367         * tests/test-getopt.h (test_getopt): Enhance test.
34368         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34369         * doc/posix-functions/getopt.texi (getopt): Document it.
34370         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34371         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34372         Likewise.
34374 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
34376         getopt: handle W; without long options in getopt [BZ #12922]
34377         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
34378         but no long options are defined, just return 'W'.
34380 2011-07-07  Bruno Haible  <bruno@clisp.org>
34382         Avoid literal tabs.
34383         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
34384         variable containing a tab instead of a literal tab.
34385         Reported by Jim Meyering.
34387 2011-07-07  Bruno Haible  <bruno@clisp.org>
34389         Comments.
34390         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
34392 2011-07-06  Bruno Haible  <bruno@clisp.org>
34394         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
34395         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
34396         <winsock2.h>.
34397         (rpl_fd_isset, FD_ISSET): New definitions, copied from
34398         lib/sys_socket.in.h.
34399         (close, gethostname): Hide declarations from <winsock2.h>.
34400         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34401         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
34402         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
34403         (select): Don't override if gnulib's <sys/select.h> was already
34404         included.
34405         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34406         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34407         setsockopt, shutdown, select): Tweak indentation.
34409 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34411         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
34412         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
34413         in an application that does not use the sys_select module.
34415 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
34417         poll: do not return 0 on timeout=-1
34418         * lib/poll.c: Loop with yield if no events occurred.
34420 2011-07-06  Eric Blake  <eblake@redhat.com>
34422         pthread_sigmask: always replace when not using pthread
34423         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
34424         replacement when using some threading other than pthread.  Fix
34425         logic bug.
34427 2011-07-06  Bruno Haible  <bruno@clisp.org>
34429         Comments.
34430         * m4/printf.m4: Update comments about mingw.
34432 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34434         sys_select: define sigset_t more portably
34435         * lib/sys_select.in.h: Always include <sys/types.h>, since
34436         we now need sigset_t and mingw defines it there.
34437         Include <signal.h> before split inclusion guard, to avoid
34438         mishaps on Solaris, whose <signal.h> eventually includes us.
34439         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
34440         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
34441         which come from ...
34442         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
34443         gl_CHECK_TYPE_SIGSET_T.
34444         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
34445         does the real work.
34446         * modules/sys_select (Depends-on): Add 'signal'.
34448         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
34449         Suggested by Bruno Haible.
34451         pselect: Use pthread_sigmask, not sigprocmask.
34452         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
34453         multithreaded apps better than sigprocmask does.
34454         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
34455         sigprocmask directly.
34457 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34459         * lib/pselect.c (pselect): Use plain name, without "rpl_".
34460         Don't #undef,  since we don't need any underlying pselect.
34461         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
34462         (Depends-on): Add select.
34463         (Link): Add $(LIBSOCKET).
34464         These changes suggested by Bruno Haible.
34466         pselect: document better
34467         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34468         * doc/posix-functions/pselect.texi (pselect): Document new module.
34470         pthread_sigmask: new module
34471         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34472         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34473         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34474         This is done only as a macro; I don't know how well that'll
34475         work for C++.  Move <sys/types.h> include before the include_next,
34476         to avoid mishap on Solaris.
34477         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34478         * modules/signal (Makefile.am): Substitute the check's results.
34479         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34481         test-pselect: new module
34482         * modules/pselect-tests, tests/test-pselect.c: New files.
34483         * tests/test-select.c, tests/test-sys_select-c++.cc:
34484         If TEST_PSELECT is defined, test pselect instead of testing select.
34486         * tests/test-sys_select.c (sigset_t): Test for it, too.
34487         Suggested by Bruno Haible.
34489 2011-07-05  Eric Blake  <eblake@redhat.com>
34491         snprintf: guarantee %1$d, for libintl
34492         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34493         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34494         * doc/posix-functions/snprintf.texi (snprintf): Update.
34495         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34496         * tests/test-snprintf.c (main): Enhance test.
34497         * tests/test-vsnprintf.c (main): Likewise.
34499 2011-07-05  Jim Meyering  <meyering@redhat.com>
34501         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34502         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34503         per Bruno's request, to accommodate this idiom (no space after "#")
34504         even when the function is inside an #if block:
34505         char *
34506         gets (char *s)
34507         #undef gets
34508         {
34509           ...
34510         }
34512 2011-07-04  Jim Meyering  <meyering@redhat.com>
34514         maint: indent with spaces, not TABs, and add a rule to check this
34515         * tests/test-userspec.c: Indent with spaces, not TABs.
34516         * tests/test-argp.c: Likewise.
34517         * tests/test-c-stack2.sh: Likewise.
34518         * tests/test-parse-duration.sh: Likewise
34519         * m4/strtod.m4: Likewise.
34520         * m4/alloca.m4: Likewise.
34521         * m4/pselect.m4: Likewise.
34522         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34524 2011-07-03  Jim Meyering  <meyering@redhat.com>
34526         maint.mk: correct omissions in prohibit_argmatch_without_use check
34527         This rule would mistakenly report that argmatch.h is included without
34528         use even when both the argmatch and invalid_arg macro were used.
34529         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34530         of argmatch and invalid_arg.
34532 2011-07-03  Bruno Haible  <bruno@clisp.org>
34534         Comments about EINTR.
34535         * lib/safe-read.h: Explain the purpose of this module.
34536         * lib/safe-write.h: Likewise.
34537         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34538         module.
34539         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34540         module.
34541         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34543 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34545         xnanosleep: Rewrite to use new dtotimespec module.
34546         It has the conversion code that used to be in xnanosleep.
34547         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34548         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34549         (TIME_T_MAX): Remove.
34550         (xnanosleep): Rewrite in terms of dtotimespec.
34551         * modules/xnanosleep (Depends-on): Add dtotimespec.
34552         Remove intprops, stdbool.
34554         timespec-add, timespec-sub: new modules
34555         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34556         * lib/timespec-add.c, lib/timespec-sub.c:
34557         * modules/timespec-add, modules/timespec-sub: New files.
34559         dtotimespec: new module
34560         * lib/timespec.h (dtotimespec): New decl.
34561         * lib/dtotimespec.c, modules/dtotimespec: New files.
34563         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34565         pselect: new module
34566         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34567         (pselect): New decls.
34568         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34569         since the standard pselect decl uses 'restrict'.
34570         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34571         HAVE_PSELECT, REPLACE_PSELECT.
34572         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34573         HAVE_PSELECT, REPLACE_PSELECT.
34574         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34576         sys_select: don't depend on sys_socket
34577         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34578         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34579         This fix works on GNU and GNU-like platforms, but has not been tested
34580         on native Windows.
34581         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34582         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34583         gl_HEADER_SYS_SOCKET.
34584         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34585         gl_PREREQ_SYS_H_WINSOCK2.
34587 2011-06-29  Eric Blake  <eblake@redhat.com>
34589         pipe2: fix C89 compile problem
34590         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34591         Reported by Bruno Haible.
34593         pipe, pipe2: don't corrupt fd on error
34594         * lib/pipe.c (pipe): Leave fd unchanged on error.
34595         * lib/pipe2.c (pipe2): Likewise.
34596         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34597         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34599 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34601         mmap-anon: do not use regular expressions inadvertently
34602         * m4/mmap-anon.m4: Remove trailing period from strings sought
34603         in the output.
34605 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34607         nanosleep: fix integer overflow problem
34608         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34609         arithmetic wraps around on overflow.
34611         nanosleep: simplify carrying
34612         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34613         first call to the underyling nanosleep, not for the last one.
34614         This doesn't fix any bugs, but it simplifies the computation of
34615         the remaining delay.  Found while auditing integer overflow issues.
34617         dup2: remove test for existence of fcntl
34618         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34619         "#if HAVE_FCNTL", in the configure-time test program.
34620         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34621         and therefore speeds up "configure" a bit.  Found while
34622         adding the dup2 module to Emacs.
34624 2011-06-24  Eric Blake  <eblake@redhat.com>
34626         maint.mk: enhance useless header checks
34627         * top/maint.mk (_sc_header_without_use): Check both include
34628         styles.
34629         (sc_prohibit_assert_without_use)
34630         (sc_prohibit_close_stream_without_use)
34631         (sc_prohibit_getopt_without_use)
34632         (sc_prohibit_quotearg_without_use)
34633         (sc_prohibit_quote_without_use)
34634         (sc_prohibit_long_options_without_use)
34635         (sc_prohibit_inttostr_without_use)
34636         (sc_prohibit_ignore_value_without_use)
34637         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34638         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34639         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34640         (sc_prohibit_hash_pjw_without_use)
34641         (sc_prohibit_safe_read_without_use)
34642         (sc_prohibit_argmatch_without_use)
34643         (sc_prohibit_canonicalize_without_use)
34644         (sc_prohibit_root_dev_ino_without_use)
34645         (sc_prohibit_openat_without_use)
34646         (sc_prohibit_c_ctype_without_use)
34647         (sc_prohibit_signal_without_use)
34648         (sc_prohibit_stdio--_without_use)
34649         (sc_prohibit_stdio-safer_without_use)
34650         (sc_prohibit_strings_without_use)
34651         (sc_prohibit_intprops_without_use)
34652         (sc_prohibit_stddef_without_use)
34653         (sc_prohibit_xfreopen_without_use): Update clients.
34655 2011-06-24  Jim Meyering  <meyering@redhat.com>
34657         syntax-check: keep one maint.mk rule in sync with its header
34658         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34659         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34660         I prefer to avoid temporary files here, so use <(...), but that
34661         is not supported by /bin/sh, so...
34662         (SHELL): Define to /bin/bash.
34664 2011-06-24  Eric Blake  <eblake@redhat.com>
34666         maint.mk: update sc_prohibit_intprops_without_use
34667         * top/maint.mk (_intprops_names): Match recent changes.
34669 2011-06-24  Bruno Haible  <bruno@clisp.org>
34671         strerror-override: No-op tweak.
34672         * lib/strerror-override.h (strerror_override): Reorder conditions,
34673         for consistency with lib/strerror-override.c.
34675 2011-06-23  Eric Blake  <eblake@redhat.com>
34677         maint.mk: test further PATH_MAX issues
34678         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34679         (sc_prohibit_path_max_allocation): ...and also test alloca.
34680         Suggested by Jim Meyering.
34682 2011-06-22  Eric Blake  <eblake@redhat.com>
34684         maint.mk: add syntax-check to avoid char[PATH_MAX]
34685         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34687         stat: be robust to PATH_MAX definition
34688         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34689         * modules/stat (Depends-on): Add verify.
34691         link: work around IRIX bug
34692         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34693         * lib/link.c (rpl_link): Work around it.
34694         * tests/test-link.h (test_link): Enhance test.
34695         * doc/posix-functions/link.texi (link): Document the bug.
34697         getopt: silence clang warning
34698         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34699         dereference.
34700         Reported by Gustavo Martin Domato.
34702 2011-06-22  Jim Meyering  <meyering@redhat.com>
34704         bootstrap: do not insert a blank line into each .gitignore file
34705         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34707 2011-06-21  Eric Blake  <eblake@redhat.com>
34709         perror: test for output mismatch
34710         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34711         perror on IRIX.
34713         strerror_r: fix OpenBSD behavior on out-of-range
34714         * lib/strerror_r.c (strerror_r): Always use maximal string.
34715         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34717         strerror_r: fix OpenBSD behavior on 0
34718         * lib/strerror-override.c (strerror_override): Also override 0
34719         when needed.
34720         * lib/strerror-override.h (strerror_override): Likewise.
34721         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34722         earlier.
34723         * lib/strerror_r.c (strerror_r): Likewise.
34724         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34725         behavior...
34726         (gl_FUNC_STRERROR_0): ...into new macro.
34727         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34728         is overridden.
34729         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34730         * modules/strerror-override (Files): Add strerror.m4.
34731         (configure.ac): Also provide override for 0 when needed.
34732         * doc/posix-functions/strerror.texi (strerror): Document this.
34733         * doc/posix-functions/perror.texi (perror): Likewise.
34735         perror: adjust array size
34736         * modules/perror (Depends-on): Add strerror-override.
34737         * lib/perror.c (perror): Use it to avoid magic number.
34739         strerror-override: reduce size
34740         * lib/strerror-override.c (strerror_override): Use fewer lines.
34742 2011-06-20  Bruno Haible  <bruno@clisp.org>
34744         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34745         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34747 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34749         alloca: port to compilers that can optimize like GCC 4.6.0
34750         * lib/alloca.c (find_stack_direction): New signature, taken from
34751         Autoconf git.  This works with GCC 4.6.0.  This code should never
34752         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34753         be used with other compilers that optimize as well as GCC 4.6.0 does.
34754         (alloca): Adjust to new signature.
34755         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34756         New macro, which patches Autoconf in a similar way.
34758         c-stack: stop worrying about stack direction
34759         * lib/c-stack.c (find_stack_direction): Remove.
34760         (segv_handler): Don't worry about stack direction growth, as it's
34761         too much of a pain to configure this correctly, given how compilers
34762         are optimizing-away our stack-growth detection code.  Instead, assume
34763         that any access to just before or just after the stack is OK.
34764         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34765         Don't require AC_FUNC_ALLOCA; no longer needed.
34767 2011-06-20  Eric Blake  <eblake@redhat.com>
34769         test-stat: don't allocate PATH_MAX bytes
34770         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34771         PATH_MAX-sized buffer.
34772         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34773         * modules/stat-tests (Depends-on): Likewise.
34774         * tests/test-fstatat.c (includes): Drop pathmax.h.
34775         * tests/test-stat.c (includes): Likewise.
34776         Reported by Bruno Haible.
34778 2011-06-20  Bruno Haible  <bruno@clisp.org>
34780         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34781         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34782         * lib/float.c: New file.
34783         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34784         REPLACE_FLOAT_LDBL.
34785         * modules/float (Files): Add lib/float.c.
34786         (configure.ac): Invoke AC_LIBOBJ.
34787         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34789 2011-06-20  Bruno Haible  <bruno@clisp.org>
34791         Tests for module 'float'.
34792         * modules/float-tests: New file.
34793         * tests/test-float.c: New file.
34795 2011-06-19  Bruno Haible  <bruno@clisp.org>
34797         isinf: Coding style.
34798         * lib/isinf.c: Use GNU coding style.
34800 2011-06-19  Bruno Haible  <bruno@clisp.org>
34802         linkat test: Avoid test failure on AIX 7.1.
34803         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34804         * tests/test-link.h (test_link): Likewise.
34806 2011-06-19  Bruno Haible  <bruno@clisp.org>
34808         pread test: Avoid test failure on OpenBSD 4.9.
34809         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34811 2011-06-19  Bruno Haible  <bruno@clisp.org>
34813         sprintf-posix: Fix test failure on AIX 7.1.
34814         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34815         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34816         on AIX.
34817         * doc/posix-functions/fprintf.texi: Likewise.
34818         * doc/posix-functions/printf.texi: Likewise.
34819         * doc/posix-functions/snprintf.texi: Likewise.
34820         * doc/posix-functions/sprintf.texi: Likewise.
34821         * doc/posix-functions/vdprintf.texi: Likewise.
34822         * doc/posix-functions/vfprintf.texi: Likewise.
34823         * doc/posix-functions/vprintf.texi: Likewise.
34824         * doc/posix-functions/vsnprintf.texi: Likewise.
34825         * doc/posix-functions/vsprintf.texi: Likewise.
34827 2011-06-19  Bruno Haible  <bruno@clisp.org>
34829         roundl-ieee: Fix test failure on AIX 7.1.
34830         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34831         * doc/posix-functions/roundl.texi: Mention problem with negative
34832         arguments.
34834 2011-06-19  Bruno Haible  <bruno@clisp.org>
34836         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34837         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34838         * doc/posix-functions/round.texi: Mention problem with negative
34839         arguments.
34840         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34842 2011-06-19  Bruno Haible  <bruno@clisp.org>
34844         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34845         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34846         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34847         * doc/posix-functions/roundf.texi: Mention problem with negative
34848         arguments.
34849         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34851 2011-06-19  Bruno Haible  <bruno@clisp.org>
34853         ceilf-ieee: Work around bug on MacOS X 10.5.
34854         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34856         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34857         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34858         IEEE compliant, avoid compiler optimizations.
34859         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34860         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34861         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34862         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34863         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34864         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34865         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34866         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34867         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34868         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34870 2011-06-19  Bruno Haible  <bruno@clisp.org>
34872         ceilf-ieee: Work around bug on AIX 7.1.
34873         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34874         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34876 2011-06-19  Bruno Haible  <bruno@clisp.org>
34878         ceil-ieee: Work around bug on AIX 7.1.
34879         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34880         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34882 2011-06-18  Bruno Haible  <bruno@clisp.org>
34884         fsync test: Avoid test failure on MacOS X and AIX.
34885         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34886         EINVAL.
34888 2011-06-18  Bruno Haible  <bruno@clisp.org>
34890         openat, fdopendir tests: Fix link errors.
34891         * modules/openat-tests (Depends-on): Add progname.
34892         * modules/fdopendir-tests (Depends-on): Likewise.
34893         * tests/test-fchownat.c: Include progname.h.
34894         (main): Call set_program_name.
34895         * tests/test-fstatat.c: Include progname.h.
34896         (main): Call set_program_name.
34897         * tests/test-mkdirat.c: Include progname.h.
34898         (main): Call set_program_name.
34899         * tests/test-openat.c: Include progname.h.
34900         (main): Call set_program_name.
34901         * tests/test-unlinkat.c: Include progname.h.
34902         (main): Call set_program_name.
34903         * tests/test-fdopendir.c: Include progname.h.
34904         (main): Call set_program_name.
34906 2011-06-18  Bruno Haible  <bruno@clisp.org>
34908         Doc update.
34909         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34910         HP-UX.
34911         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34913 2011-06-18  Bruno Haible  <bruno@clisp.org>
34915         getcwd tests: Avoid compilation error on HP-UX 11.31.
34916         * modules/getcwd-tests (Depends-on): Add pathmax.
34917         * tests/test-getcwd.c: Include pathmax.h.
34919 2011-06-18  Bruno Haible  <bruno@clisp.org>
34921         isfinite, isinf: Fix link error on AIX 6 and 7.
34922         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34923         needed, also test the macro with a 'float' argument.
34924         * m4/isinf.m4 (gl_ISINF): Likewise.
34926 2011-06-18  Bruno Haible  <bruno@clisp.org>
34928         getloadavg: Don't clobber LIBS. Regression from previous commit.
34929         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34930         AC_CHECK_LIB from here...
34931         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34932         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34933         gl_func_getloadavg_done.
34934         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34936 2011-06-18  Bruno Haible  <bruno@clisp.org>
34938         clean-temp: Improve documentation.
34939         * lib/clean-temp.h: Explain better how to use this module.
34940         Reported by John Darrington <john@darrington.wattle.id.au>.
34942 2011-06-17  Bruno Haible  <bruno@clisp.org>
34944         pread, pwrite: Avoid cc warning on AIX.
34945         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34946         (pwrite): Likewise.
34948 2011-06-17  Bruno Haible  <bruno@clisp.org>
34950         spawn-pipe tests: Fix link error.
34951         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34952         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34954 2011-06-17  Bruno Haible  <bruno@clisp.org>
34956         Tests: Remove unnecessary dependency.
34957         * modules/canonicalize-tests (Depends-on): Remove progname.
34958         * modules/chown-tests (Depends-on): Likewise.
34959         * modules/dirname-tests (Depends-on): Likewise.
34960         * modules/fdopendir-tests (Depends-on): Likewise.
34961         * modules/fdutimensat-tests (Depends-on): Likewise.
34962         * modules/hash-tests (Depends-on): Likewise.
34963         * modules/lchown-tests (Depends-on): Likewise.
34964         * modules/linkat-tests (Depends-on): Likewise.
34965         * modules/renameat-tests (Depends-on): Likewise.
34966         * modules/spawn-pipe-tests (Depends-on): Likewise.
34967         * modules/utimensat-tests (Depends-on): Likewise.
34969 2011-06-17  Bruno Haible  <bruno@clisp.org>
34971         spawn-pipe tests: Fix link error.
34972         * tests/test-spawn-pipe-child.c: Undefine fflush.
34974 2011-06-17  Bruno Haible  <bruno@clisp.org>
34976         Fix tests link errors.
34977         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34978         * modules/chown-tests (Makefile.am): Don't link test-chown with
34979         LIBINTL.
34980         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34981         LIBINTL.
34982         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34983         LIBINTL.
34984         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34985         LIBINTL.
34987 2011-06-16  Bruno Haible  <bruno@clisp.org>
34989         crypto/gc-sha1: Fix recent regression.
34990         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34991         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34993         crypto/gc-md5: Fix recent regression.
34994         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34996         crypto/gc-md4: Fix recent regression.
34997         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34998         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
35000         crypto/gc-arctwo: Fix recent regression.
35001         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
35002         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
35004         crypto/gc-rijndael: Fix recent regression.
35005         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
35006         (configure.ac): Invoke AC_LIBOBJ here.
35007         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
35008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35010         crypto/gc-hmac-sha1: Fix recent regression.
35011         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
35012         (configure.ac): Invoke AC_LIBOBJ here.
35013         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
35014         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35016         crypto/gc-hmac-md5: Fix recent regression.
35017         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
35018         (configure.ac): Invoke AC_LIBOBJ here.
35019         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
35020         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35022         crypto/gc-des: Fix recent regression.
35023         * modules/crypto/gc-des (Files): Remove m4/des.m4.
35024         (configure.ac): Invoke AC_LIBOBJ here.
35025         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
35026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35028         crypto/gc-arcfour: Fix recent regression.
35029         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
35030         (configure.ac): Invoke AC_LIBOBJ here.
35031         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
35032         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35034 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
35036         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
35037         After the 2011-05-21 change, this macro requires
35038         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
35039         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35041 2011-06-16  Bruno Haible  <bruno@clisp.org>
35043         fprintftime: Move AC_LIBOBJ invocations to module description.
35044         * m4/fprintftime.m4: Remove file.
35045         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
35046         (configure.ac): Remove gl_FPRINTFTIME call.
35047         (Makefile.am): Augment lib_SOURCES.
35048         Reported by Jim Meyering.
35050 2011-06-16  Bruno Haible  <bruno@clisp.org>
35052         tmpfile-safer: Finish 2011-05-23 commit.
35053         * m4/stdio-safer.m4: Really remove file.
35054         Reported by Jim Meyering.
35056 2011-06-16  Bruno Haible  <bruno@clisp.org>
35058         syntax-check: Fix typo.
35059         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
35060         printf-posix.m4.
35061         Reported by Jim Meyering.
35063 2011-06-13  Jim Meyering  <meyering@redhat.com>
35065         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
35066         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
35068 2011-05-23  Bruno Haible  <bruno@clisp.org>
35070         yesno: Move AC_LIBOBJ invocations to module description.
35071         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
35072         * modules/yesno (Makefile.am): Augment lib_SOURCES.
35074 2011-05-23  Bruno Haible  <bruno@clisp.org>
35076         xstrtol: Move AC_LIBOBJ invocations to module description.
35077         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
35078         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
35080 2011-05-23  Bruno Haible  <bruno@clisp.org>
35082         xstrtold: Move AC_LIBOBJ invocations to module description.
35083         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
35084         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
35086 2011-05-23  Bruno Haible  <bruno@clisp.org>
35088         xstrtod: Move AC_LIBOBJ invocations to module description.
35089         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
35090         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
35092 2011-05-23  Bruno Haible  <bruno@clisp.org>
35094         xnanosleep: Move AC_LIBOBJ invocations to module description.
35095         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
35096         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
35098 2011-05-23  Bruno Haible  <bruno@clisp.org>
35100         xgetcwd: Move AC_LIBOBJ invocations to module description.
35101         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
35102         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
35104 2011-05-23  Bruno Haible  <bruno@clisp.org>
35106         xalloc: Move AC_LIBOBJ invocations to module description.
35107         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
35108         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
35110 2011-05-23  Bruno Haible  <bruno@clisp.org>
35112         write-any-file: Move AC_LIBOBJ invocations to module description.
35113         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
35114         invocation.
35115         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
35117 2011-05-23  Bruno Haible  <bruno@clisp.org>
35119         utimens: Move AC_LIBOBJ invocations to module description.
35120         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
35121         * modules/utimens (Makefile.am): Augment lib_SOURCES.
35123 2011-05-23  Bruno Haible  <bruno@clisp.org>
35125         utimecmp: Move AC_LIBOBJ invocations to module description.
35126         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
35127         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
35129 2011-05-23  Bruno Haible  <bruno@clisp.org>
35131         userspec: Move AC_LIBOBJ invocations to module description.
35132         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
35133         * modules/userspec (Makefile.am): Augment lib_SOURCES.
35135 2011-05-23  Bruno Haible  <bruno@clisp.org>
35137         unlinkdir: Move AC_LIBOBJ invocations to module description.
35138         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
35139         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
35141 2011-05-23  Bruno Haible  <bruno@clisp.org>
35143         unistd-safer: Move AC_LIBOBJ invocations to module description.
35144         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
35145         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
35147 2011-05-23  Bruno Haible  <bruno@clisp.org>
35149         tempname: Move AC_LIBOBJ invocations to module description.
35150         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
35151         * modules/tempname (Makefile.am): Augment lib_SOURCES.
35153 2011-05-23  Bruno Haible  <bruno@clisp.org>
35155         strftime: Move AC_LIBOBJ invocations to module description.
35156         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
35157         * modules/strftime (Makefile.am): Augment lib_SOURCES.
35159 2011-05-23  Bruno Haible  <bruno@clisp.org>
35161         stdlib-safer: Move AC_LIBOBJ invocations to module description.
35162         * m4/stdlib-safer.m4: Remove file.
35163         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
35164         (configure.ac): Remove gl_STDLIB_SAFER call.
35165         (Makefile.am): Augment lib_SOURCES.
35167 2011-05-23  Bruno Haible  <bruno@clisp.org>
35169         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
35170         * m4/stdio-safer.m4: Remove file.
35171         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
35172         (configure.ac): Remove gl_TMPFILE_SAFER call.
35173         (Makefile.am): Augment lib_SOURCES.
35175 2011-05-23  Bruno Haible  <bruno@clisp.org>
35177         popen-safer: Move AC_LIBOBJ invocations to module description.
35178         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
35179         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
35180         (configure.ac): Remove gl_POPEN_SAFER call.
35181         (Makefile.am): Augment lib_SOURCES.
35183 2011-05-23  Bruno Haible  <bruno@clisp.org>
35185         freopen-safer: Move AC_LIBOBJ invocations to module description.
35186         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
35187         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
35188         (configure.ac): Remove gl_FREOPEN_SAFER call.
35189         (Makefile.am): Augment lib_SOURCES.
35191 2011-05-23  Bruno Haible  <bruno@clisp.org>
35193         fopen-safer: Move AC_LIBOBJ invocations to module description.
35194         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
35195         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
35196         (configure.ac): Remove gl_FOPEN_SAFER call.
35197         (Makefile.am): Augment lib_SOURCES.
35199 2011-05-23  Bruno Haible  <bruno@clisp.org>
35201         crypto/sha512: Move AC_LIBOBJ invocations to module description.
35202         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
35203         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
35205 2011-05-23  Bruno Haible  <bruno@clisp.org>
35207         crypto/sha256: Move AC_LIBOBJ invocations to module description.
35208         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
35209         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
35211 2011-05-23  Bruno Haible  <bruno@clisp.org>
35213         crypto/sha1: Move AC_LIBOBJ invocations to module description.
35214         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
35215         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
35217 2011-05-23  Bruno Haible  <bruno@clisp.org>
35219         settime: Move AC_LIBOBJ invocations to module description.
35220         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
35221         * modules/settime (Makefile.am): Augment lib_SOURCES.
35223 2011-05-23  Bruno Haible  <bruno@clisp.org>
35225         savedir: Move AC_LIBOBJ invocations to module description.
35226         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
35227         * modules/savedir (Makefile.am): Augment lib_SOURCES.
35229 2011-05-23  Bruno Haible  <bruno@clisp.org>
35231         save-cwd: Move AC_LIBOBJ invocations to module description.
35232         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
35233         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
35235 2011-05-23  Bruno Haible  <bruno@clisp.org>
35237         same: Move AC_LIBOBJ invocations to module description.
35238         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
35239         * modules/same (Makefile.am): Augment lib_SOURCES.
35241 2011-05-23  Bruno Haible  <bruno@clisp.org>
35243         safe-write: Move AC_LIBOBJ invocations to module description.
35244         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
35245         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
35246         instead of gl_SAFE_WRITE.
35247         (Makefile.am): Augment lib_SOURCES.
35249 2011-05-23  Bruno Haible  <bruno@clisp.org>
35251         safe-read: Move AC_LIBOBJ invocations to module description.
35252         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
35253         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
35254         of gl_SAFE_READ.
35255         (Makefile.am): Augment lib_SOURCES.
35257 2011-05-23  Bruno Haible  <bruno@clisp.org>
35259         safe-alloc: Move AC_LIBOBJ invocations to module description.
35260         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
35261         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
35263 2011-05-23  Bruno Haible  <bruno@clisp.org>
35265         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
35266         * m4/rijndael.m4: Remove file.
35267         * modules/crypto/rijndael (Files): Remove it.
35268         (configure.ac): Remove gl_RIJNDAEL call.
35269         (Makefile.am): Augment lib_SOURCES.
35271 2011-05-23  Bruno Haible  <bruno@clisp.org>
35273         readtokens: Move AC_LIBOBJ invocations to module description.
35274         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
35275         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
35277 2011-05-23  Bruno Haible  <bruno@clisp.org>
35279         read-file: Move AC_LIBOBJ invocations to module description.
35280         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
35281         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
35282         of gl_FUNC_READ_FILE.
35283         (Makefile.am): Augment lib_SOURCES.
35285 2011-05-23  Bruno Haible  <bruno@clisp.org>
35287         quotearg: Move AC_LIBOBJ invocations to module description.
35288         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
35289         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
35291 2011-05-23  Bruno Haible  <bruno@clisp.org>
35293         quote: Move AC_LIBOBJ invocations to module description.
35294         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
35295         * modules/quote (Makefile.am): Augment lib_SOURCES.
35297 2011-05-23  Bruno Haible  <bruno@clisp.org>
35299         posixver: Move AC_LIBOBJ invocations to module description.
35300         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
35301         * modules/posixver (Makefile.am): Augment lib_SOURCES.
35303 2011-05-23  Bruno Haible  <bruno@clisp.org>
35305         posixtm: Move AC_LIBOBJ invocations to module description.
35306         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
35307         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
35309 2011-05-23  Bruno Haible  <bruno@clisp.org>
35311         physmem: Move AC_LIBOBJ invocations to module description.
35312         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
35313         * modules/physmem (Makefile.am): Augment lib_SOURCES.
35315 2011-05-23  Bruno Haible  <bruno@clisp.org>
35317         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
35318         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
35319         invocation.
35320         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
35322 2011-05-23  Bruno Haible  <bruno@clisp.org>
35324         mpsort: Move AC_LIBOBJ invocations to module description.
35325         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
35326         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
35328 2011-05-23  Bruno Haible  <bruno@clisp.org>
35330         modechange: Move AC_LIBOBJ invocations to module description.
35331         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
35332         * modules/modechange (Makefile.am): Augment lib_SOURCES.
35334 2011-05-23  Bruno Haible  <bruno@clisp.org>
35336         mkdir-p: Move AC_LIBOBJ invocations to module description.
35337         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
35338         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
35340 2011-05-23  Bruno Haible  <bruno@clisp.org>
35342         mkancesdirs: Move AC_LIBOBJ invocations to module description.
35343         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
35344         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
35346 2011-05-23  Bruno Haible  <bruno@clisp.org>
35348         mgetgroups: Move AC_LIBOBJ invocations to module description.
35349         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
35350         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
35352 2011-05-23  Bruno Haible  <bruno@clisp.org>
35354         memxor: Move AC_LIBOBJ invocations to module description.
35355         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
35356         * modules/memxor (Makefile.am): Augment lib_SOURCES.
35358 2011-05-23  Bruno Haible  <bruno@clisp.org>
35360         memcoll: Move AC_LIBOBJ invocations to module description.
35361         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
35362         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
35364 2011-05-23  Bruno Haible  <bruno@clisp.org>
35366         memcasecmp: Move AC_LIBOBJ invocations to module description.
35367         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
35368         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
35370 2011-05-23  Bruno Haible  <bruno@clisp.org>
35372         crypto/md5: Move AC_LIBOBJ invocations to module description.
35373         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
35374         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
35376 2011-05-23  Bruno Haible  <bruno@clisp.org>
35378         crypto/md4: Move AC_LIBOBJ invocations to module description.
35379         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
35380         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
35382 2011-05-23  Bruno Haible  <bruno@clisp.org>
35384         crypto/md2: Move AC_LIBOBJ invocations to module description.
35385         * m4/md2.m4: Remove file.
35386         * modules/crypto/md2 (Files): Remove it.
35387         (configure.ac): Remove gl_MD2 call.
35388         (Makefile.am): Augment lib_SOURCES.
35390 2011-05-23  Bruno Haible  <bruno@clisp.org>
35392         long-options: Move AC_LIBOBJ invocations to module description.
35393         * m4/long-options.m4: Remove file.
35394         * modules/long-options (Files): Remove it.
35395         (configure.ac): Remove gl_LONG_OPTIONS call.
35396         (Makefile.am): Augment lib_SOURCES.
35398 2011-05-23  Bruno Haible  <bruno@clisp.org>
35400         i-ring: Move AC_LIBOBJ invocations to module description.
35401         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
35402         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
35404 2011-05-23  Bruno Haible  <bruno@clisp.org>
35406         idcache: Move AC_LIBOBJ invocations to module description.
35407         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
35408         * modules/idcache (Makefile.am): Augment lib_SOURCES.
35410 2011-05-23  Bruno Haible  <bruno@clisp.org>
35412         human: Move AC_LIBOBJ invocations to module description.
35413         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
35414         * modules/human (Makefile.am): Augment lib_SOURCES.
35416 2011-05-23  Bruno Haible  <bruno@clisp.org>
35418         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
35419         * m4/hmac-sha1.m4: Remove file.
35420         * modules/crypto/hmac-sha1 (Files): Remove it.
35421         (configure.ac): Remove gl_HMAC_SHA1 call.
35422         (Makefile.am): Augment lib_SOURCES.
35424 2011-05-23  Bruno Haible  <bruno@clisp.org>
35426         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
35427         * m4/hmac-md5.m4: Remove file.
35428         * modules/crypto/hmac-md5 (Files): Remove it.
35429         (configure.ac): Remove gl_HMAC_MD5 call.
35430         (Makefile.am): Augment lib_SOURCES.
35432 2011-05-23  Bruno Haible  <bruno@clisp.org>
35434         hash: Move AC_LIBOBJ invocations to module description.
35435         * m4/hash.m4: Remove file.
35436         * modules/hash (Files): Remove it.
35437         (configure.ac): Remove gl_HASH call.
35438         (Makefile.am): Augment lib_SOURCES.
35440 2011-05-23  Bruno Haible  <bruno@clisp.org>
35442         hard-locale: Move AC_LIBOBJ invocations to module description.
35443         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
35444         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
35446 2011-05-23  Bruno Haible  <bruno@clisp.org>
35448         getugroups: Move AC_LIBOBJ invocations to module description.
35449         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
35450         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
35452 2011-05-23  Bruno Haible  <bruno@clisp.org>
35454         gettime: Move AC_LIBOBJ invocations to module description.
35455         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
35456         * modules/gettime (Makefile.am): Augment lib_SOURCES.
35458 2011-05-23  Bruno Haible  <bruno@clisp.org>
35460         getndelim2: Move AC_LIBOBJ invocations to module description.
35461         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
35462         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
35464 2011-05-23  Bruno Haible  <bruno@clisp.org>
35466         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
35467         * m4/gc-pbkdf2-sha1.m4: Remove file.
35468         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
35469         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
35470         (Makefile.am): Augment lib_SOURCES.
35472 2011-05-23  Bruno Haible  <bruno@clisp.org>
35474         fts: Move AC_LIBOBJ invocations to module description.
35475         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35476         * modules/fts (configure.ac): ... to here.
35478 2011-05-23  Bruno Haible  <bruno@clisp.org>
35480         file-type: Move AC_LIBOBJ invocations to module description.
35481         * m4/file-type.m4: Remove file.
35482         * modules/file-type (Files): Remove it.
35483         (configure.ac): Remove gl_FILE_TYPE call.
35484         (Makefile.am): Augment lib_SOURCES.
35486 2011-05-23  Bruno Haible  <bruno@clisp.org>
35488         filenamecat*: Respect rules for use of AC_LIBOBJ.
35489         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35490         Remove AC_LIBOBJ invocation.
35491         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35492         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35494 2011-05-23  Bruno Haible  <bruno@clisp.org>
35496         filemode: Move AC_LIBOBJ invocations to module description.
35497         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35498         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35500 2011-05-23  Bruno Haible  <bruno@clisp.org>
35502         openat-safer: Move AC_LIBOBJ invocations to module description.
35503         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35504         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35506 2011-05-23  Bruno Haible  <bruno@clisp.org>
35508         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35509         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35510         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35512 2011-05-23  Bruno Haible  <bruno@clisp.org>
35514         exclude: Move AC_LIBOBJ invocations to module description.
35515         * m4/exclude.m4: Remove file.
35516         * modules/exclude (Files): Remove it.
35517         (configure.ac): Remove gl_EXCLUDE call.
35518         (Makefile.am): Augment lib_SOURCES.
35520 2011-05-23  Bruno Haible  <bruno@clisp.org>
35522         dirname*: Respect rules for use of AC_LIBOBJ.
35523         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35524         invocations.
35525         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35526         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35528 2011-05-23  Bruno Haible  <bruno@clisp.org>
35530         dirent-safer: Move AC_LIBOBJ invocations to module description.
35531         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35532         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35534 2011-05-23  Bruno Haible  <bruno@clisp.org>
35536         crypto/des: Move AC_LIBOBJ invocations to module description.
35537         * m4/des.m4: Remove file.
35538         * modules/crypto/des (Files): Remove it.
35539         (configure.ac): Remove gl_DES call.
35540         (Makefile.am): Augment lib_SOURCES.
35542 2011-05-23  Bruno Haible  <bruno@clisp.org>
35544         cycle-check: Move AC_LIBOBJ invocations to module description.
35545         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35546         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35548 2011-05-23  Bruno Haible  <bruno@clisp.org>
35550         c-strtold: Move AC_LIBOBJ invocations to module description.
35551         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35552         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35554 2011-05-23  Bruno Haible  <bruno@clisp.org>
35556         c-strtod: Move AC_LIBOBJ invocations to module description.
35557         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35558         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35560 2011-05-23  Bruno Haible  <bruno@clisp.org>
35562         crc: Move AC_LIBOBJ invocations to module description.
35563         * m4/crc.m4: Remove file.
35564         * modules/crc (Files): Remove it.
35565         (configure.ac): Remove gl_CRC call.
35566         (Makefile.am): Augment lib_SOURCES.
35568 2011-05-23  Bruno Haible  <bruno@clisp.org>
35570         close-stream: Move AC_LIBOBJ invocations to module description.
35571         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35572         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35574 2011-05-23  Bruno Haible  <bruno@clisp.org>
35576         closeout: Move AC_LIBOBJ invocations to module description.
35577         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35578         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35580 2011-05-23  Bruno Haible  <bruno@clisp.org>
35582         closein: Move AC_LIBOBJ invocations to module description.
35583         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35584         * modules/closein (Makefile.am): Augment lib_SOURCES.
35586 2011-05-23  Bruno Haible  <bruno@clisp.org>
35588         cloexec: Move AC_LIBOBJ invocations to module description.
35589         * m4/cloexec.m4: Remove file.
35590         * modules/cloexec (Files): Remove it.
35591         (configure.ac): Remove gl_CLOEXEC call.
35592         (Makefile.am): Augment lib_SOURCES.
35594 2011-05-23  Bruno Haible  <bruno@clisp.org>
35596         check-version: Move AC_LIBOBJ invocations to module description.
35597         * m4/check-version.m4: Remove file.
35598         * modules/check-version (Files): Remove it.
35599         (configure.ac): Remove gl_CHECK_VERSION call.
35600         (Makefile.am): Augment lib_SOURCES.
35602 2011-05-23  Bruno Haible  <bruno@clisp.org>
35604         chdir-safer: Move AC_LIBOBJ invocations to module description.
35605         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35606         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35608 2011-05-23  Bruno Haible  <bruno@clisp.org>
35610         canonicalize: Move AC_LIBOBJ invocations to module description.
35611         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35612         AC_LIBOBJ invocation.
35613         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35615 2011-05-23  Bruno Haible  <bruno@clisp.org>
35617         canon-host: Move AC_LIBOBJ invocations to module description.
35618         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35619         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35620         instead of gl_CANON_HOST.
35621         (Makefile.am): Augment lib_SOURCES.
35623 2011-05-23  Bruno Haible  <bruno@clisp.org>
35625         backupfile: Move AC_LIBOBJ invocations to module description.
35626         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35627         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35629 2011-05-23  Bruno Haible  <bruno@clisp.org>
35631         argmatch: Move AC_LIBOBJ invocations to module description.
35632         * m4/argmatch.m4: Remove file.
35633         * modules/argmatch (Files): Remove it.
35634         (configure.ac): Remove gl_ARGMATCH call.
35635         (Makefile.am): Augment lib_SOURCES.
35637 2011-05-23  Bruno Haible  <bruno@clisp.org>
35639         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35640         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35641         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35643 2011-05-23  Bruno Haible  <bruno@clisp.org>
35645         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35646         * m4/arcfour.m4: Remove file.
35647         * modules/crypto/arcfour (Files): Remove it.
35648         (configure.ac): Remove gl_ARCFOUR call.
35649         (Makefile.am): Augment lib_SOURCES.
35651 2011-05-22  Bruno Haible  <bruno@clisp.org>
35653         write: Move AC_LIBOBJ invocations to module description.
35654         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35655         * modules/write (configure.ac): ... to here.
35657 2011-05-22  Bruno Haible  <bruno@clisp.org>
35659         wmemset: Move AC_LIBOBJ invocations to module description.
35660         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35661         here...
35662         * modules/wmemset (configure.ac): ... to here.
35664 2011-05-22  Bruno Haible  <bruno@clisp.org>
35666         wmemmove: Move AC_LIBOBJ invocations to module description.
35667         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35668         here...
35669         * modules/wmemmove (configure.ac): ... to here.
35671 2011-05-22  Bruno Haible  <bruno@clisp.org>
35673         wmemcpy: Move AC_LIBOBJ invocations to module description.
35674         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35675         here...
35676         * modules/wmemcpy (configure.ac): ... to here.
35678 2011-05-22  Bruno Haible  <bruno@clisp.org>
35680         wmemcmp: Move AC_LIBOBJ invocations to module description.
35681         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35682         here...
35683         * modules/wmemcmp (configure.ac): ... to here.
35685 2011-05-22  Bruno Haible  <bruno@clisp.org>
35687         wmemchr: Move AC_LIBOBJ invocations to module description.
35688         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35689         here...
35690         * modules/wmemchr (configure.ac): ... to here.
35692 2011-05-22  Bruno Haible  <bruno@clisp.org>
35694         wcswidth: Move AC_LIBOBJ invocations to module description.
35695         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35696         here...
35697         * modules/wcswidth (configure.ac): ... to here.
35699 2011-05-22  Bruno Haible  <bruno@clisp.org>
35701         wcwidth: Respect rules for use of AC_LIBOBJ.
35702         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35703         invocation from here...
35704         * modules/wcwidth (configure.ac): ... to here.
35705         (Depends-on): Update conditions.
35707 2011-05-22  Bruno Haible  <bruno@clisp.org>
35709         wctype: Move AC_LIBOBJ invocations to module description.
35710         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35711         invocation from here...
35712         * modules/wctype (configure.ac): ... to here.
35713         (Depends-on): Update conditions.
35715 2011-05-22  Bruno Haible  <bruno@clisp.org>
35717         wctrans: Move AC_LIBOBJ invocations to module description.
35718         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35719         invocation from here...
35720         * modules/wctrans (configure.ac): ... to here.
35722 2011-05-22  Bruno Haible  <bruno@clisp.org>
35724         wctomb: Move AC_LIBOBJ invocations to module description.
35725         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35726         invocations from here...
35727         * modules/wctomb (configure.ac): ... to here.
35729 2011-05-22  Bruno Haible  <bruno@clisp.org>
35731         wctob: Move AC_LIBOBJ invocations to module description.
35732         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35733         gl_PREREQ_WCTOB invocations from here...
35734         * modules/wctob (configure.ac): ... to here.
35735         (Depends-on): Update conditions.
35737 2011-05-22  Bruno Haible  <bruno@clisp.org>
35739         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35740         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35741         here...
35742         * modules/wcsxfrm (configure.ac): ... to here.
35744 2011-05-22  Bruno Haible  <bruno@clisp.org>
35746         wcstok: Move AC_LIBOBJ invocations to module description.
35747         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35748         * modules/wcstok (configure.ac): ... to here.
35750 2011-05-22  Bruno Haible  <bruno@clisp.org>
35752         wcsstr: Move AC_LIBOBJ invocations to module description.
35753         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35754         * modules/wcsstr (configure.ac): ... to here.
35756 2011-05-22  Bruno Haible  <bruno@clisp.org>
35758         wcsspn: Move AC_LIBOBJ invocations to module description.
35759         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35760         * modules/wcsspn (configure.ac): ... to here.
35762 2011-05-22  Bruno Haible  <bruno@clisp.org>
35764         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35765         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35766         gl_PREREQ_WCSRTOMBS invocations from here...
35767         * modules/wcsrtombs (configure.ac): ... to here.
35769 2011-05-22  Bruno Haible  <bruno@clisp.org>
35771         wcsrchr: Move AC_LIBOBJ invocations to module description.
35772         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35773         here...
35774         * modules/wcsrchr (configure.ac): ... to here.
35776 2011-05-22  Bruno Haible  <bruno@clisp.org>
35778         wcspbrk: Move AC_LIBOBJ invocations to module description.
35779         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35780         here...
35781         * modules/wcspbrk (configure.ac): ... to here.
35783 2011-05-22  Bruno Haible  <bruno@clisp.org>
35785         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35786         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35787         gl_PREREQ_WCSNRTOMBS invocations from here...
35788         * modules/wcsnrtombs (configure.ac): ... to here.
35790 2011-05-22  Bruno Haible  <bruno@clisp.org>
35792         wcsnlen: Move AC_LIBOBJ invocations to module description.
35793         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35794         here...
35795         * modules/wcsnlen (configure.ac): ... to here.
35797 2011-05-22  Bruno Haible  <bruno@clisp.org>
35799         wcsncpy: Move AC_LIBOBJ invocations to module description.
35800         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35801         here...
35802         * modules/wcsncpy (configure.ac): ... to here.
35804 2011-05-22  Bruno Haible  <bruno@clisp.org>
35806         wcsncmp: Move AC_LIBOBJ invocations to module description.
35807         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35808         here...
35809         * modules/wcsncmp (configure.ac): ... to here.
35811 2011-05-22  Bruno Haible  <bruno@clisp.org>
35813         wcsncat: Move AC_LIBOBJ invocations to module description.
35814         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35815         here...
35816         * modules/wcsncat (configure.ac): ... to here.
35818 2011-05-22  Bruno Haible  <bruno@clisp.org>
35820         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35821         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35822         from here...
35823         * modules/wcsncasecmp (configure.ac): ... to here.
35825 2011-05-22  Bruno Haible  <bruno@clisp.org>
35827         wcslen: Move AC_LIBOBJ invocations to module description.
35828         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35829         * modules/wcslen (configure.ac): ... to here.
35831 2011-05-22  Bruno Haible  <bruno@clisp.org>
35833         wcsdup: Move AC_LIBOBJ invocations to module description.
35834         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35835         * modules/wcsdup (configure.ac): ... to here.
35837 2011-05-22  Bruno Haible  <bruno@clisp.org>
35839         wcscspn: Move AC_LIBOBJ invocations to module description.
35840         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35841         here...
35842         * modules/wcscspn (configure.ac): ... to here.
35844 2011-05-22  Bruno Haible  <bruno@clisp.org>
35846         wcscpy: Move AC_LIBOBJ invocations to module description.
35847         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35848         * modules/wcscpy (configure.ac): ... to here.
35850 2011-05-22  Bruno Haible  <bruno@clisp.org>
35852         wcscoll: Move AC_LIBOBJ invocations to module description.
35853         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35854         here...
35855         * modules/wcscoll (configure.ac): ... to here.
35857 2011-05-22  Bruno Haible  <bruno@clisp.org>
35859         wcscmp: Move AC_LIBOBJ invocations to module description.
35860         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35861         * modules/wcscmp (configure.ac): ... to here.
35863 2011-05-22  Bruno Haible  <bruno@clisp.org>
35865         wcschr: Move AC_LIBOBJ invocations to module description.
35866         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35867         * modules/wcschr (configure.ac): ... to here.
35869 2011-05-22  Bruno Haible  <bruno@clisp.org>
35871         wcscat: Move AC_LIBOBJ invocations to module description.
35872         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35873         * modules/wcscat (configure.ac): ... to here.
35875 2011-05-22  Bruno Haible  <bruno@clisp.org>
35877         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35878         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35879         here...
35880         * modules/wcscasecmp (configure.ac): ... to here.
35882 2011-05-22  Bruno Haible  <bruno@clisp.org>
35884         wcrtomb: Move AC_LIBOBJ invocations to module description.
35885         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35886         invocations from here...
35887         * modules/wcrtomb (configure.ac): ... to here.
35889 2011-05-22  Bruno Haible  <bruno@clisp.org>
35891         wcpncpy: Move AC_LIBOBJ invocations to module description.
35892         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35893         here...
35894         * modules/wcpncpy (configure.ac): ... to here.
35896 2011-05-22  Bruno Haible  <bruno@clisp.org>
35898         wcpcpy: Move AC_LIBOBJ invocations to module description.
35899         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35900         * modules/wcpcpy (configure.ac): ... to here.
35902 2011-05-22  Bruno Haible  <bruno@clisp.org>
35904         waitpid: Move AC_LIBOBJ invocations to module description.
35905         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35906         invocation from here...
35907         * modules/waitpid (configure.ac): ... to here.
35909 2011-05-22  Bruno Haible  <bruno@clisp.org>
35911         utimensat: Move AC_LIBOBJ invocations to module description.
35912         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35913         here...
35914         * modules/utimensat (configure.ac): ... to here.
35916 2011-05-22  Bruno Haible  <bruno@clisp.org>
35918         usleep: Move AC_LIBOBJ invocations to module description.
35919         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35920         here...
35921         * modules/usleep (configure.ac): ... to here.
35923 2011-05-22  Bruno Haible  <bruno@clisp.org>
35925         unlockpt: Move AC_LIBOBJ invocations to module description.
35926         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35927         gl_PREREQ_UNLOCKPT invocations from here...
35928         * modules/unlockpt (configure.ac): ... to here.
35930 2011-05-22  Bruno Haible  <bruno@clisp.org>
35932         unlink: Respect rules for use of AC_LIBOBJ.
35933         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35934         * modules/unlink (configure.ac): ... to here.
35936 2011-05-22  Bruno Haible  <bruno@clisp.org>
35938         uname: Move AC_LIBOBJ invocations to module description.
35939         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35940         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35941         here...
35942         * modules/uname (configure.ac): ... to here.
35944 2011-05-22  Bruno Haible  <bruno@clisp.org>
35946         ttyname_r: Move AC_LIBOBJ invocations to module description.
35947         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35948         gl_PREREQ_TTYNAME_R invocations from here...
35949         * modules/ttyname_r (configure.ac): ... to here.
35951 2011-05-22  Bruno Haible  <bruno@clisp.org>
35953         tsearch: Move AC_LIBOBJ invocations to module description.
35954         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35955         invocations from here...
35956         * modules/tsearch (configure.ac): ... to here.
35958 2011-05-22  Bruno Haible  <bruno@clisp.org>
35960         towctrans: Move AC_LIBOBJ invocations to module description.
35961         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35962         AC_LIBOBJ invocation from here...
35963         * modules/towctrans (configure.ac): ... to here.
35965 2011-05-22  Bruno Haible  <bruno@clisp.org>
35967         tmpfile: Move AC_LIBOBJ invocations to module description.
35968         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35969         invocations from here...
35970         * modules/tmpfile (configure.ac): ... to here.
35972 2011-05-22  Bruno Haible  <bruno@clisp.org>
35974         times: Move AC_LIBOBJ invocations to module description.
35975         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35976         * modules/times (configure.ac): ... to here.
35978 2011-05-22  Bruno Haible  <bruno@clisp.org>
35980         time_r: Move AC_LIBOBJ invocations to module description.
35981         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35982         invocations from here...
35983         * modules/time_r (configure.ac): ... to here.
35985 2011-05-22  Bruno Haible  <bruno@clisp.org>
35987         timegm: Move AC_LIBOBJ invocations to module description.
35988         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35989         invocations from here...
35990         * modules/timegm (configure.ac): ... to here.
35992 2011-05-22  Bruno Haible  <bruno@clisp.org>
35994         tcgetsid: Move AC_LIBOBJ invocations to module description.
35995         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35996         and gl_PREREQ_TCGETSID invocations from here...
35997         * modules/tcgetsid (configure.ac): ... to here.
35998         (Depends-on): Update conditions.
36000 2011-05-22  Bruno Haible  <bruno@clisp.org>
36002         symlinkat: Move AC_LIBOBJ invocations to module description.
36003         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
36004         here...
36005         * modules/symlinkat (configure.ac): ... to here.
36007 2011-05-22  Bruno Haible  <bruno@clisp.org>
36009         symlink: Move AC_LIBOBJ invocations to module description.
36010         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
36011         here...
36012         * modules/symlink (configure.ac): ... to here.
36014 2011-05-22  Bruno Haible  <bruno@clisp.org>
36016         strverscmp: Move AC_LIBOBJ invocations to module description.
36017         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
36018         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
36019         from here...
36020         * modules/strverscmp (configure.ac): ... to here.
36022 2011-05-22  Bruno Haible  <bruno@clisp.org>
36024         strtok_r: Move AC_LIBOBJ invocations to module description.
36025         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
36026         and gl_PREREQ_STRTOK_R invocations from here...
36027         * modules/strtok_r (configure.ac): ... to here.
36028         (Depends-on): Update conditions.
36030 2011-05-22  Bruno Haible  <bruno@clisp.org>
36032         strtoumax: Move AC_LIBOBJ invocations to module description.
36033         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
36034         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
36035         from here...
36036         * modules/strtoumax (configure.ac): ... to here.
36038 2011-05-22  Bruno Haible  <bruno@clisp.org>
36040         strtoimax: Move AC_LIBOBJ invocations to module description.
36041         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
36042         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
36043         from here...
36044         * modules/strtoimax (configure.ac): ... to here.
36046 2011-05-22  Bruno Haible  <bruno@clisp.org>
36048         strtoull: Move AC_LIBOBJ invocations to module description.
36049         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
36050         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
36051         from here...
36052         * modules/strtoull (configure.ac): ... to here.
36054 2011-05-22  Bruno Haible  <bruno@clisp.org>
36056         strtoll: Move AC_LIBOBJ invocations to module description.
36057         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
36058         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
36059         here...
36060         * modules/strtoll (configure.ac): ... to here.
36062 2011-05-22  Bruno Haible  <bruno@clisp.org>
36064         strtoul: Move AC_LIBOBJ invocations to module description.
36065         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
36066         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36067         * modules/strtoul (configure.ac): ... to here.
36069 2011-05-22  Bruno Haible  <bruno@clisp.org>
36071         strtol: Move AC_LIBOBJ invocations to module description.
36072         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
36073         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36074         * modules/strtol (configure.ac): ... to here.
36076 2011-05-22  Bruno Haible  <bruno@clisp.org>
36078         strtod: Move AC_LIBOBJ invocations to module description.
36079         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
36080         invocations from here...
36081         * modules/strtod (configure.ac): ... to here.
36083 2011-05-22  Bruno Haible  <bruno@clisp.org>
36085         strstr*: Move AC_LIBOBJ invocations to module description.
36086         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
36087         invocations from here...
36088         * modules/strstr-simple (configure.ac): ... to here.
36089         * modules/strstr (configure.ac): ... and here.
36091 2011-05-22  Bruno Haible  <bruno@clisp.org>
36093         strsignal: Move AC_LIBOBJ invocations to module description.
36094         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
36095         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
36096         * modules/strsignal (configure.ac): ... to here.
36097         (Depends-on): Update conditions.
36099 2011-05-22  Bruno Haible  <bruno@clisp.org>
36101         strsep: Move AC_LIBOBJ invocations to module description.
36102         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
36103         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
36104         here...
36105         * modules/strsep (configure.ac): ... to here.
36107 2011-05-22  Bruno Haible  <bruno@clisp.org>
36109         strptime: Move AC_LIBOBJ invocations to module description.
36110         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
36111         gl_PREREQ_STRPTIME invocations from here...
36112         * modules/strptime (configure.ac): ... to here.
36114 2011-05-22  Bruno Haible  <bruno@clisp.org>
36116         strpbrk: Move AC_LIBOBJ invocations to module description.
36117         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
36118         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
36119         here...
36120         * modules/strpbrk (configure.ac): ... to here.
36122 2011-05-22  Bruno Haible  <bruno@clisp.org>
36124         strnlen: Move AC_LIBOBJ invocations to module description.
36125         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
36126         invocations from here...
36127         * modules/strnlen (configure.ac): ... to here.
36129 2011-05-22  Bruno Haible  <bruno@clisp.org>
36131         strndup: Move AC_LIBOBJ invocations to module description.
36132         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
36133         invocations from here...
36134         * modules/strndup (configure.ac): ... to here.
36135         (Depends-on): Update conditions.
36137 2011-05-22  Bruno Haible  <bruno@clisp.org>
36139         strncat: Move AC_LIBOBJ invocations to module description.
36140         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
36141         invocations from here...
36142         * modules/strncat (configure.ac): ... to here.
36144 2011-05-22  Bruno Haible  <bruno@clisp.org>
36146         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
36147         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
36148         invocations from here...
36149         * modules/strdup (configure.ac): ... to here.
36150         * modules/strdup-posix (configure.ac): ... and here.
36152 2011-05-22  Bruno Haible  <bruno@clisp.org>
36154         strcspn: Move AC_LIBOBJ invocations to module description.
36155         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
36156         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
36157         here...
36158         * modules/strcspn (configure.ac): ... to here.
36160 2011-05-22  Bruno Haible  <bruno@clisp.org>
36162         strchrnul: Move AC_LIBOBJ invocations to module description.
36163         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
36164         gl_PREREQ_STRCHRNUL invocations from here...
36165         * modules/strchrnul (configure.ac): ... to here.
36167 2011-05-22  Bruno Haible  <bruno@clisp.org>
36169         strcasestr*: Move AC_LIBOBJ invocations to module description.
36170         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36171         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
36172         * modules/strcasestr-simple (configure.ac): ... to here.
36173         * modules/strcasestr (configure.ac): ... and here.
36175 2011-05-22  Bruno Haible  <bruno@clisp.org>
36177         strcase: Move AC_LIBOBJ invocations to module description.
36178         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
36179         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
36180         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
36181         gl_PREREQ_STRNCASECMP invocations from here...
36182         * modules/strcase (configure.ac): ... to here.
36184 2011-05-22  Bruno Haible  <bruno@clisp.org>
36186         stpncpy: Move AC_LIBOBJ invocations to module description.
36187         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
36188         here...
36189         * modules/stpncpy (configure.ac): ... to here.
36191 2011-05-22  Bruno Haible  <bruno@clisp.org>
36193         stpcpy: Move AC_LIBOBJ invocations to module description.
36194         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
36195         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
36196         here...
36197         * modules/stpcpy (configure.ac): ... to here.
36199 2011-05-21  Bruno Haible  <bruno@clisp.org>
36201         stat: Move AC_LIBOBJ invocations to module description.
36202         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
36203         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
36204         here...
36205         * modules/stat (configure.ac): ... to here.
36207 2011-05-21  Bruno Haible  <bruno@clisp.org>
36209         sleep: Move AC_LIBOBJ invocations to module description.
36210         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
36211         * modules/sleep (configure.ac): ... to here.
36213 2011-05-21  Bruno Haible  <bruno@clisp.org>
36215         signbit: Move AC_LIBOBJ invocations to module description.
36216         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
36217         * modules/signbit (configure.ac): ... to here.
36219 2011-05-21  Bruno Haible  <bruno@clisp.org>
36221         sigprocmask: Move AC_LIBOBJ invocations to module description.
36222         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
36223         gl_PREREQ_SIGPROMASK invocations from here...
36224         * modules/sigprocmask (configure.ac): ... to here.
36226 2011-05-21  Bruno Haible  <bruno@clisp.org>
36228         sigaction: Move AC_LIBOBJ invocations to module description.
36229         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
36230         gl_PREREQ_SIGACTION invocations from here...
36231         * modules/sigaction (configure.ac): ... to here.
36233 2011-05-21  Bruno Haible  <bruno@clisp.org>
36235         sig2str: Move AC_LIBOBJ invocations to module description.
36236         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
36237         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
36238         here...
36239         * modules/sig2str (configure.ac): ... to here.
36241 2011-05-21  Bruno Haible  <bruno@clisp.org>
36243         setlocale: Move AC_LIBOBJ invocations to module description.
36244         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
36245         gl_PREREQ_SETLOCALE invocations from here...
36246         * modules/setlocale (configure.ac): ... to here.
36248 2011-05-21  Bruno Haible  <bruno@clisp.org>
36250         unsetenv: Move AC_LIBOBJ invocations to module description.
36251         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
36252         and gl_PREREQ_UNSETENV invocations from here...
36253         * modules/unsetenv (configure.ac): ... to here.
36254         (Depends-on): Update.
36256 2011-05-21  Bruno Haible  <bruno@clisp.org>
36258         setenv: Move AC_LIBOBJ invocations to module description.
36259         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
36260         here...
36261         * modules/setenv (configure.ac): ... to here.
36263 2011-05-21  Bruno Haible  <bruno@clisp.org>
36265         selinux-h: Move AC_LIBOBJ invocations to module description.
36266         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
36267         AC_LIBOBJ invocation from here...
36268         * modules/selinux-h (configure.ac): ... to here.
36270 2011-05-21  Bruno Haible  <bruno@clisp.org>
36272         select: Respect rules for use of AC_LIBOBJ.
36273         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
36274         here...
36275         * modules/select (configure.ac): ... to here.
36277 2011-05-21  Bruno Haible  <bruno@clisp.org>
36279         scandir: Move AC_LIBOBJ invocations to module description.
36280         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
36281         invocations from here...
36282         * modules/scandir (configure.ac): ... to here.
36284 2011-05-21  Bruno Haible  <bruno@clisp.org>
36286         rpmatch: Move AC_LIBOBJ invocations to module description.
36287         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
36288         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
36289         here...
36290         * modules/rpmatch (configure.ac): ... to here.
36292 2011-05-21  Bruno Haible  <bruno@clisp.org>
36294         rmdir: Respect rules for use of AC_LIBOBJ.
36295         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
36296         * modules/rmdir (configure.ac): ... to here.
36298 2011-05-21  Bruno Haible  <bruno@clisp.org>
36300         renameat: Move AC_LIBOBJ invocations to module description.
36301         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
36302         here...
36303         * modules/renameat (configure.ac): ... to here.
36305 2011-05-21  Bruno Haible  <bruno@clisp.org>
36307         rename: Respect rules for use of AC_LIBOBJ.
36308         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
36309         here...
36310         * modules/rename (configure.ac): ... to here.
36312 2011-05-21  Bruno Haible  <bruno@clisp.org>
36314         remove: Move AC_LIBOBJ invocations to module description.
36315         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
36316         here...
36317         * modules/remove (configure.ac): ... to here.
36319 2011-05-21  Bruno Haible  <bruno@clisp.org>
36321         relocatable-lib: Move AC_LIBOBJ invocations to module description.
36322         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
36323         macro.
36324         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
36325         * modules/relocatable-lib (configure.ac): ... to here.
36326         * modules/relocatable-prog-wrapper (configure.ac): Invoke
36327         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
36329 2011-05-21  Bruno Haible  <bruno@clisp.org>
36331         relocatable-prog: Move AC_LIBOBJ invocations to module description.
36332         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
36333         here...
36334         * modules/relocatable-prog (configure.ac): ... to here.
36336 2011-05-21  Bruno Haible  <bruno@clisp.org>
36338         regex: Move AC_LIBOBJ invocations to module description.
36339         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
36340         invocations from here...
36341         * modules/regex (configure.ac): ... to here.
36343 2011-05-21  Bruno Haible  <bruno@clisp.org>
36345         realloc-*: Move AC_LIBOBJ invocations to module description.
36346         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
36347         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
36348         AC_LIBOBJ invocations from here...
36349         * modules/realloc-gnu (configure.ac): ... to here.
36350         * modules/realloc-posix (configure.ac): ... and here.
36352 2011-05-21  Bruno Haible  <bruno@clisp.org>
36354         readutmp: Move AC_LIBOBJ invocations to module description.
36355         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
36356         * modules/readutmp (configure.ac): ... to here.
36358 2011-05-21  Bruno Haible  <bruno@clisp.org>
36360         readlinkat: Move AC_LIBOBJ invocations to module description.
36361         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
36362         here...
36363         * modules/readlinkat (configure.ac): ... to here.
36365 2011-05-21  Bruno Haible  <bruno@clisp.org>
36367         readlink: Move AC_LIBOBJ invocations to module description.
36368         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
36369         gl_PREREQ_READLINK invocations from here...
36370         * modules/readlink (configure.ac): ... to here.
36372 2011-05-21  Bruno Haible  <bruno@clisp.org>
36374         readline: Move AC_LIBOBJ invocations to module description.
36375         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
36376         gl_PREREQ_READLINE invocations from here...
36377         * modules/readline (configure.ac): ... to here.
36379 2011-05-21  Bruno Haible  <bruno@clisp.org>
36381         read: Move AC_LIBOBJ invocations to module description.
36382         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
36383         * modules/read (configure.ac): ... to here.
36385 2011-05-21  Bruno Haible  <bruno@clisp.org>
36387         rawmemchr: Move AC_LIBOBJ invocations to module description.
36388         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
36389         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
36390         from here...
36391         * modules/rawmemchr (configure.ac): ... to here.
36393 2011-05-21  Bruno Haible  <bruno@clisp.org>
36395         random_r: Move AC_LIBOBJ invocations to module description.
36396         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
36397         gl_PREREQ_RANDOM_R invocations from here...
36398         * modules/random_r (configure.ac): ... to here.
36400 2011-05-21  Bruno Haible  <bruno@clisp.org>
36402         pwrite: Move AC_LIBOBJ invocations to module description.
36403         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
36404         * modules/pwrite (configure.ac): ... to here.
36406 2011-05-21  Bruno Haible  <bruno@clisp.org>
36408         putenv: Move AC_LIBOBJ invocations to module description.
36409         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
36410         * modules/putenv (configure.ac): ... to here.
36412 2011-05-21  Bruno Haible  <bruno@clisp.org>
36414         login_tty: Move AC_LIBOBJ invocations to module description.
36415         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
36416         * modules/login_tty (configure.ac): ... to here.
36418 2011-05-21  Bruno Haible  <bruno@clisp.org>
36420         openpty: Move AC_LIBOBJ invocations to module description.
36421         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
36422         * modules/openpty (configure.ac): ... to here.
36424 2011-05-21  Bruno Haible  <bruno@clisp.org>
36426         forkpty: Move AC_LIBOBJ invocations to module description.
36427         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
36428         * modules/forkpty (configure.ac): ... to here.
36430 2011-05-21  Bruno Haible  <bruno@clisp.org>
36432         ptsname: Move AC_LIBOBJ invocations to module description.
36433         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
36434         invocations from here...
36435         * modules/ptsname (configure.ac): ... to here.
36437 2011-05-21  Bruno Haible  <bruno@clisp.org>
36439         pread: Move AC_LIBOBJ invocations to module description.
36440         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
36441         * modules/pread (configure.ac): ... to here.
36443 2011-05-21  Bruno Haible  <bruno@clisp.org>
36445         posix_spawn*: Move AC_LIBOBJ invocations to module description.
36446         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
36447         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
36448         * modules/posix_spawn (configure.ac): ... to here.
36449         * modules/posix_spawnp (configure.ac): ... and here.
36451 2011-05-21  Bruno Haible  <bruno@clisp.org>
36453         popen: Move AC_LIBOBJ invocations to module description.
36454         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
36455         invocations from here...
36456         * modules/popen (configure.ac): ... to here.
36458 2011-05-21  Bruno Haible  <bruno@clisp.org>
36460         poll: Move AC_LIBOBJ invocations to module description.
36461         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
36462         invocations from here...
36463         * modules/poll (configure.ac): ... to here.
36465 2011-05-21  Bruno Haible  <bruno@clisp.org>
36467         pipe-posix: Move AC_LIBOBJ invocations to module description.
36468         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
36469         * modules/pipe-posix (configure.ac): ... to here.
36471 2011-05-21  Bruno Haible  <bruno@clisp.org>
36473         openat: Respect rules for use of AC_LIBOBJ.
36474         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36475         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36476         * modules/openat (configure.ac): ... to here.
36478 2011-05-21  Bruno Haible  <bruno@clisp.org>
36480         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36481         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36482         invocation from here...
36483         * modules/obstack-printf (configure.ac): ... to here.
36484         * modules/obstack-printf-posix (configure.ac): ... and here.
36486 2011-05-21  Bruno Haible  <bruno@clisp.org>
36488         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36489         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36490         from here...
36491         * modules/nl_langinfo (configure.ac): ... to here.
36493 2011-05-21  Bruno Haible  <bruno@clisp.org>
36495         nanosleep: Move AC_LIBOBJ invocations to module description.
36496         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36497         gl_PREREQ_NANOSLEEP invocations from here...
36498         * modules/nanosleep (configure.ac): ... to here.
36500 2011-05-21  Bruno Haible  <bruno@clisp.org>
36502         mountlist: Move AC_LIBOBJ invocations to module description.
36503         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36504         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36505         * modules/mountlist (configure.ac): ... to here.
36507 2011-05-21  Bruno Haible  <bruno@clisp.org>
36509         mktime: Respect rules for use of AC_LIBOBJ.
36510         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36511         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36512         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36513         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36514         * modules/mktime (configure.ac): ... to here.
36515         * modules/mktime-internal (configure.ac): ... and here.
36516         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36518 2011-05-21  Bruno Haible  <bruno@clisp.org>
36520         mkstemps: Move AC_LIBOBJ invocations to module description.
36521         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36522         here...
36523         * modules/mkstemps (configure.ac): ... to here.
36525 2011-05-21  Bruno Haible  <bruno@clisp.org>
36527         mkstemp: Move AC_LIBOBJ invocations to module description.
36528         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36529         gl_PREREQ_MKSTEMP invocations from here...
36530         * modules/mkstemp (configure.ac): ... to here.
36532 2011-05-21  Bruno Haible  <bruno@clisp.org>
36534         mkostemps: Move AC_LIBOBJ invocations to module description.
36535         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36536         here...
36537         * modules/mkostemps (configure.ac): ... to here.
36539 2011-05-21  Bruno Haible  <bruno@clisp.org>
36541         mkostemp: Move AC_LIBOBJ invocations to module description.
36542         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36543         gl_PREREQ_MKOSTEMP invocations from here...
36544         * modules/mkostemp (configure.ac): ... to here.
36546 2011-05-21  Bruno Haible  <bruno@clisp.org>
36548         mknod: Move AC_LIBOBJ invocations to module description.
36549         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36550         * modules/mknod (configure.ac): ... to here.
36552 2011-05-21  Bruno Haible  <bruno@clisp.org>
36554         mkfifoat: Move AC_LIBOBJ invocations to module description.
36555         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36556         here...
36557         * modules/mkfifoat (configure.ac): ... to here.
36559 2011-05-21  Bruno Haible  <bruno@clisp.org>
36561         mkfifo: Respect rules for use of AC_LIBOBJ.
36562         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36563         here...
36564         * modules/mkfifo (configure.ac): ... to here.
36566 2011-05-21  Bruno Haible  <bruno@clisp.org>
36568         mkdtemp: Move AC_LIBOBJ invocations to module description.
36569         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36570         invocations from here...
36571         * modules/mkdtemp (configure.ac): ... to here.
36573 2011-05-21  Bruno Haible  <bruno@clisp.org>
36575         mkdir: Move AC_LIBOBJ invocations to module description.
36576         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36577         * modules/mkdir (configure.ac): ... to here.
36579 2011-05-21  Bruno Haible  <bruno@clisp.org>
36581         memset: Move AC_LIBOBJ invocations to module description.
36582         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36583         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36584         here...
36585         * modules/memset (configure.ac): ... to here.
36587 2011-05-21  Bruno Haible  <bruno@clisp.org>
36589         memrchr: Move AC_LIBOBJ invocations to module description.
36590         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36591         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36592         here...
36593         * modules/memrchr (configure.ac): ... to here.
36595 2011-05-21  Bruno Haible  <bruno@clisp.org>
36597         mempcpy: Move AC_LIBOBJ invocations to module description.
36598         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36599         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36600         here...
36601         * modules/mempcpy (configure.ac): ... to here.
36603 2011-05-21  Bruno Haible  <bruno@clisp.org>
36605         memmove: Move AC_LIBOBJ invocations to module description.
36606         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36607         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36608         here...
36609         * modules/memmove (configure.ac): ... to here.
36611 2011-05-21  Bruno Haible  <bruno@clisp.org>
36613         memmem*: Move AC_LIBOBJ invocations to module description.
36614         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36615         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36616         here...
36617         (gl_FUNC_MEMMEM): ... and here...
36618         * modules/memmem-simple (configure.ac): ... to here.
36619         * modules/memmem (configure.ac): ... and here.
36621 2011-05-21  Bruno Haible  <bruno@clisp.org>
36623         memcpy: Move AC_LIBOBJ invocations to module description.
36624         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36625         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36626         here...
36627         * modules/memcpy (configure.ac): ... to here.
36629 2011-05-21  Bruno Haible  <bruno@clisp.org>
36631         memcmp: Simplify autoconf macro.
36632         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36633         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36634         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36636 2011-05-21  Bruno Haible  <bruno@clisp.org>
36638         memcmp: Move AC_LIBOBJ invocations to module description.
36639         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36640         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36641         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36642         * modules/memcmp (configure.ac): ... to here.
36643         (Depends-on): Update conditions.
36645 2011-05-21  Bruno Haible  <bruno@clisp.org>
36647         memchr: Respect rules for use of AC_LIBOBJ.
36648         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36649         invocations from here...
36650         * modules/memchr (configure.ac): ... to here.
36652 2011-05-21  Bruno Haible  <bruno@clisp.org>
36654         mbtowc: Move AC_LIBOBJ invocations to module description.
36655         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36656         invocations from here...
36657         * modules/mbtowc (configure.ac): ... to here.
36659 2011-05-21  Bruno Haible  <bruno@clisp.org>
36661         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36662         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36663         gl_PREREQ_MBSRTOWCS invocations from here...
36664         * modules/mbsrtowcs (configure.ac): ... to here.
36666 2011-05-21  Bruno Haible  <bruno@clisp.org>
36668         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36669         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36670         gl_PREREQ_MBSNRTOWCS invocations from here...
36671         * modules/mbsnrtowcs (configure.ac): ... to here.
36673 2011-05-21  Bruno Haible  <bruno@clisp.org>
36675         mbsinit: Move AC_LIBOBJ invocations to module description.
36676         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36677         invocations from here...
36678         * modules/mbsinit (configure.ac): ... to here.
36680 2011-05-21  Bruno Haible  <bruno@clisp.org>
36682         mbrlen: Move AC_LIBOBJ invocations to module description.
36683         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36684         invocations from here...
36685         * modules/mbrlen (configure.ac): ... to here.
36687 2011-05-21  Bruno Haible  <bruno@clisp.org>
36689         mbrtowc: Respect rules for use of AC_LIBOBJ.
36690         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36691         invocations from here...
36692         * modules/mbrtowc (configure.ac): ... to here.
36694 2011-05-21  Bruno Haible  <bruno@clisp.org>
36696         malloc-*: Move AC_LIBOBJ invocations to module description.
36697         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36698         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36699         AC_LIBOBJ invocations from here...
36700         * modules/malloc-gnu (configure.ac): ... to here.
36701         * modules/malloc-posix (configure.ac): ... and here.
36703 2011-05-21  Bruno Haible  <bruno@clisp.org>
36705         lstat, openat: Respect rules for use of AC_LIBOBJ.
36706         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36707         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36708         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36709         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36710         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36711         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36712         here.
36713         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36715 2011-05-21  Bruno Haible  <bruno@clisp.org>
36717         lseek: Move AC_LIBOBJ invocations to module description.
36718         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36719         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36720         * modules/lseek (configure.ac): ... to here.
36722 2011-05-21  Bruno Haible  <bruno@clisp.org>
36724         linkat: Move AC_LIBOBJ invocations to module description.
36725         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36726         here...
36727         * modules/linkat (configure.ac): ... to here.
36729 2011-05-21  Bruno Haible  <bruno@clisp.org>
36731         link: Respect rules for use of AC_LIBOBJ.
36732         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36733         * modules/link (configure.ac): ... to here.
36735 2011-05-21  Bruno Haible  <bruno@clisp.org>
36737         lchown: Move AC_LIBOBJ invocations to module description.
36738         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36739         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36740         * modules/lchown (configure.ac): ... to here.
36742 2011-05-21  Bruno Haible  <bruno@clisp.org>
36744         iswctype: Move AC_LIBOBJ invocations to module description.
36745         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36746         here...
36747         * modules/iswctype (configure.ac): ... to here.
36749 2011-05-21  Bruno Haible  <bruno@clisp.org>
36751         iswblank: Move AC_LIBOBJ invocations to module description.
36752         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36753         here...
36754         * modules/iswblank (configure.ac): ... to here.
36756 2011-05-21  Bruno Haible  <bruno@clisp.org>
36758         atanl: Move AC_LIBOBJ invocations to module description.
36759         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36760         * modules/atanl (configure.ac): ... to here.
36762 2011-05-21  Bruno Haible  <bruno@clisp.org>
36764         acosl: Move AC_LIBOBJ invocations to module description.
36765         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36766         * modules/acosl (configure.ac): ... to here.
36768 2011-05-21  Bruno Haible  <bruno@clisp.org>
36770         asinl: Respect rules for use of AC_LIBOBJ.
36771         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36772         * modules/asinl (configure.ac): ... to here.
36774 2011-05-21  Bruno Haible  <bruno@clisp.org>
36776         tanl: Move AC_LIBOBJ invocations to module description.
36777         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36778         * modules/tanl (configure.ac): ... to here.
36780 2011-05-21  Bruno Haible  <bruno@clisp.org>
36782         cosl: Move AC_LIBOBJ invocations to module description.
36783         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36784         * modules/cosl (configure.ac): ... to here.
36786 2011-05-21  Bruno Haible  <bruno@clisp.org>
36788         sinl: Move AC_LIBOBJ invocations to module description.
36789         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36790         * modules/sinl (configure.ac): ... to here.
36792 2011-05-21  Bruno Haible  <bruno@clisp.org>
36794         logl: Move AC_LIBOBJ invocations to module description.
36795         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36796         * modules/logl (configure.ac): ... to here.
36798 2011-05-21  Bruno Haible  <bruno@clisp.org>
36800         expl: Move AC_LIBOBJ invocations to module description.
36801         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36802         * modules/expl (configure.ac): ... to here.
36804 2011-05-21  Bruno Haible  <bruno@clisp.org>
36806         roundl: Move AC_LIBOBJ invocations to module description.
36807         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36808         * modules/roundl (configure.ac): ... to here.
36810 2011-05-21  Bruno Haible  <bruno@clisp.org>
36812         round: Move AC_LIBOBJ invocations to module description.
36813         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36814         * modules/round (configure.ac): ... to here.
36816 2011-05-21  Bruno Haible  <bruno@clisp.org>
36818         roundf: Move AC_LIBOBJ invocations to module description.
36819         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36820         * modules/roundf (configure.ac): ... to here.
36822 2011-05-21  Bruno Haible  <bruno@clisp.org>
36824         truncl: Move AC_LIBOBJ invocations to module description.
36825         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36826         * modules/truncl (configure.ac): ... to here.
36828 2011-05-21  Bruno Haible  <bruno@clisp.org>
36830         trunc: Move AC_LIBOBJ invocations to module description.
36831         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36832         * modules/trunc (configure.ac): ... to here.
36834 2011-05-21  Bruno Haible  <bruno@clisp.org>
36836         truncf: Move AC_LIBOBJ invocations to module description.
36837         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36838         * modules/truncf (configure.ac): ... to here.
36840 2011-05-21  Bruno Haible  <bruno@clisp.org>
36842         ceill: Move AC_LIBOBJ invocations to module description.
36843         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36844         * modules/ceill (configure.ac): ... to here.
36846 2011-05-21  Bruno Haible  <bruno@clisp.org>
36848         ceil: Move AC_LIBOBJ invocations to module description.
36849         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36850         * modules/ceil (configure.ac): ... to here.
36852 2011-05-21  Bruno Haible  <bruno@clisp.org>
36854         ceilf: Move AC_LIBOBJ invocations to module description.
36855         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36856         * modules/ceilf (configure.ac): ... to here.
36858 2011-05-21  Bruno Haible  <bruno@clisp.org>
36860         floorl: Respect rules for use of AC_LIBOBJ.
36861         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36862         * modules/floorl (configure.ac): ... to here.
36864 2011-05-21  Bruno Haible  <bruno@clisp.org>
36866         floor: Respect rules for use of AC_LIBOBJ.
36867         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36868         * modules/floor (configure.ac): ... to here.
36870 2011-05-21  Bruno Haible  <bruno@clisp.org>
36872         floorf: Move AC_LIBOBJ invocations to module description.
36873         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36874         * modules/floorf (configure.ac): ... to here.
36876 2011-05-20  Bruno Haible  <bruno@clisp.org>
36878         sqrtl: Respect rules for use of AC_LIBOBJ.
36879         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36880         * modules/sqrtl (configure.ac): ... to here.
36882 2011-05-20  Bruno Haible  <bruno@clisp.org>
36884         ldexpl: Respect rules for use of AC_LIBOBJ.
36885         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36886         * modules/ldexpl (configure.ac): ... to here.
36888 2011-05-20  Bruno Haible  <bruno@clisp.org>
36890         frexpl*: Respect rules for use of AC_LIBOBJ.
36891         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36892         invocation from here...
36893         * modules/frexpl (configure.ac): ... to here.
36894         * modules/frexpl-nolibm (configure.ac): ... and here.
36896 2011-05-20  Bruno Haible  <bruno@clisp.org>
36898         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36899         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36900         invocation from here...
36901         * modules/frexp (configure.ac): ... to here.
36902         * modules/frexp-nolibm (configure.ac): ... and here.
36904 2011-05-20  Bruno Haible  <bruno@clisp.org>
36906         isnan: Respect rules for use of AC_LIBOBJ.
36907         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36908         invocations here.
36909         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36910         REPLACE_ISNAN.
36911         * modules/isnand (configure.ac): Likewise.
36912         * modules/isnanl (configure.ac): Likewise.
36914 2011-05-20  Bruno Haible  <bruno@clisp.org>
36916         isnanl*: Respect rules for use of AC_LIBOBJ.
36917         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36918         invocation from here...
36919         * modules/isnanl (configure.ac): ... to here.
36920         * modules/isnanl-nolibm (configure.ac): ... and here.
36922 2011-05-20  Bruno Haible  <bruno@clisp.org>
36924         isnand*: Move AC_LIBOBJ invocations to module description.
36925         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36926         invocation from here...
36927         * modules/isnand (configure.ac): ... to here.
36928         * modules/isnand-nolibm (configure.ac): ... and here.
36930 2011-05-20  Bruno Haible  <bruno@clisp.org>
36932         isnanf*: Move AC_LIBOBJ invocations to module description.
36933         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36934         invocation from here...
36935         * modules/isnanf (configure.ac): ... to here.
36936         * modules/isnanf-nolibm (configure.ac): ... and here.
36938 2011-05-20  Bruno Haible  <bruno@clisp.org>
36940         isnan*: Separate the AC_LIBOBJ invocations.
36941         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36942         AC_LIBOBJ invocation.
36943         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36944         here.
36945         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36946         AC_LIBOBJ invocation.
36947         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36948         here.
36949         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36950         AC_LIBOBJ invocation.
36951         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36952         here.
36953         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36955 2011-05-08  Bruno Haible  <bruno@clisp.org>
36957         isinf: Move AC_LIBOBJ invocations to module description.
36958         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36959         * modules/isinf (configure.ac): ... to here.
36961 2011-05-08  Bruno Haible  <bruno@clisp.org>
36963         isfinite: Move AC_LIBOBJ invocations to module description.
36964         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36965         * modules/isfinite (configure.ac): ... to here.
36967 2011-05-08  Bruno Haible  <bruno@clisp.org>
36969         isblank: Move AC_LIBOBJ invocations to module description.
36970         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36971         here...
36972         * modules/isblank (configure.ac): ... to here.
36974 2011-05-08  Bruno Haible  <bruno@clisp.org>
36976         isapipe: Move AC_LIBOBJ invocations to module description.
36977         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36978         gl_PREREQ_ISAPIPE invocations from here...
36979         * modules/isapipe (configure.ac): ... to here.
36980         (Depends-on): Update condition.
36982 2011-05-08  Bruno Haible  <bruno@clisp.org>
36984         ioctl: Move AC_LIBOBJ invocations to module description.
36985         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36986         invocations from here...
36987         * modules/ioctl (configure.ac): ... to here.
36988         (Depends-on): Update condition.
36990 2011-05-08  Bruno Haible  <bruno@clisp.org>
36992         imaxdiv: Move AC_LIBOBJ invocations to module description.
36993         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36994         invocations from here...
36995         * modules/imaxdiv (configure.ac): ... to here.
36997 2011-05-08  Bruno Haible  <bruno@clisp.org>
36999         imaxabs: Move AC_LIBOBJ invocations to module description.
37000         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
37001         invocations from here...
37002         * modules/imaxabs (configure.ac): ... to here.
37004 2011-05-08  Bruno Haible  <bruno@clisp.org>
37006         getaddrinfo: Move AC_LIBOBJ invocations to module description.
37007         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
37008         AC_LIBOBJ invocations from here...
37009         * modules/getaddrinfo (configure.ac): ... to here.
37010         (Depends-on): Add conditions.
37012 2011-05-08  Bruno Haible  <bruno@clisp.org>
37014         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37015         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
37016         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37017         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
37018         (gl_PREREQ_INET_PTON): ... from here.
37019         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
37020         gl_PREREQ_INET_PTON here.
37021         (Depends-on): Update condition.
37023 2011-05-08  Bruno Haible  <bruno@clisp.org>
37025         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37026         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
37027         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37028         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
37029         (gl_PREREQ_INET_NTOP): ... from here.
37030         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
37031         gl_PREREQ_INET_NTOP here.
37032         (Depends-on): Update condition.
37034 2011-05-08  Bruno Haible  <bruno@clisp.org>
37036         iconv_open: Move AC_LIBOBJ invocations to module description.
37037         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
37038         AC_LIBOBJ invocations from here...
37039         * modules/iconv_open (configure.ac): ... to here.
37041 2011-05-08  Bruno Haible  <bruno@clisp.org>
37043         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
37044         If module 'iconv_open' is among the main modules and module
37045         'iconv_open-utf' is among the tests dependencies, then
37046         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
37047         return the special iconv_t values. Therefore iconv() and iconv_close()
37048         must support these special iconv_t values, already in lib, not only in
37049         tests.
37050         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
37051         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
37052         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
37053         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
37054         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
37055         (Depends-on): Add the dependencies of iconv_open-utf.
37056         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
37057         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
37058         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
37060 2011-05-08  Bruno Haible  <bruno@clisp.org>
37062         group-member: Move AC_LIBOBJ invocations to module description.
37063         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
37064         gl_PREREQ_GROUP_MEMBER invocations from here...
37065         * modules/group-member (configure.ac): ... to here.
37067 2011-05-08  Bruno Haible  <bruno@clisp.org>
37069         grantpt: Move AC_LIBOBJ invocations to module description.
37070         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
37071         invocations from here...
37072         * modules/grantpt (configure.ac): ... to here.
37074 2011-05-08  Bruno Haible  <bruno@clisp.org>
37076         glob: Move AC_LIBOBJ invocations to module description.
37077         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
37078         from here...
37079         * modules/glob (configure.ac): ... to here.
37081 2011-05-08  Bruno Haible  <bruno@clisp.org>
37083         getusershell: Move AC_LIBOBJ invocations to module description.
37084         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
37085         Move AC_LIBOBJ invocation from here...
37086         * modules/getusershell (configure.ac): ... to here.
37087         (Depends-on): Update condition.
37089 2011-05-08  Bruno Haible  <bruno@clisp.org>
37091         gettimeofday: Move AC_LIBOBJ invocations to module description.
37092         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37093         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
37094         gl_PREREQ_GETTIMEOFDAY invocations from here...
37095         * modules/gettimeofday (configure.ac): ... to here.
37097 2011-05-08  Bruno Haible  <bruno@clisp.org>
37099         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
37100         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
37101         just gl_FUNC_TZSET.
37102         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
37103         (gl_FUNC_TZSET_CLOBBER): Remove actions.
37104         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
37105         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
37107 2011-05-08  Bruno Haible  <bruno@clisp.org>
37109         getsubopt: Move AC_LIBOBJ invocations to module description.
37110         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
37111         gl_PREREQ_GETSUBOPT invocations from here...
37112         * modules/getsubopt (configure.ac): ... to here.
37114 2011-05-08  Bruno Haible  <bruno@clisp.org>
37116         getpass-gnu: Move AC_LIBOBJ invocations to module description.
37117         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
37118         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
37119         * modules/getpass-gnu (configure.ac): ... to here.
37121 2011-05-08  Bruno Haible  <bruno@clisp.org>
37123         getpass: Move AC_LIBOBJ invocations to module description.
37124         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
37125         gl_PREREQ_GETPASS invocations from here...
37126         * modules/getpass (configure.ac): ... to here.
37128 2011-05-08  Bruno Haible  <bruno@clisp.org>
37130         getpagesize: Move AC_LIBOBJ invocations to module description.
37131         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
37132         from here...
37133         * modules/getpagesize (configure.ac): ... to here.
37135 2011-05-08  Bruno Haible  <bruno@clisp.org>
37137         getopt: Move AC_LIBOBJ invocations to module description.
37138         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
37139         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
37140         invocations from here...
37141         * modules/getopt-gnu (configure.ac): ... to here.
37142         * modules/getopt-posix (configure.ac): ... and here.
37143         (Depends-on): Update condition.
37145 2011-05-08  Bruno Haible  <bruno@clisp.org>
37147         getopt, argp: Respect rules for use of AC_LIBOBJ.
37148         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
37149         (gl_REPLACE_GETOPT_ALWAYS): New macro.
37150         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
37151         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
37153 2011-05-08  Bruno Haible  <bruno@clisp.org>
37155         getlogin_r: Move AC_LIBOBJ invocations to module description.
37156         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
37157         gl_PREREQ_GETLOGIN_R invocations from here...
37158         * modules/getlogin_r (configure.ac): ... to here.
37160 2011-05-08  Bruno Haible  <bruno@clisp.org>
37162         getlogin: Move AC_LIBOBJ invocations to module description.
37163         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37164         here...
37165         * modules/getlogin (configure.ac): ... to here.
37167 2011-05-08  Bruno Haible  <bruno@clisp.org>
37169         getloadavg: Move AC_LIBOBJ invocations to module description.
37170         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
37171         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
37172         * modules/getloadavg (configure.ac): ... to here.
37174 2011-05-08  Bruno Haible  <bruno@clisp.org>
37176         gethrxtime: Move AC_LIBOBJ invocations to module description.
37177         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
37178         LIB_GETHRXTIME from here...
37179         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
37180         invocations from here...
37181         * modules/gethrxtime (configure.ac): ... to here.
37183 2011-05-08  Bruno Haible  <bruno@clisp.org>
37185         gethostname: Move AC_LIBOBJ invocations to module description.
37186         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
37187         gl_PREREQ_GETHOSTNAME invocations from here...
37188         * modules/gethostname (configure.ac): ... to here.
37190 2011-05-08  Bruno Haible  <bruno@clisp.org>
37192         getgroups: Move AC_LIBOBJ invocations to module description.
37193         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
37194         here...
37195         * modules/getgroups (configure.ac): ... to here.
37197 2011-05-08  Bruno Haible  <bruno@clisp.org>
37199         getdtablesize: Move AC_LIBOBJ invocations to module description.
37200         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
37201         invocation from here...
37202         * modules/getdtablesize (configure.ac): ... to here.
37204 2011-05-08  Bruno Haible  <bruno@clisp.org>
37206         getdomainname: Move AC_LIBOBJ invocations to module description.
37207         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
37208         gl_PREREQ_GETDOMAINNAME invocations from here...
37209         * modules/getdomainname (configure.ac): ... to here.
37211 2011-05-08  Bruno Haible  <bruno@clisp.org>
37213         getline: Move AC_LIBOBJ invocations to module description.
37214         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
37215         invocations from here...
37216         * modules/getline (configure.ac): ... to here.
37218 2011-05-08  Bruno Haible  <bruno@clisp.org>
37220         getline: Simplify.
37221         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
37222         It's already handled through the module dependency.
37224 2011-05-08  Bruno Haible  <bruno@clisp.org>
37226         getdelim: Move AC_LIBOBJ invocations to module description.
37227         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
37228         and gl_PREREQ_GETDELIM invocations from here...
37229         * modules/getdelim (configure.ac): ... to here.
37230         (Depends-on): Fix condition.
37232 2011-05-08  Bruno Haible  <bruno@clisp.org>
37234         getcwd: Move AC_LIBOBJ invocations to module description.
37235         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
37236         invocations from here...
37237         * modules/getcwd (configure.ac): ... to here.
37239 2011-05-08  Bruno Haible  <bruno@clisp.org>
37241         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
37242         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
37243         here...
37244         * modules/getcwd-lgpl (configure.ac): ... to here.
37246 2011-05-07  Bruno Haible  <bruno@clisp.org>
37248         crypto/gc: Move AC_LIBOBJ invocations to module description.
37249         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
37250         * modules/crypto/gc (configure.ac): ... to here.
37252 2011-05-07  Bruno Haible  <bruno@clisp.org>
37254         fwriting: Move AC_LIBOBJ invocations to module description.
37255         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
37256         here...
37257         * modules/fwriting (configure.ac): ... to here.
37259 2011-05-07  Bruno Haible  <bruno@clisp.org>
37261         fwritable: Move AC_LIBOBJ invocations to module description.
37262         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
37263         here...
37264         * modules/fwritable (configure.ac): ... to here.
37266 2011-05-07  Bruno Haible  <bruno@clisp.org>
37268         futimens: Move AC_LIBOBJ invocations to module description.
37269         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
37270         here...
37271         * modules/futimens (configure.ac): ... to here.
37273 2011-05-07  Bruno Haible  <bruno@clisp.org>
37275         ftruncate: Move AC_LIBOBJ invocations to module description.
37276         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
37277         gl_PREREQ_FTRUNCATE invocations from here...
37278         * modules/ftruncate (configure.ac): ... to here.
37280 2011-05-07  Bruno Haible  <bruno@clisp.org>
37282         fsync: Move AC_LIBOBJ invocations to module description.
37283         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
37284         invocations from here...
37285         * modules/fsync (configure.ac): ... to here.
37287 2011-05-07  Bruno Haible  <bruno@clisp.org>
37289         fsusage: Move AC_LIBOBJ invocations to module description.
37290         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
37291         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
37292         * modules/fsusage (configure.ac): ... to here.
37294 2011-05-07  Bruno Haible  <bruno@clisp.org>
37296         freopen: Move AC_LIBOBJ invocations to module description.
37297         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
37298         invocations from here...
37299         * modules/freopen (configure.ac): ... to here.
37301 2011-05-07  Bruno Haible  <bruno@clisp.org>
37303         free: Move AC_LIBOBJ invocations to module description.
37304         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
37305         invocations from here...
37306         * modules/free (configure.ac): ... to here.
37308 2011-05-07  Bruno Haible  <bruno@clisp.org>
37310         freadable: Move AC_LIBOBJ invocations to module description.
37311         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
37312         here...
37313         * modules/freadable (configure.ac): ... to here.
37315 2011-05-07  Bruno Haible  <bruno@clisp.org>
37317         fpurge: Move AC_LIBOBJ invocations to module description.
37318         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
37319         invocations from here...
37320         * modules/fpurge (configure.ac): ... to here.
37322 2011-05-07  Bruno Haible  <bruno@clisp.org>
37324         fpending: Move AC_LIBOBJ invocations to module description.
37325         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
37326         gl_FUNC_FPENDING.
37327         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
37328         invocations from here...
37329         * modules/fpending (configure.ac): ... to here.
37331 2011-05-07  Bruno Haible  <bruno@clisp.org>
37333         fopen: Move AC_LIBOBJ invocations to module description.
37334         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
37335         invocations from here...
37336         * modules/fopen (configure.ac): ... to here.
37338 2011-05-07  Bruno Haible  <bruno@clisp.org>
37340         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
37341         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
37342         gl_FUNC_FNMATCH_POSIX.
37343         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
37344         invocations from here...
37345         * modules/fnmatch (configure.ac): ... to here.
37346         * modules/fnmatch-gnu (configure.ac): ... and here.
37348 2011-05-07  Bruno Haible  <bruno@clisp.org>
37350         flock: Move AC_LIBOBJ invocations to module description.
37351         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
37352         invocations from here...
37353         * modules/flock (configure.ac): ... to here.
37355 2011-05-07  Bruno Haible  <bruno@clisp.org>
37357         fileblocks: Move AC_LIBOBJ invocations to module description.
37358         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
37359         gl_PREREQ_FILEBLOCKS invocations from here...
37360         * modules/fileblocks (configure.ac): ... to here.
37362 2011-05-06  Bruno Haible  <bruno@clisp.org>
37364         fflush: Move AC_LIBOBJ invocations to module description.
37365         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
37366         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
37367         invocations from here...
37368         * modules/fflush (configure.ac): ... to here.
37370 2011-05-06  Bruno Haible  <bruno@clisp.org>
37372         fdopendir: Move AC_LIBOBJ invocations to module description.
37373         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
37374         here...
37375         * modules/fdopendir (configure.ac): ... to here.
37376         (Depends-on): Improve conditions.
37378 2011-05-06  Bruno Haible  <bruno@clisp.org>
37380         _Exit: Move AC_LIBOBJ invocations to module description.
37381         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
37382         invocations from here...
37383         * modules/_Exit (configure.ac): ... to here.
37385 2011-05-21  Bruno Haible  <bruno@clisp.org>
37387         euidaccess: Respect rules for use of AC_LIBOBJ.
37388         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
37389         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
37390         from here...
37391         * modules/euidaccess (configure.ac): ... to here.
37393 2011-05-06  Bruno Haible  <bruno@clisp.org>
37395         error: Move AC_LIBOBJ invocations to module description.
37396         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
37397         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
37398         invocations from here...
37399         * modules/error (configure.ac): ... to here.
37401 2011-05-06  Bruno Haible  <bruno@clisp.org>
37403         duplocale: Move AC_LIBOBJ invocations to module description.
37404         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
37405         gl_PREREQ_DUPLOCALE invocations from here...
37406         * modules/duplocale (configure.ac): ... to here.
37408 2011-05-05  Bruno Haible  <bruno@clisp.org>
37410         dirfd: Move AC_LIBOBJ invocations to module description.
37411         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
37412         gl_FUNC_DIRFD.
37413         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
37414         here...
37415         * modules/dirfd (configure.ac): ... to here.
37416         (Depends-on): Fix condition.
37418 2011-05-05  Bruno Haible  <bruno@clisp.org>
37420         chown: Respect rules for use of AC_LIBOBJ.
37421         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
37422         * modules/chown (configure.ac): ... to here.
37424 2011-05-05  Bruno Haible  <bruno@clisp.org>
37426         chdir-long: Move AC_LIBOBJ invocations to module description.
37427         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
37428         gl_PREREQ_CHDIR_LONG invocations from here...
37429         * modules/chdir-long (configure.ac): ... to here.
37431 2011-05-05  Bruno Haible  <bruno@clisp.org>
37433         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
37434         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
37435         from here...
37436         * modules/canonicalize-lgpl (configure.ac): ... to here.
37438 2011-05-05  Bruno Haible  <bruno@clisp.org>
37440         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
37441         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
37442         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
37443         REPLACE_CALLOC.
37444         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
37445         * modules/calloc-gnu (configure.ac): Likewise.
37447 2011-05-05  Bruno Haible  <bruno@clisp.org>
37449         btowc: Move AC_LIBOBJ invocations to module description.
37450         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
37451         invocations from here...
37452         * modules/btowc (configure.ac): ... to here.
37454 2011-05-21  Bruno Haible  <bruno@clisp.org>
37456         atexit: Move AC_LIBOBJ invocations to module description.
37457         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
37458         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
37459         here...
37460         * modules/atexit (configure.ac): ... to here.
37462 2011-05-05  Bruno Haible  <bruno@clisp.org>
37464         atoll: Move AC_LIBOBJ invocations to module description.
37465         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
37466         invocations from here...
37467         * modules/atoll (configure.ac): ... to here.
37469 2011-05-05  Bruno Haible  <bruno@clisp.org>
37471         argz: Move AC_LIBOBJ invocations to module description.
37472         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37473         * modules/argz (configure.ac): ... to here.
37475 2011-05-05  Bruno Haible  <bruno@clisp.org>
37477         alphasort: Move AC_LIBOBJ invocations to module description.
37478         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37479         gl_PREREQ_ALPHASORT invocations from here...
37480         * modules/alphasort (configure.ac): ... to here.
37482 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37484         verify: new macro verify_expr; verify_true deprecated
37485         * NEWS: Mention this.
37486         * doc/verify.texi (Compile-time Assertions): Document this.
37487         * lib/verify.h (verify_true): Deprecate.
37488         (verify_expr): New macro.
37489         * tests/test-verify.c (function): Test verify_expr.
37491 2011-06-14  Jim Meyering  <meyering@redhat.com>
37493         init.sh: give more portable redirection-related advice in a comment
37494         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37495         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37496         for lots of discussion.  Stefano Lattarini suggested the solution
37497         of putting "9>&2" after the command.  Reported by Bruno Haible.
37499 2011-06-13  Bruno Haible  <bruno@clisp.org>
37501         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37502         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37503         'none'.
37505 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37507         ftoastr: use strtof only if HAVE_STRTOF
37508         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37509         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37510         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37511         * modules/ftoastr (configure.ac): Check for strtof.
37513 2011-06-13  Bruno Haible  <bruno@clisp.org>
37515         gnulib-tool: Addendum to 2011-06-08 commit.
37516         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37517         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37519 2011-06-13  Bruno Haible  <bruno@clisp.org>
37521         fseeko: Provide a non-inline replacement of fseek().
37522         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37523         * modules/fseeko (Depends-on): Add fseek.
37524         * modules/fseek (License): Change to LGPLv2+.
37526 2011-06-13  Bruno Haible  <bruno@clisp.org>
37528         ftello: Provide a non-inline replacement of ftell().
37529         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37530         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37531         not have ftello() (such as on mingw).
37532         * modules/ftello (Depends-on): Add ftell.
37533         * modules/ftell (License): Change to LGPLv2+.
37535 2011-05-07  Bruno Haible  <bruno@clisp.org>
37537         ftell: Move AC_LIBOBJ invocations to module description.
37538         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37539         * modules/ftell (configure.ac): ... to here.
37541 2011-05-07  Bruno Haible  <bruno@clisp.org>
37543         ftello: Respect rules for use of AC_LIBOBJ.
37544         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37545         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37546         here...
37547         * modules/ftello (configure.ac): ... to here.
37549 2011-05-07  Bruno Haible  <bruno@clisp.org>
37551         fseeko: Simplify.
37552         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37553         (gl_FUNC_FSEEKO): Inline it here.
37555 2011-05-07  Bruno Haible  <bruno@clisp.org>
37557         fseek: Move AC_LIBOBJ invocations to module description.
37558         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37559         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37560         * modules/fseek (configure.ac): ... to here.
37562 2011-05-07  Bruno Haible  <bruno@clisp.org>
37564         fseek: Respect rules for use of AC_LIBOBJ.
37565         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37566         here...
37567         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37569 2011-05-07  Bruno Haible  <bruno@clisp.org>
37571         fseeko: Respect rules for use of AC_LIBOBJ.
37572         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37573         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37574         here...
37575         * modules/fseeko (configure.ac): ... to here.
37577 2011-06-13  Bruno Haible  <bruno@clisp.org>
37579         gnulib-tool: Allow comments in the 'Depends-on' section.
37580         * doc/gnulib.texi (Module description): Mention comment syntax in the
37581         Depends-on section.
37582         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37584 2011-06-13  Bruno Haible  <bruno@clisp.org>
37586         file-set.h: guard __attibute__ use, now that it's not always defined
37587         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37588         versions that support it.  This fixes a coreutils build failure with
37589         the vendor cc on HP-UX 11.31.
37591 2011-06-12  Bruno Haible  <bruno@clisp.org>
37593         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37594         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37595         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37596         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37597         (acl, aclsort): New declarations.
37598         (aclv_nontrivial): New declaration.
37599         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37600         (file_has_acl): Read also the second kind of HP-UX ACLs.
37601         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37602         kind of HP-UX ACLs if the first kind fails.
37603         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37604         second kind of HP-UX ACLs.
37605         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37606         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37607         agree.
37608         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37609         hpuxjfs.
37610         Handle hpuxjfs.
37611         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37612         hpuxjfs.
37613         Handle hpuxjfs.
37614         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37615         (func_test_same_acls): Use both lsacl and getacl.
37616         Handle hpuxjfs.
37617         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37618         (func_test_same_acls): Use both lsacl and getacl.
37619         Handle hpuxjfs.
37621 2011-06-12  Bruno Haible  <bruno@clisp.org>
37623         acl: Complete the 2010-08-10 fix.
37624         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37625         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37626         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37627         explicitly.
37628         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37629         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37631 2011-06-12  Bruno Haible  <bruno@clisp.org>
37633         spawn-pipe tests: Comments.
37634         * tests/test-spawn-pipe-child.c (main): Update comment.
37635         Reported by James Youngman <jay@gnu.org>.
37637 2011-06-11  James Youngman  <jay@gnu.org>
37639         New module 'stat-size'.
37640         * modules/stat-size: New module.  Provides macros for accessing
37641         file size information in instances of struct stat.  Depends on the
37642         fileblocks module because it calls st_blocks.
37643         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37644         * doc/gnulib.texi: Include stat-size.texi.
37645         * doc/stat-size.texi: Documentation for this module.
37646         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37647         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37648         AC_STRUCT_ST_BLOCKS.
37650 2011-06-09  Bruno Haible  <bruno@clisp.org>
37652         thread: Support pthreads-win32.
37653         * lib/glthread/thread.h (gl_thread_self): Define differently on
37654         pthreads-win32.
37655         (gl_null_thread): New declaration.
37656         (gl_thread_self_pointer): New macro.
37657         * lib/glthread/thread.c (gl_null_thread): New constant.
37658         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37659         gl_thread_self.
37660         * tests/test-tls.c: Likewise.
37661         Suggested by Paul Eggert. Reported by Eric Blake.
37663 2011-06-09  Bruno Haible  <bruno@clisp.org>
37665         thread: Fix confusion between NULL and 0.
37666         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37667         Reported by Paul Eggert.
37669 2011-06-09  Bruno Haible  <bruno@clisp.org>
37671         spawn-pipe tests: Avoid test failure on HP-UX 11.
37672         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37673         is closed.
37675 2011-06-09  Bruno Haible  <bruno@clisp.org>
37677         acl tests: Fix compilation error on HP-UX 11.
37678         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37680 2011-06-09  Bruno Haible  <bruno@clisp.org>
37682         rmdir: Avoid test failure on HP-UX 10.20.
37683         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37684         EEXIST.
37686 2011-06-08  Eric Blake  <eblake@redhat.com>
37688         perror: fix test on mingw
37689         * modules/perror-tests (Depends-on): Add dup2.
37691         strerror_r-posix: fix on MacOS
37692         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37693         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37694         logic bug.
37695         * lib/strerror_r.c (strerror_r): Fix the bug.
37696         * lib/strerror.c (strerror): Likewise.
37697         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37698         problem.
37699         * doc/posix-functions/strerror.texi (strerror): Likewise.
37700         * doc/posix-functions/perror.texi (perror): Likewise.
37701         * tests/test-strerror.c (main): Enhance test.
37702         * tests/test-strerror_r.c (main): Likewise.
37704 2011-06-08  Bruno Haible  <bruno@clisp.org>
37706         gnulib-tool: Better isolation between different gnulib-tool invocations.
37707         * gnulib-tool: New option --witness-c-macro.
37708         (witness_c_macro): New variable.
37709         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37710         AM_CPPFLAGS define it as a C macro.
37711         (func_emit_tests_Makefile_am): Likewise.
37712         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37713         read it from there.
37714         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37715         m4_define, not AC_DEFUN.
37716         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37717         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37718         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37719         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37720         s|...|...|, to substitute the values of the GNULIB_* module indicator
37721         variables.
37722         * modules/dirent (Makefile.am): Likewise.
37723         * modules/fcntl-h (Makefile.am): Likewise.
37724         * modules/iconv-h (Makefile.am): Likewise.
37725         * modules/langinfo (Makefile.am): Likewise.
37726         * modules/locale (Makefile.am): Likewise.
37727         * modules/math (Makefile.am): Likewise.
37728         * modules/netdb (Makefile.am): Likewise.
37729         * modules/poll-h (Makefile.am): Likewise.
37730         * modules/pty (Makefile.am): Likewise.
37731         * modules/search (Makefile.am): Likewise.
37732         * modules/signal (Makefile.am): Likewise.
37733         * modules/spawn (Makefile.am): Likewise.
37734         * modules/stdio (Makefile.am): Likewise.
37735         * modules/stdlib (Makefile.am): Likewise.
37736         * modules/string (Makefile.am): Likewise.
37737         * modules/sys_ioctl (Makefile.am): Likewise.
37738         * modules/sys_select (Makefile.am): Likewise.
37739         * modules/sys_socket (Makefile.am): Likewise.
37740         * modules/sys_stat (Makefile.am): Likewise.
37741         * modules/sys_times (Makefile.am): Likewise.
37742         * modules/sys_utsname (Makefile.am): Likewise.
37743         * modules/sys_wait (Makefile.am): Likewise.
37744         * modules/termios (Makefile.am): Likewise.
37745         * modules/time (Makefile.am): Likewise.
37746         * modules/unistd (Makefile.am): Likewise.
37747         * modules/wchar (Makefile.am): Likewise.
37749 2011-06-08  Eric Blake  <eblake@redhat.com>
37751         strerror: simplify replacement
37752         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37753         * modules/strerror (configure.ac): No prereqs needed here...
37754         * modules/strerror-override (configure.ac): ...but this needs it.
37755         (Files): Add file for needed prereq macro.
37757 2011-06-08  Bruno Haible  <bruno@clisp.org>
37759         strerror_r-posix: Tweaks.
37760         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37761         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37762         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37763         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37764         (gl_FUNC_STRERROR_R): ... to here.
37765         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37767 2011-06-07  Eric Blake  <eblake@redhat.com>
37769         perror: document fixed bugs
37770         * doc/posix-functions/perror.texi (perror): Document recent
37771         patches.
37773 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37775         stat-time: get_stat_birthtime failure is better-defined
37776         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37777         return a timestamp whose tv_sec and tv_nsec values are both -1.
37778         Previously, the spec said only that the tv_nsec value was negative.
37779         This upward-compatible change simplifies GNU tar a bit.
37781 2011-06-07  Eric Blake  <eblake@redhat.com>
37783         strerror_r-posix: work around cygwin 1.7.9
37784         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37785         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37786         bug without replacing strerror_r.
37787         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37788         strerror_r is buggy, but without requiring strerror_r compilation.
37789         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37791         test-perror: relax test to ignore cygwin bug
37792         * tests/test-perror2.c (main): Relax test on requiring detection
37793         of stream errors, and use unbuffered stream.
37794         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37795         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37796         * doc/posix-functions/fputc.texi (fputc): Likewise.
37797         * doc/posix-functions/fputs.texi (fputs): Likewise.
37798         * doc/posix-functions/fputws.texi (fputws): Likewise.
37799         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37800         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37801         * doc/posix-functions/getopt.texi (getopt): Likewise.
37802         * doc/posix-functions/perror.texi (perror): Likewise.
37803         * doc/posix-functions/printf.texi (printf): Likewise.
37804         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37805         * doc/posix-functions/psignal.texi (psignal): Likewise.
37806         * doc/posix-functions/putc.texi (putc): Likewise.
37807         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37808         Likewise.
37809         * doc/posix-functions/putchar.texi (putchar): Likewise.
37810         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37811         Likewise.
37812         * doc/posix-functions/puts.texi (puts): Likewise.
37813         * doc/posix-functions/putwc.texi (putwc): Likewise.
37814         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37815         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37816         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37817         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37818         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37819         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37820         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37821         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37823 2011-05-22  Bruno Haible  <bruno@clisp.org>
37825         strerror: Move AC_LIBOBJ invocations to module description.
37826         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37827         gl_PREREQ_STRERROR invocations from here...
37828         * modules/strerror (configure.ac): ... to here.
37830 2011-05-21  Bruno Haible  <bruno@clisp.org>
37832         perror: Use common idiom.
37833         * modules/perror (configure.ac): Reorder statements.
37835 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37837         tests: fix usage message in 'mktempd_'
37838         * tests/init.sh (mktempd_): In the usage message, use literal
37839         'mktempd_', not '$ME' (which is even undefined), as the name of
37840         the subroutine.
37842 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37844         tests init: new function 'fatal_', for hard errors
37845         Before this patch, the only way offered by tests/init.sh to
37846         properly signal a hard error was the `framework_failure_'
37847         function.  But the error message issued by that function,
37848         as its name would suggest, refers to a set-up failure in the
37849         testsuite, while hard errors can obviously also be due to
37850         other reasons.  The best way to fix this inconsistency is to
37851         introduce a new function with a more general error message.
37852         * tests/init.sh (fatal_): New function.
37854 2011-06-06  Eric Blake  <eblake@redhat.com>
37856         canonicalize-lgpl: use common idiom
37857         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37858         over newer POSIX -Rf.
37859         Reported by Bruno Haible.
37861         canonicalize-lgpl: work around AIX realpath bug
37862         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37863         * doc/posix-functions/realpath.texi (realpath): Document it.
37864         Reported by Bruno Haible.
37866         strerror: work around FreeBSD bug
37867         * lib/strerror.c (strerror): Special case 0.
37868         Reported by Bruno Haible.
37870         strerror-override: avoid bloating errno module
37871         * modules/errno (Files, configure.ac): Move replacement strings...
37872         * modules/strerror-override: ...to new module.
37873         * modules/strerror (Depends-on): Add strerror-override.
37874         * modules/strerror_r-posix (Depends-on): Likewise.
37875         * MODULES.html.sh: Document new module.
37876         Reported by Bruno Haible.
37878 2011-06-06  Bruno Haible  <bruno@clisp.org>
37880         spawn-pipe tests: Rename program.
37881         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37882         * tests/test-spawn-pipe-child.c: Update comment.
37883         * tests/test-spawn-pipe.sh: Update.
37884         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37886         spawn-pipe tests: Link the child program only against libc.
37887         * tests/test-spawn-pipe-child.c: New file, extracted from
37888         tests/test-spawn-pipe.c.
37889         (main): Expect only one argument.
37890         (is_open): New function, copied from tests/test-pipe.c.
37891         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37892         (child_main): Remove function.
37893         (test_pipe): Pass only one argument to the child program.
37894         (main): Remove child process code. Expect the child program's name as
37895         first argument.
37896         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37897         argument.
37898         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37899         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37900         test-spawn-pipe-child against no libraries.
37902 2011-06-06  Bruno Haible  <bruno@clisp.org>
37904         careadlinkat: Avoid mismatch between ssize_t and int.
37905         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37906         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37908 2011-06-06  Jim Meyering  <meyering@redhat.com>
37910         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37911         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37912         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37914 2011-06-05  Bruno Haible  <bruno@clisp.org>
37916         ansi-c++-opt: Interoperability with libtool.
37917         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37918         set the variable to "no", not to ":".
37919         * NEWS: Mention the change.
37921 2011-06-05  Bruno Haible  <bruno@clisp.org>
37923         acl: Fix test failure on AIX 7.
37924         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37925         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37927 2011-06-05  Bruno Haible  <bruno@clisp.org>
37929         pipe-filter-ii: Fix test failure on AIX and IRIX.
37930         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37931         with EAGAIN, retry with a smaller buffer size.
37933 2011-06-05  Bruno Haible  <bruno@clisp.org>
37935         localename: Fix link dependencies.
37936         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37937         * modules/localename-tests (Makefile.am): Link test-localename with
37938         $(LIBTHREAD).
37940 2011-06-05  Bruno Haible  <bruno@clisp.org>
37942         error: Avoid gcc warning.
37943         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37945 2011-06-05  Bruno Haible  <bruno@clisp.org>
37947         unsetenv: Avoid gcc warning.
37948         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37950 2011-06-05  Bruno Haible  <bruno@clisp.org>
37952         setenv: Avoid gcc warning.
37953         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37955 2011-06-05  Bruno Haible  <bruno@clisp.org>
37957         sys_select: Ensure memset is declared also on AIX 7.
37958         * lib/sys_select.in.h: Include <string.h> also on AIX.
37959         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37960         self-contained also on AIX 7.1.
37962 2011-06-04  Jim Meyering  <meyering@redhat.com>
37964         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37965         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37966         function name, "error".
37967         (_gl_translatable_diag_func_re): New configurable variable.
37969 2011-06-04  Bruno Haible  <bruno@clisp.org>
37971         getopt: Avoid gcc warning.
37972         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37974 2011-06-04  Bruno Haible  <bruno@clisp.org>
37976         strerror_r: Fix comments.
37977         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37978         commit.
37980 2011-06-04  Bruno Haible  <bruno@clisp.org>
37982         perror: Fix compilation error.
37983         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37984         Undefine fprintf, not sprintf.
37985         * modules/perror (Depends-on): Remove intprops, verify.
37987 2011-06-04  Bruno Haible  <bruno@clisp.org>
37989         setlocale: Enable replacement on Cygwin 1.5.
37990         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37991         Cygwin 1.5.x.
37992         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37993         LC_CTYPE category also exists on Cygwin 1.5.x.
37995 2011-06-04  Bruno Haible  <bruno@clisp.org>
37997         strerror-override: Don't disable symbol renamings.
37998         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37999         * lib/strerror-override.c: Include config.h.
38000         (strerror_override): Don't undefine.
38002 2011-06-03  Bruno Haible  <bruno@clisp.org>
38004         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
38005         * lib/localename.h: Update copyright header.
38006         * lib/localename.c: Likewise.
38007         * lib/relocatable.h: Likewise.
38008         * lib/relocatable.c: Likewise.
38010 2011-06-02  Bruno Haible  <bruno@clisp.org>
38012         doc: Fix a module name.
38013         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
38015 2011-06-02  Bruno Haible  <bruno@clisp.org>
38017         pipe2: Remove dependency on 'nonblocking' module.
38018         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
38019         O_NONBLOCK is defined by gnulib.
38020         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
38021         is zero.
38022         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
38023         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
38024         defined by gnulib.
38025         (get_nonblocking_flag): New function.
38026         (main): Test O_NONBLOCK flag only if it is nonzero.
38027         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
38029 2011-06-03  Jim Meyering  <meyering@redhat.com>
38031         maint: three new prohibit-header-without-use rules
38032         Prohibit use of cloexec.h, posixver.h, same.h without use.
38033         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
38034         (sc_prohibit_posixver_without_use): Likewise.
38035         (sc_prohibit_same_without_use): Likewise.
38037 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
38039         allocator: 'die' routine is now given requested size
38040         * lib/allocator.h (struct allocator.die): New size arg.
38041         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
38042         If the actual problem is an ssize_t limitation, not a size_t or
38043         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
38045 2011-06-01  Eric Blake  <eblake@redhat.com>
38047         strerror: drop strerror_r dependency
38048         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
38049         * lib/strerror-override.c (strerror_override): ...to new file.
38050         * lib/strerror-override.h: Add prototype.
38051         * lib/strerror-impl.h: Delete.
38052         * lib/strerror.c (strerror): New implementation.
38053         * modules/errno (Files): Add new files.
38054         (configure.ac): Compile new file as appropriate.
38055         * modules/strerror (Files): Drop unused file.
38056         (Depends-on): Drop strerror_r-posix.
38057         * MODULES.html.sh: Document strerror_r-posix.
38058         Requested by Sam Steingold.
38060         perror: call strerror_r directly
38061         * modules/perror (Files): Drop strerror-impl.h.
38062         * lib/perror.c (perror): Use our own stack buffer, rather than
38063         calling a wrapper that uses static storage.
38064         * doc/posix-functions/perror.texi (perror): Document a limitation
38065         of our replacement.
38067         strerror_r: fix includes for FreeBSD
38068         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
38069         since we use abort on some platforms.
38070         Reported by Matthias Bolte.
38072 2011-05-31  Bruno Haible  <bruno@clisp.org>
38074         Fix link errors in tests: openat-die uses gettext-h.
38075         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
38076         against $(LIBINTL).
38077         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
38078         against $(LIBINTL).
38079         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
38080         $(LIBINTL).
38081         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
38082         against $(LIBINTL).
38083         * modules/linkat-tests (Makefile.am): Link test-linkat against
38084         $(LIBINTL).
38085         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
38086         $(LIBINTL).
38087         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
38088         against $(LIBINTL).
38089         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
38090         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
38091         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
38092         $(LIBINTL).
38093         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
38094         $(LIBINTL).
38095         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
38096         $(LIBINTL).
38097         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38099 2011-05-31  Bruno Haible  <bruno@clisp.org>
38101         Fix link errors in tests: wait-process uses gettext-h.
38102         * modules/nonblocking-pipe-tests (Makefile.am): Set
38103         test_nonblocking_pipe_main_LDADD.
38104         * modules/nonblocking-socket-tests (Makefile.am): Link
38105         test-nonblocking-socket-main against $(LIBINTL).
38106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38108 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38110         assert-h: work around 'verify' incompatibility
38111         * lib/verify.h: Use @...@ directives, not ifdef.
38112         * modules/assert-h (assert.h): Implement the directives.
38113         (assert.h): Substitute the symbol-prefix more consistently.
38115 2011-05-29  Jim Meyering  <meyering@redhat.com>
38117         trim: remove three superfluous assignments
38118         * lib/trim.c (trim2): Remove three superfluous assignments
38119         and correct brace positioning.
38121 2011-05-29  Bruno Haible  <bruno@clisp.org>
38123         wctype-h: Avoid namespace pollution on Solaris 2.6.
38124         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
38125         identifiers.
38126         * doc/posix-headers/wctype.texi: Mention the problem.
38127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38129 2011-05-28  Jim Meyering  <meyering@redhat.com>
38131         parse-datetime.y: accommodate -Wstrict-overflow
38132         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
38133         placate -Wstrict-overflow.
38135         trim: avoid a warning from -O2 -Wstrict-overflow
38136         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
38138 2011-05-29  Bruno Haible  <bruno@clisp.org>
38140         gnulib-tool: Fix bug in yesterday's commit.
38141         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
38142         twice.
38144 2011-05-29  Bruno Haible  <bruno@clisp.org>
38146         Allow multiple gnulib generated include files to be combined.
38147         * gnulib-tool (func_compute_include_guard_prefix): New function.
38148         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
38149         ${gl_include_guard_prefix} references.
38150         (func_import, func_create_testdir): Invoke
38151         func_compute_include_guard_prefix.
38152         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
38153         * lib/ctype.in.h: Likewise.
38154         * lib/dirent.in.h: Likewise.
38155         * lib/errno.in.h: Likewise.
38156         * lib/fcntl.in.h: Likewise.
38157         * lib/float.in.h: Likewise.
38158         * lib/getopt.in.h: Likewise.
38159         * lib/iconv.in.h: Likewise.
38160         * lib/langinfo.in.h: Likewise.
38161         * lib/locale.in.h: Likewise.
38162         * lib/math.in.h: Likewise.
38163         * lib/netdb.in.h: Likewise.
38164         * lib/netinet_in.in.h: Likewise.
38165         * lib/poll.in.h: Likewise.
38166         * lib/pthread.in.h: Likewise.
38167         * lib/pty.in.h: Likewise.
38168         * lib/sched.in.h: Likewise.
38169         * lib/se-selinux.in.h: Likewise.
38170         * lib/search.in.h: Likewise.
38171         * lib/signal.in.h: Likewise.
38172         * lib/spawn.in.h: Likewise.
38173         * lib/stdarg.in.h: Likewise.
38174         * lib/stddef.in.h: Likewise.
38175         * lib/stdint.in.h: Likewise.
38176         * lib/stdio.in.h: Likewise.
38177         * lib/stdlib.in.h: Likewise.
38178         * lib/string.in.h: Likewise.
38179         * lib/strings.in.h: Likewise.
38180         * lib/sys_file.in.h: Likewise.
38181         * lib/sys_ioctl.in.h: Likewise.
38182         * lib/sys_select.in.h: Likewise.
38183         * lib/sys_socket.in.h: Likewise.
38184         * lib/sys_stat.in.h: Likewise.
38185         * lib/sys_time.in.h: Likewise.
38186         * lib/sys_times.in.h: Likewise.
38187         * lib/sys_uio.in.h: Likewise.
38188         * lib/sys_utsname.in.h: Likewise.
38189         * lib/sys_wait.in.h: Likewise.
38190         * lib/sysexits.in.h: Likewise.
38191         * lib/termios.in.h: Likewise.
38192         * lib/time.in.h: Likewise.
38193         * lib/unistd.in.h: Likewise.
38194         * lib/wchar.in.h: Likewise.
38195         * lib/wctype.in.h: Likewise.
38196         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
38197         * modules/ctype (Makefile.am): Likewise.
38198         * modules/dirent (Makefile.am): Likewise.
38199         * modules/errno (Makefile.am): Likewise.
38200         * modules/fcntl-h (Makefile.am): Likewise.
38201         * modules/float (Makefile.am): Likewise.
38202         * modules/getopt-posix (Makefile.am): Likewise.
38203         * modules/iconv-h (Makefile.am): Likewise.
38204         * modules/langinfo (Makefile.am): Likewise.
38205         * modules/locale (Makefile.am): Likewise.
38206         * modules/math (Makefile.am): Likewise.
38207         * modules/netdb (Makefile.am): Likewise.
38208         * modules/netinet_in (Makefile.am): Likewise.
38209         * modules/poll-h (Makefile.am): Likewise.
38210         * modules/pthread (Makefile.am): Likewise.
38211         * modules/pty (Makefile.am): Likewise.
38212         * modules/sched (Makefile.am): Likewise.
38213         * modules/search (Makefile.am): Likewise.
38214         * modules/selinux-h (Makefile.am): Likewise.
38215         * modules/signal (Makefile.am): Likewise.
38216         * modules/spawn (Makefile.am): Likewise.
38217         * modules/stdarg (Makefile.am): Likewise.
38218         * modules/stddef (Makefile.am): Likewise.
38219         * modules/stdint (Makefile.am): Likewise.
38220         * modules/stdio (Makefile.am): Likewise.
38221         * modules/stdlib (Makefile.am): Likewise.
38222         * modules/string (Makefile.am): Likewise.
38223         * modules/strings (Makefile.am): Likewise.
38224         * modules/sys_file (Makefile.am): Likewise.
38225         * modules/sys_ioctl (Makefile.am): Likewise.
38226         * modules/sys_select (Makefile.am): Likewise.
38227         * modules/sys_socket (Makefile.am): Likewise.
38228         * modules/sys_stat (Makefile.am): Likewise.
38229         * modules/sys_time (Makefile.am): Likewise.
38230         * modules/sys_times (Makefile.am): Likewise.
38231         * modules/sys_uio (Makefile.am): Likewise.
38232         * modules/sys_utsname (Makefile.am): Likewise.
38233         * modules/sys_wait (Makefile.am): Likewise.
38234         * modules/sysexits (Makefile.am): Likewise.
38235         * modules/termios (Makefile.am): Likewise.
38236         * modules/time (Makefile.am): Likewise.
38237         * modules/unistd (Makefile.am): Likewise.
38238         * modules/wchar (Makefile.am): Likewise.
38239         * modules/wctype-h (Makefile.am): Likewise.
38240         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
38242 2011-05-29  Bruno Haible  <bruno@clisp.org>
38244         assert-h: Allow multiple gnulib generated replacements to coexist.
38245         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
38247 2011-05-29  Bruno Haible  <bruno@clisp.org>
38249         argp: Allow coexistence with strerror_r-posix module.
38250         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
38251         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
38252         by gnulib's <string.h> replacement), assume it has the POSIX signature,
38253         not the glibc signature.
38255 2011-05-28  Bruno Haible  <bruno@clisp.org>
38257         gnulib-tool: Alternative structure of testdirs, similar to --import.
38258         * gnulib-tool: New option --single-configure.
38259         (func_usage): Document it.
38260         (single_configure): New variable.
38261         (func_modules_transitive_closure_separately,
38262         func_modules_transitive_closure_separately,
38263         func_determine_use_libtests, func_modules_add_dummy_separately,
38264         func_modules_to_filelist_separately): New functions, extracted from
38265         func_import.
38266         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
38267         (func_import): Use the new functions.
38268         (func_create_testdir): Set final_modules. Handle $single_configure =
38269         true case.
38271 2011-05-28  Bruno Haible  <bruno@clisp.org>
38273         getloadavg: Remove an unreliable safety check.
38274         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
38275         getloadavg.c is in place.
38276         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
38277         Reported by Sam Steingold <sds@gnu.org>.
38279 2011-05-28  Bruno Haible  <bruno@clisp.org>
38281         doc: Cleanup yet another file produced by texinfo.tex.
38282         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
38284 2011-05-28  Bruno Haible  <bruno@clisp.org>
38286         Finish the conditional dependencies mechanism.
38287         * gnulib-tool: New option --no-conditional-dependencies.
38288         (func_usage): Document it. Don't mark --conditional-dependencies as
38289         experimental.
38290         (cond_dependencies): The possible values can now be true, false, empty.
38291         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
38292         (func_import): Store setting in gnulib-cache.m4 and read it from there.
38293         * doc/gnulib-tool.texi (Conditional dependencies): New section.
38295 2011-05-28  Bruno Haible  <bruno@clisp.org>
38297         doc: Use a recent texinfo.tex.
38298         * doc/Makefile (tex_opts): New variable.
38299         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
38301 2011-05-28  Jim Meyering  <meyering@redhat.com>
38303         intprops.h: adjust comment to match code change
38304         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
38305         only once, it *may* have side effects.  Also fix an unrelated typo.
38306         (_GL_INT_SIGNED): Likewise.
38308 2011-05-26  Simon Josefsson  <simon@josefsson.org>
38310         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
38312 2011-05-26  Bruno Haible  <bruno@clisp.org>
38314         mbsrchr: Avoid collision with system function on Interix.
38315         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
38316         Reported by Markus Duft <mduft@gentoo.org>.
38318 2011-05-15  James Youngman  <jay@gnu.org>
38320         getopt: for ambiguous options, enumerate the possibilities.
38321         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
38322         the ambiguous options when an ambiguous prefix is given. This was
38323         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
38324         glibc change was
38325         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
38327 2011-05-25  Eric Blake  <eblake@redhat.com>
38329         getcwd: work around mingw bug
38330         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
38331         * doc/posix-functions/getcwd.texi (getcwd): Document it.
38332         Reported by Matthias Bolte.
38334 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
38336         test-intprops: disable -Wtype-limits diagnostics
38337         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
38338         diagnostics.  Otherwise, the integer overflow macros generate many
38339         diagnostics.  Reported by Jim Meyering in
38340         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38342         intprops: shorten, to pacify gcc -Woverlength-strings
38343         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
38344         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
38345         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
38346         likely to run afoul of C compiler limits for string constant lengths.
38347         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38349 2011-05-24  Eric Blake  <eblake@redhat.com>
38351         docs: document recently fixed glibc printf bug
38352         * doc/posix-functions/fprintf.texi (fprintf): Document it.
38353         * doc/posix-functions/printf.texi (printf): Likewise.
38354         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38355         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38357         closein-tests: convert to init.sh
38358         * modules/closein-tests (Files): Add init.sh
38359         * tests/test-closein.sh Use it.
38361         yesno-tests: convert to init.sh
38362         * modules/yesno-tests (Files): Add init.sh.
38363         * tests/test-yesno.sh: Use it.
38365         atexit-tests: ensure reliable exit status
38366         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
38367         Reported by Bruno Haible.
38369 2011-05-24  Bruno Haible  <bruno@clisp.org>
38371         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
38372         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
38373         gl_PREREQ_STRERROR_R invocations from here...
38374         * modules/strerror_r-posix (configure.ac): ... to here.
38376 2011-05-24  Eric Blake  <eblake@redhat.com>
38378         strerror_r: fix missing header
38379         * lib/strerror_r.c: Avoid compiler warning about snprintf.
38381         strerror_r: fix AIX test failures
38382         * lib/strerror_r.c (strerror_r): Convert silent truncation to
38383         ERANGE failure.
38385         strerror_r: fix Solaris test failures
38386         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
38387         failures.
38388         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38390         strerror_r: enforce POSIX recommendations
38391         * lib/strerror_r.c (safe_copy): New helper method.
38392         (strerror_r): Guarantee a non-empty string.
38393         * tests/test-strerror_r.c (main): Enhance tests to incorporate
38394         recent POSIX rulings and to match our strerror guarantees.
38395         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38397 2011-05-24  Jim Meyering  <meyering@redhat.com>
38399         test-perror2.c: avoid warning about unused variable
38400         * tests/test-perror2.c (main): Remove declaration of unused "fp".
38402 2011-05-24  Eric Blake  <eblake@redhat.com>
38404         perror: avoid spurious test failure on HP-UX
38405         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
38407         tests: fix logic bug in init.sh
38408         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
38409         shell.
38411 2011-05-24  Jim Meyering  <meyering@redhat.com>
38413         utimensat: do not reference an out-of-scope buffer
38414         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
38415         declared in an inner scope, yet "times" would be dereferenced outside
38416         the scope in which "ts" was valid.
38417         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
38418         of ts[2] "out/up", so that the use of aliased "times" (via
38419         "times = ts;") does not end up referencing an out-of-scope "ts"
38421         opendir-safer.c: don't clobber errno; don't close negative FD
38422         * lib/opendir-safer.c (opendir_safer):
38423         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
38424         file descriptor, and more importantly, don't clobber the
38425         offending errno value with EINVAL.  Before, upon failure
38426         of dup_safer, we would pass the negative file descriptor to
38427         fdopendir, which would clobber errno.
38429 2011-05-23  Bruno Haible  <bruno@clisp.org>
38431         idcache: Fix module description.
38432         * modules/idcache (Include): Set to "idcache.h".
38434 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38436         gnulib-tool: fix portability problem with MacOS sed
38437         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
38438         before the "}".  Problem reported by Leo in
38439         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
38440         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
38441         sed_extract_condition1, sed_extract_condition2.
38443 2011-05-23  Bruno Haible  <bruno@clisp.org>
38445         hash: Simplify autoconf macro.
38446         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
38448 2011-05-23  Bruno Haible  <bruno@clisp.org>
38450         getugroups: Fix module description.
38451         * modules/getugroups (Include): Set to "getugroups.h".
38453 2011-05-23  Bruno Haible  <bruno@clisp.org>
38455         linkat: Simplify autoconf macro.
38456         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
38458 2011-05-23  Bruno Haible  <bruno@clisp.org>
38459             Eric Blake  <eblake@redhat.com>
38461         linkat, renameat: Update dependencies.
38462         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
38463         * modules/linkat (Depends-on): Likewise. Remove also readlink,
38464         symlinkat.
38466 2011-05-23  Jim Meyering  <meyering@redhat.com>
38468         maint.mk: more tight_scope improvements
38469         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
38470         (_gl_TS_headers): Define only in if-0'd block.
38471         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38472         sometimes we must *not* use it.  Adjust uses accordingly.
38473         (sc_tight_scope): Use much simpler grep-based test to determine
38474         whether we skip this rule.
38476         maint.mk: generalize/improve the tight-scope rule
38477         * top/maint.mk: Emit a warning when the test is skipped.
38478         (_gl_TS_dir): Add $(srcdir)/ prefix.
38479         (_gl_TS_function_match): Simplify, rather than trying
38480         to enumerate common types.  Otherwise, it would fail to match an
38481         "extern unsigned char const *" declaration in idutils.
38482         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38483         a way to support use of that type of macro.
38484         (_gl_TS_var_match): Simplify regexp.
38485         (_gl_TS_obj_files): New configurable variable.
38486         (_gl_TS_headers): Likewise.
38488 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38490         verify: fix bug when gnulib <assert.h> is also included
38491         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38492         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38493         Perhaps there's a better way, but this fixes the immediate problem.
38494         Problem reported by Bruno Haible in
38495         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38497 2011-05-22  Bruno Haible  <bruno@clisp.org>
38499         xgetcwd: Simplify autoconf macro.
38500         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38502 2011-05-22  Bruno Haible  <bruno@clisp.org>
38504         New module 'mktime-internal'.
38505         * modules/mktime-internal: New file.
38506         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38507         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38508         mktime_internal as a C macro if libc has __mktime_internal.
38509         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38510         conditions.
38511         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38513 2011-05-22  Bruno Haible  <bruno@clisp.org>
38515         timegm: Correct mktime replacement statements.
38516         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38517         defining mktime as a C macro. This completes a 2009-07-28 commit.
38519 2011-05-22  Bruno Haible  <bruno@clisp.org>
38521         timegm: Simplify autoconf macro.
38522         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38524 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38526         clock-time: change to LGPLv2+.
38527         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38528         BSD-like but we have no mark for that; this is good enough for now.
38530 2011-05-21  Bruno Haible  <bruno@clisp.org>
38532         strerror_r: Fix comments.
38533         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38535 2011-05-21  Bruno Haible  <bruno@clisp.org>
38537         relocatable-prog-wrapper: Fix possible link error.
38538         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38539         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38540         (gl_FUNC_SETENV): ... to here.
38541         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38542         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38544 2011-05-21  Bruno Haible  <bruno@clisp.org>
38546         relocatable-prog-wrapper: Assume strerror() exists.
38547         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38548         m4/strerror.m4.
38549         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38550         * lib/relocwrapper.c: Remove mention of strerror module.
38551         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38552         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38553         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38554         C macro.
38556 2011-05-21  Bruno Haible  <bruno@clisp.org>
38558         select: Simplify replacement idiom.
38559         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38560         Win32 platforms.
38561         * lib/sys_select.in.h (select): Simplify accordingly.
38562         * modules/select (Depends-on): Likewise.
38564 2011-05-21  Bruno Haible  <bruno@clisp.org>
38566         mkdir-p: Simplify autoconf macro.
38567         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38568         gl_FUNC_LCHOWN.
38570 2011-05-21  Eric Blake  <eblake@redhat.com>
38572         strerror_r: avoid clobbering strerror on cygwin
38573         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38574         fall back instead to sys_errlist.
38575         * modules/strerror (configure.ac): Add witness.
38576         * tests/test-strerror_r.c (main): Enhance test.
38577         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38578         * tests/test-perror2.c (main): Free memory before exit.
38580 2011-05-21  Bruno Haible  <bruno@clisp.org>
38582         mkdtemp: Use gnulib naming conventions.
38583         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38584         * modules/mkdtemp (configure.ac): Update.
38586 2011-05-20  Eric Blake  <eblake@redhat.com>
38588         strerror_r: avoid corrupting errno on Solaris
38589         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38590         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38592         strerror_r: avoid compiler warning
38593         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38595         strerror_r: simplify AIX code
38596         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38598         test-perror: avoid spurious failure on FreeBSD
38599         * modules/perror-tests (Depends-on): Add strerror, now that
38600         strerror_r no longer pulls it in.
38602 2011-05-20  Bruno Haible  <bruno@clisp.org>
38604         strerror_r-posix: Remove unused dependencies.
38605         * modules/strerror_r-posix (Depends-on): Remove strerror.
38606         Reported by Eric Blake.
38608 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38610         intprops: remove assumption about A|B representation
38611         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38612         is a valid integer if both A and B are.  Although this is true for
38613         all known practical hosts, the C standard doesn't guarantee it,
38614         and the code need not assume it.  Also, this change may work around
38615         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38616         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38618 2011-05-20  Eric Blake  <eblake@redhat.com>
38620         perror: work around FreeBSD bug
38621         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38622         is broken.  Move AC_LIBOBJ...
38623         * modules/perror (configure.ac): Here.
38624         * doc/posix-functions/perror.texi (perror): Document this.
38625         * tests/test-perror2.c (main): Enhance test.
38627         test-perror: check for strerror interactions
38628         * tests/macros.h (STREQ): Add macro.
38629         * modules/perror-tests (Files): Add second test.
38630         * tests/test-perror2.c (main): New file.
38631         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38633         test-perror: rewrite to use init script
38634         * modules/perror-tests (Files): Add init.sh.
38635         * tests/test-perror.sh: Use temporary directory.
38637 2011-05-20  Jim Meyering  <meyering@redhat.com>
38639         maint: replace misused "a" with "an"
38640         * doc/intprops.texi: "a integer"
38641         * doc/regex.texi: "a explanation"
38642         * lib/alignof.h: "a object"
38643         * lib/argmatch.h: "a explanation"
38644         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38645         * lib/stdint.in.h: "a integer"
38646         * lib/userspec.c: "a owner"
38647         * doc/gnulib.texi: Fix "a idea", and reword.
38649 2011-05-19  Jim Meyering  <meyering@redhat.com>
38651         maint: correct misuse of "a" and "an"
38652         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38653         * lib/argp-help.c: "an docum...": s/an/a/
38654         * lib/argp-parse.c: "An vector": s/An/A/
38655         * lib/execute.c: "an native": s/an/a/
38656         * lib/spawn-pipe.c: Likewise.
38657         * lib/gc.h: "an Gc_rc": s/an/a/
38658         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38659         * lib/fts.c: "an stat.st_dev": s/an/a/
38661 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38663         intprops-tests: work around HP-UX 11.23 cc bug with constants
38664         * tests/test-intprops.c (VERIFY): New macro.
38665         (main): Use it, instead of verify, to work around the compiler bug; see
38666         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38668         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38669         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38670         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38671         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38672         (_GL_REMAINDER_OVERFLOW): Use it.
38674         intprops-tests: revert unsigned part of previous change
38675         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38676         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38677         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38678         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38680 2011-05-19  Bruno Haible  <bruno@clisp.org>
38682         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38683         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38684         strerror_r() returned without filling the buffer.
38685         Reported by Eric Blake.
38687 2011-05-19  Eric Blake  <eblake@redhat.com>
38689         strerror_r: guarantee unchanged errno
38690         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38691         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38692         failure.
38693         * tests/test-strerror_r.c (main): Enhance test.
38695 2011-05-19  Bruno Haible  <bruno@clisp.org>
38697         strerror_r: Reorder #if blocks.
38698         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38699         for consistency with the previous commit.
38701 2011-05-19  Bruno Haible  <bruno@clisp.org>
38703         perror: Avoid clobbering the strerror buffer when possible.
38704         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38705         * lib/strerror.c: Include it.
38706         * modules/strerror (Files): Add lib/strerror-impl.h.
38707         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38708         (my_strerror): New function, defined through lib/strerror-impl.h.
38709         (perror): Use it instead of strerror.
38710         * modules/perror (Files): Add lib/strerror-impl.h.
38711         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38713 2011-05-19  Eric Blake  <eblake@redhat.com>
38715         strerror_r: fix on newer cygwin
38716         * lib/strerror_r.c (strerror_r): Cygwin now has
38717         __xpg_strerror_r, use it.
38719 2011-05-19  Bruno Haible  <bruno@clisp.org>
38721         strerror_r: Avoid clobbering the strerror buffer when possible.
38722         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38723         (sys_nerr, sys_errlist): New declarations.
38724         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38725         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38726         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38728 2011-05-19  Bruno Haible  <bruno@clisp.org>
38730         strerror_r: Fix test failure on mingw.
38731         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38732         EXTEND_STRERROR_R.
38733         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38734         macros from errno.in.h instead.
38736 2011-05-19  Eric Blake  <eblake@redhat.com>
38738         strerror: relax test for Solaris
38739         * tests/test-strerror.c (main): Permit Solaris behavior.
38740         * tests/test-strerror_r.c (main): Likewise.
38742         strerror: enforce POSIX ruling on strerror(0)
38743         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38744         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38745         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38746         * doc/posix-functions/strerror.texi (strerror): Document it.
38747         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38748         * tests/test-strerror.c (main): Strengthen test.
38749         * tests/test-strerror_r.c (main): Likewise.
38751 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38753         intprop-tests: port to older and more-pedantic compilers
38754         * modules/intprops-tests (Files): Add tests/macros.h.
38755         * tests/test-intprops.c: Include macros.h.
38756         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38757         it's no longer documented to expand to an integer constant expression.
38758         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38759         argument is floating point, as it's no longer documented to expand
38760         to an integer constant expression in that case.
38761         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38762         compiler bugs reported by Bruno Haible.  See
38763         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38764         (U0, U1): New constants, to work around the same bugs.  Also,
38765         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38767         intprops: work around C compiler bugs
38768         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38769         bug in Sun C 5.11 2010/08/13 and other compilers; see
38770         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38772         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38773         * doc/intprops.texi (Integer Type Determination): Fix
38774         documentation for TYPE_IS_INTEGER: it returns an constant
38775         expression, not an integer constant expression.  Fix doc for
38776         TYPE_SIGNED: it returns an integer constant expression only if its
38777         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38778         hardly worth documented that way....)
38780 2011-05-18  Bruno Haible  <bruno@clisp.org>
38782         strerror_r: Avoid clobbering the strerror buffer when possible.
38783         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38784         Handle gnulib defined errno values here. When strerror() returns NULL
38785         or an empty string, return EINVAL.
38786         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38787         gnulib defined errno values here.
38788         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38790 2011-05-18  Eric Blake  <eblake@redhat.com>
38792         fnmatch: avoid compiler warning
38793         * lib/fnmatch_loop.c (FCT): Use correct type.
38794         Reported by Matthias Bolte.
38796 2011-05-13  Jim Meyering  <meyering@redhat.com>
38798         maint.mk: three new prohibit_<HDR>_without_use rules
38799         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38800         (sc_prohibit_stdio-safer_without_use): Likewise.
38801         (sc_prohibit_xfreopen_without_use): Likewise.
38803 2011-05-17  Jim Meyering  <meyering@redhat.com>
38805         announce-gen: fail if the NEWS delta is empty
38806         If there's nothing noteworthy in NEWS, then either you forgot
38807         or you shouldn't be releasing.
38808         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38810 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38812         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38813         reserved symbols starting with double underscore from the check.
38815 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38817         intprops: add doc
38818         * doc/intprops.texi: New file, documenting intprops.
38819         * doc/gnulib.texi (Particular Modules): Include it.
38821         verify: add doc to gnulib manual and fix example
38822         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38823         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38824         (Compile-time Assertions): Fix example so it can't overflow.
38826 2011-05-17  Jim Meyering  <meyering@redhat.com>
38828         warnings.m4: don't usurp save_CPPFLAGS variable name
38829         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38831         doc: fix typo
38832         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38834 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38835             Bruno Haible  <bruno@clisp.org>
38837         doc: Tweak recent change.
38838         * README (Portability guidelines): Tweak new text.
38839         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38840         Interix 6.1.
38842 2011-05-16  Eric Blake  <eblake@redhat.com>
38844         inttypes: avoid autoconf warning
38845         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38846         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38848 2011-05-16  Sam Steingold  <sds@gnu.org>
38849         and Eric Blake  <eblake@redhat.com>
38851         vc-list-files: accept multiple directory operands
38852         * build-aux/vc-list-files: Iterate over all remaining operands.
38854 2011-05-16  Bruno Haible  <bruno@clisp.org>
38856         Fix confusion regarding deprecated modules.
38857         * modules/calloc (Status, Notice): Mark module as deprecated, not
38858         obsolete.
38859         * modules/fnmatch-posix (Status, Notice): Likewise.
38860         * modules/getdate (Status, Notice): Likewise.
38861         * modules/getopt (Status, Notice): Likewise.
38862         * modules/malloc (Status, Notice): Likewise.
38863         * modules/pipe (Status, Notice): Likewise.
38864         * modules/realloc (Status, Notice): Likewise.
38865         * modules/rename-dest-slash (Status, Notice): Likewise.
38866         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38867         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38868         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38869         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38870         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38872 2011-05-16  Bruno Haible  <bruno@clisp.org>
38874         doc: List the target platforms.
38875         * doc/gnulib-intro.texi (Target Platforms): New section.
38876         * doc/gnulib.texi (Introduction): Update menu.
38877         * README (Portability guidelines): Refer to the new section. Update
38878         statement about oldest supported environment. Remove rationale why
38879         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38880         unportable C89 function.
38881         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38882         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38884 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38886         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38888 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38890         intprops-tests: new module
38891         * modules/intprops-tests, tests/test-intprops.c: New files.
38893         intprops: add safe, portable integer overflow checking
38894         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38895         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38896         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38897         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38898         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38899         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38900         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38901         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38902         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38903         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38904         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38906 2011-05-12  James Youngman  <jay@gnu.org>
38908         Add a test for glibc's Bugzilla bug #12378.
38909         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38910         doesn't allow the literal matching of a lone "[" (which is
38911         required by POSIX).
38912         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38914 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38916         Sync glibc change fixing Bugzilla bug #12378.
38917         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38918         beginning and fall back to matching as normal character if the
38919         string ends before the matching ']' is found.  This is what POSIX
38920         requires.
38922 2011-05-13  Eric Blake  <eblake@redhat.com>
38924         getcwd-lgpl: relax test for FreeBSD
38925         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38926         issue.
38927         * tests/test-getcwd-lgpl.c (main): Relax test.
38928         Reported by Matthias Bolte.
38930 2011-05-11  Eric Blake  <eblake@redhat.com>
38932         test-fflush: silence compiler warning
38933         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38935 2011-05-11  Bruno Haible  <bruno@clisp.org>
38937         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38938         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38939         * modules/canonicalize (Depends-on): Add 'nocrash'.
38940         * modules/canonicalize-lgpl (Depends-on): Likewise.
38941         * doc/posix-functions/realpath.texi: Update platforms list.
38942         Reported by Ryan Schmidt <ryandesign@macports.org>.
38944 2011-05-11  Bruno Haible  <bruno@clisp.org>
38946         group-member: Declare function in <unistd.h>.
38947         * lib/unistd.in.h (group_member): New declaration.
38948         * lib/group-member.h: Remove file.
38949         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38950         * tests/test-unistd-c++.cc: Check signature of group_member.
38951         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38952         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38953         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38954         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38955         HAVE_GROUP_MEMBER.
38956         * modules/group-member (Files): Remove lib/group-member.h.
38957         (Depends-on): Add unistd. Specify conditions.
38958         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38959         (Include): Change to <unistd.h>.
38960         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38961         HAVE_GROUP_MEMBER.
38962         * NEWS: Mention the change.
38963         * lib/euidaccess.c: Don't include group-member.h.
38965 2011-05-11  Bruno Haible  <bruno@clisp.org>
38967         group-member: Document module.
38968         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38969         module.
38971 2011-05-11  Bruno Haible  <bruno@clisp.org>
38973         fclose: Fix mistake earlier today.
38974         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38976 2011-05-11  Eric Blake  <eblake@redhat.com>
38978         fclose: preserve fflush errors
38979         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38980         Reported by Jim Meyering.
38982         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38983         * build-aux/bootstrap (check_versions): When no specific version
38984         is required, merely check that the app produces an exit status
38985         that indicates its existence.
38987         maint.mk: drop redundant check
38988         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38989         the same but better.
38991 2011-05-11  Bruno Haible  <bruno@clisp.org>
38993         fclose: Fix possible link error.
38994         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38995         unregister_shadow_fd. Improve comments.
38996         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38997         Eric Blake.
38999 2011-05-11  Jim Meyering  <meyering@redhat.com>
39001         maint.mk: improve "can not" detection and generalize rule name
39002         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
39003         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
39004         Use the same technique as in sc_prohibit_doubled_word, so that
39005         we recognize "can not" also when the words are separated by a newline.
39006         Suggested by Eric Blake.
39007         (perl_filename_lineno_text_): Define.  Factored out of...
39008         (prohibit_doubled_word_): ...here.  Use the new definition.
39009         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
39010         (prohibit_undesirable_word_seq_RE_): New overridable variable.
39011         (ignore_undesirable_word_sequence_RE_): New overridable variable.
39013 2011-05-10  Eric Blake  <eblake@redhat.com>
39015         fclose: avoid double close race when possible
39016         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
39017         all but WINDOWS_SOCKETS.
39019 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
39021         openat: correct new comment
39022         * lib/openat-proc.c (openat_proc_name): Correct the comment.
39024 2011-05-10  Jim Meyering  <meyering@redhat.com>
39026         openat: add comments
39027         * lib/openat-proc.c (openat_proc_name): Add comments,
39028         mostly from Eric Blake.
39030 2011-05-09  Eric Blake  <eblake@redhat.com>
39032         openat: reduce syscalls in first probe of /proc
39033         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
39034         be a directory.  Simplify the probe for .. bugs.
39035         * modules/openat (Depends-on): Drop same-inode.
39036         Reported by Bastien ROUCARIES.
39038 2011-05-09  Jim Meyering  <meyering@redhat.com>
39040         maint.mk: change semantics/name of tight_scope variables
39041         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
39042         Rename variables to align with semantics that make them more useful.
39044         maint.mk: tweak new rule's name not to impinge
39045         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
39046         (sc_tight_scope): Use new rule name rather than $@-0.
39048         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
39049         * top/maint.mk (sc_tight_scope): New rule.
39050         (sc_tight_scope-0): New rule, ifdef'd out.
39051         (_gl_TS_dir): Default.
39052         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
39053         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
39055 2011-05-09  Simon Josefsson  <simon@josefsson.org>
39057         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
39058         Haible <bruno@clisp.org>.
39060 2011-05-08  Bruno Haible  <bruno@clisp.org>
39062         Comments.
39063         * m4/isnanf.m4: Add comment.
39064         * m4/isnanl.m4: Likewise.
39066 2011-05-08  Bruno Haible  <bruno@clisp.org>
39068         glob: Remove obsolete macro.
39069         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
39071 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39073         intprops: Sun C 5.11 supports __typeof__
39074         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
39075         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
39076         which is new.
39077         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
39079         intprops: switch to usual gnulib indenting and naming
39080         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
39081         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
39083         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
39085 2011-05-08  Jim Meyering  <meyering@redhat.com>
39087         maint.mk: suppress "Entering/Leaving directory" diag in announcement
39088         * top/maint.mk (release-prep): Use make's --no-print-directory
39089         option when generating the announcement.  This eliminates the
39090         pesky "make[2]: Entering/Leaving directory" diagnostics in the
39091         generated announcement template.
39093 2011-05-08  Bruno Haible  <bruno@clisp.org>
39095         tzset: Fix gettimeofday wrapper on Solaris 2.6.
39096         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
39097         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
39099 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39101         ignore-value, verify: Omit include files from lib_SOURCES.
39102         * modules/ignore-value, modules/verify (Makefile.am):
39103         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
39104         that leads Automake to duplicate use of am__objects_... variables
39105         in Makefile.in.  See
39106         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
39108 2011-05-07  Bruno Haible  <bruno@clisp.org>
39110         fclose: Simplify autoconf macro.
39111         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
39112         defined.
39114 2011-05-07  Bruno Haible  <bruno@clisp.org>
39116         canonicalize-lgpl: Fix autoconf macro ordering bug.
39117         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
39118         gl_STDLIB_H_DEFAULTS.
39120 2011-05-06  Eric Blake  <eblake@redhat.com>
39122         maintainer-makefile: make sc_po_check easier to tune
39123         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
39124         to probe for strings, such as an alternate location for gnulib.
39126         fclose: guarantee behavior on seekable stdin
39127         * modules/fclose (Depends-on): Add fflush.
39128         * doc/posix-functions/fclose.texi (fclose): Document this.
39129         * tests/test-fclose.c (main): Make test for this unconditional.
39131 2011-05-06  Bruno Haible  <bruno@clisp.org>
39133         fflush, fpurge: Relicense under LGPLv2+.
39134         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
39135         * modules/fpurge (License): Likewise.
39136         With permission from Eric Blake and Jim Meyering.
39137         Suggested by Eric Blake.
39139 2011-05-06  Karl Berry  <karl@gnu.org>
39141         * MODULES.html.sh (func_all_modules): remove exit.
39143 2011-05-06  Jim Meyering  <meyering@redhat.com>
39145         maint.mk: use info-gnu@ as the default only for a stable release
39146         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
39147         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
39148         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
39149         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
39151 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39153         assert-h: new module, which supports C1X-style static_assert
39154         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
39155         * lib/verify.h: Revamp so that this can be copied into assert.h,
39156         while retaining the ability to use it standalone as before.
39157         Rename private identifiers so as not to encroach on the
39158         standard C namespace, since this is now used by assert.h.
39159         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
39160         the old verify_true.
39161         (_GL_VERIFY_TRUE): New macro, with much of the contents of
39162         the old verify_true.  Use _GL_VERIFY_TYPE.
39163         (_GL_VERIFY): New macro, with much of the contents of the old verify.
39164         (static_assert): New macro, if _GL_STATIC_ASSERT_H
39165         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
39166         defined when this file is copied into the replacement assert.h.
39167         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
39168         and _Static_assert is not built in.
39169         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
39170         defined, and use the new macros mentioned above.
39171         * doc/posix-headers/assert.texi: Document this.
39173 2011-05-05  Bruno Haible  <bruno@clisp.org>
39175         fclose, fflush: Respect rules for use of AC_LIBOBJ.
39176         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
39177         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
39178         gl_REPLACE_FCLOSE here.
39179         * modules/fflush (Depends-on): Remove fclose.
39180         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
39181         combination with module 'fclose'.
39183 2011-05-05  Bruno Haible  <bruno@clisp.org>
39185         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
39186         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
39187         gl_FUNC_FFLUSH.
39188         (gl_FUNC_FFLUSH): Use it.
39189         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
39190         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
39191         gl_REPLACE_FSEEKO here.
39193 2011-05-05  Bruno Haible  <bruno@clisp.org>
39195         tzset: Relicense under LGPL.
39196         * modules/tzset (License): Change to LGPL.
39197         No agreement needed; it's a no-op.
39199         strtoimax, strtoumax: Relicense under LGPL.
39200         * modules/strtoimax (License): Change to LGPL.
39201         * modules/strtoumax (License): Likewise.
39202         With permission from Jim Meyering, Paul Eggert:
39203         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
39204         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
39206         getgroups: Relicense under LGPL.
39207         * modules/getgroups (License): Change to LGPL.
39208         With permission from Jim Meyering, Paul Eggert, Eric Blake:
39209         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39210         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39211         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39213         nanosleep: Relicense under LGPL.
39214         * modules/nanosleep (License): Change to LGPL.
39215         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
39216         Haible:
39217         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39218         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39219         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39220         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39222         futimens: Relicense under LGPL.
39223         * modules/futimens (License): Change to LGPL.
39224         With permission from Eric Blake:
39225         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39227         fflush: Relicense under LGPL.
39228         * modules/fflush (License): Change to LGPL.
39229         With permission from Eric Blake, Bruno Haible, Jim Meyering:
39230         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39231         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39232         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
39234         tmpfile: Relicense under LGPL.
39235         * modules/tmpfile (License): Change to LGPL.
39236         With permission from Ben Pfaff:
39237         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39239         isfinite: Relicense under LGPL.
39240         * modules/isfinite (License): Change to LGPL.
39241         With permission from Ben Pfaff, Bruno Haible:
39242         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39243         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
39245         acosl..tanl: Relicense under LGPL.
39246         * modules/acosl (License): Change to LGPL.
39247         * modules/asinl (License): Likewise.
39248         * modules/atanl (License): Likewise.
39249         * modules/cosl (License): Likewise.
39250         * modules/expl (License): Likewise.
39251         * modules/logl (License): Likewise.
39252         * modules/sinl (License): Likewise.
39253         * modules/sqrtl (License): Likewise.
39254         * modules/tanl (License): Likewise.
39255         Source code originally from glibc and Paolo Bonzini. Agreements:
39256         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
39257         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
39259 2011-05-05  Bruno Haible  <bruno@clisp.org>
39261         signal: Define sighandler_t.
39262         * lib/signal.in.h (sighandler_t): New type.
39263         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
39264         whether sighandler_t is defined.
39265         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
39266         * modules/signal (Depends-on): Add extensions.
39267         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
39268         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
39269         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
39271 2011-05-05  Eric Blake  <eblake@redhat.com>
39273         maint: remove useless REPLACE_*_H macros
39274         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
39275         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39276         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39277         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
39278         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39279         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39280         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
39281         * m4/btowc.m4: Update callers.
39282         * m4/dirfd.m4: Likewise.
39283         * m4/duplocale.m4: Likewise.
39284         * m4/fchdir.m4: Likewise.
39285         * m4/fdopendir.m4: Likewise.
39286         * m4/inet_ntop.m4: Likewise.
39287         * m4/inet_pton.m4: Likewise.
39288         * m4/ioctl.m4: Likewise.
39289         * m4/mbrlen.m4: Likewise.
39290         * m4/mbrtowc.m4: Likewise.
39291         * m4/mbsinit.m4: Likewise.
39292         * m4/mbsnrtowcs.m4: Likewise.
39293         * m4/mbsrtowcs.m4: Likewise.
39294         * m4/poll.m4: Likewise.
39295         * m4/setlocale.m4: Likewise.
39296         * m4/wcrtomb.m4: Likewise.
39297         * m4/wcsnrtombs.m4: Likewise.
39298         * m4/wcsrtombs.m4: Likewise.
39299         * m4/wctob.m4: Likewise.
39300         * m4/wcwidth.m4: Likewise.
39301         * modules/posix_spawn: Likewise.
39302         * modules/posix_spawn_file_actions_addclose: Likewise.
39303         * modules/posix_spawn_file_actions_adddup2: Likewise.
39304         * modules/posix_spawn_file_actions_addopen: Likewise.
39305         * modules/posix_spawn_file_actions_destroy: Likewise.
39306         * modules/posix_spawn_file_actions_init: Likewise.
39307         * modules/posix_spawnattr_destroy: Likewise.
39308         * modules/posix_spawnattr_getflags: Likewise.
39309         * modules/posix_spawnattr_getpgroup: Likewise.
39310         * modules/posix_spawnattr_getschedparam: Likewise.
39311         * modules/posix_spawnattr_getschedpolicy: Likewise.
39312         * modules/posix_spawnattr_getsigdefault: Likewise.
39313         * modules/posix_spawnattr_getsigmask: Likewise.
39314         * modules/posix_spawnattr_init: Likewise.
39315         * modules/posix_spawnattr_setflags: Likewise.
39316         * modules/posix_spawnattr_setpgroup: Likewise.
39317         * modules/posix_spawnattr_setschedparam: Likewise.
39318         * modules/posix_spawnattr_setschedpolicy: Likewise.
39319         * modules/posix_spawnattr_setsigdefault: Likewise.
39320         * modules/posix_spawnattr_setsigmask: Likewise.
39321         * modules/posix_spawnp: Likewise.
39323 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
39325         Add option to do-release-commit-and-tag to specify branch.
39326         * build-aux/do-release-commit-and-tag: Add --branch.
39328 2011-05-03  Bruno Haible  <bruno@clisp.org>
39330         Avoid unnecessary compilation units, through conditional dependencies.
39331         * modules/accept (Depends-on): Add conditions to the dependencies.
39332         * modules/acosl (Depends-on): Likewise.
39333         * modules/argz (Depends-on): Likewise.
39334         * modules/asinl (Depends-on): Likewise.
39335         * modules/atanl (Depends-on): Likewise.
39336         * modules/atoll (Depends-on): Likewise.
39337         * modules/bind (Depends-on): Likewise.
39338         * modules/btowc (Depends-on): Likewise.
39339         * modules/canonicalize-lgpl (Depends-on): Likewise.
39340         * modules/ceil (Depends-on): Likewise.
39341         * modules/ceilf (Depends-on): Likewise.
39342         * modules/ceill (Depends-on): Likewise.
39343         * modules/chdir-long (Depends-on): Likewise.
39344         * modules/chown (Depends-on): Likewise.
39345         * modules/close (Depends-on): Likewise.
39346         * modules/connect (Depends-on): Likewise.
39347         * modules/cosl (Depends-on): Likewise.
39348         * modules/dirfd (Depends-on): Likewise.
39349         * modules/dprintf (Depends-on): Likewise.
39350         * modules/dprintf-posix (Depends-on): Likewise.
39351         * modules/error (Depends-on): Likewise.
39352         * modules/euidaccess (Depends-on): Likewise.
39353         * modules/expl (Depends-on): Likewise.
39354         * modules/faccessat (Depends-on): Likewise.
39355         * modules/fchdir (Depends-on): Likewise.
39356         * modules/fclose (Depends-on): Likewise.
39357         * modules/fcntl (Depends-on): Likewise.
39358         * modules/fdopendir (Depends-on): Likewise.
39359         * modules/fflush (Depends-on): Likewise.
39360         * modules/floor (Depends-on): Likewise.
39361         * modules/floorf (Depends-on): Likewise.
39362         * modules/floorl (Depends-on): Likewise.
39363         * modules/fnmatch (Depends-on): Likewise.
39364         * modules/fopen (Depends-on): Likewise.
39365         * modules/fprintf-posix (Depends-on): Likewise.
39366         * modules/frexp (Depends-on): Likewise.
39367         * modules/frexp-nolibm (Depends-on): Likewise.
39368         * modules/frexpl (Depends-on): Likewise.
39369         * modules/frexpl-nolibm (Depends-on): Likewise.
39370         * modules/fseek (Depends-on): Likewise.
39371         * modules/fsusage (Depends-on): Likewise.
39372         * modules/ftell (Depends-on): Likewise.
39373         * modules/ftello (Depends-on): Likewise.
39374         * modules/futimens (Depends-on): Likewise.
39375         * modules/getcwd (Depends-on): Likewise.
39376         * modules/getcwd-lgpl (Depends-on): Likewise.
39377         * modules/getdelim (Depends-on): Likewise.
39378         * modules/getdomainname (Depends-on): Likewise.
39379         * modules/getgroups (Depends-on): Likewise.
39380         * modules/gethostname (Depends-on): Likewise.
39381         * modules/getline (Depends-on): Likewise.
39382         * modules/getlogin_r (Depends-on): Likewise.
39383         * modules/getopt-posix (Depends-on): Likewise.
39384         * modules/getpeername (Depends-on): Likewise.
39385         * modules/getsockname (Depends-on): Likewise.
39386         * modules/getsockopt (Depends-on): Likewise.
39387         * modules/getsubopt (Depends-on): Likewise.
39388         * modules/getusershell (Depends-on): Likewise.
39389         * modules/glob (Depends-on): Likewise.
39390         * modules/grantpt (Depends-on): Likewise.
39391         * modules/iconv_open (Depends-on): Likewise.
39392         * modules/iconv_open-utf (Depends-on): Likewise.
39393         * modules/inet_ntop (Depends-on): Likewise.
39394         * modules/inet_pton (Depends-on): Likewise.
39395         * modules/ioctl (Depends-on): Likewise.
39396         * modules/isapipe (Depends-on): Likewise.
39397         * modules/isfinite (Depends-on): Likewise.
39398         * modules/isinf (Depends-on): Likewise.
39399         * modules/lchown (Depends-on): Likewise.
39400         * modules/ldexpl (Depends-on): Likewise.
39401         * modules/link (Depends-on): Likewise.
39402         * modules/linkat (Depends-on): Likewise.
39403         * modules/listen (Depends-on): Likewise.
39404         * modules/logl (Depends-on): Likewise.
39405         * modules/lstat (Depends-on): Likewise.
39406         * modules/mbrlen (Depends-on): Likewise.
39407         * modules/mbrtowc (Depends-on): Likewise.
39408         * modules/mbsinit (Depends-on): Likewise.
39409         * modules/mbsnrtowcs (Depends-on): Likewise.
39410         * modules/mbsrtowcs (Depends-on): Likewise.
39411         * modules/mbtowc (Depends-on): Likewise.
39412         * modules/memcmp (Depends-on): Likewise.
39413         * modules/mkdir (Depends-on): Likewise.
39414         * modules/mkdtemp (Depends-on): Likewise.
39415         * modules/mkfifo (Depends-on): Likewise.
39416         * modules/mkfifoat (Depends-on): Likewise.
39417         * modules/mknod (Depends-on): Likewise.
39418         * modules/mkostemp (Depends-on): Likewise.
39419         * modules/mkostemps (Depends-on): Likewise.
39420         * modules/mkstemp (Depends-on): Likewise.
39421         * modules/mkstemps (Depends-on): Likewise.
39422         * modules/mktime (Depends-on): Likewise.
39423         * modules/nanosleep (Depends-on): Likewise.
39424         * modules/open (Depends-on): Likewise.
39425         * modules/openat (Depends-on): Likewise.
39426         * modules/perror (Depends-on): Likewise.
39427         * modules/poll (Depends-on): Likewise.
39428         * modules/popen (Depends-on): Likewise.
39429         * modules/posix_spawn (Depends-on): Likewise.
39430         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
39431         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39432         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39433         * modules/posix_spawnp (Depends-on): Likewise.
39434         * modules/pread (Depends-on): Likewise.
39435         * modules/printf-posix (Depends-on): Likewise.
39436         * modules/ptsname (Depends-on): Likewise.
39437         * modules/putenv (Depends-on): Likewise.
39438         * modules/pwrite (Depends-on): Likewise.
39439         * modules/readline (Depends-on): Likewise.
39440         * modules/readlink (Depends-on): Likewise.
39441         * modules/readlinkat (Depends-on): Likewise.
39442         * modules/recv (Depends-on): Likewise.
39443         * modules/recvfrom (Depends-on): Likewise.
39444         * modules/regex (Depends-on): Likewise.
39445         * modules/remove (Depends-on): Likewise.
39446         * modules/rename (Depends-on): Likewise.
39447         * modules/renameat (Depends-on): Likewise.
39448         * modules/rmdir (Depends-on): Likewise.
39449         * modules/round (Depends-on): Likewise.
39450         * modules/roundf (Depends-on): Likewise.
39451         * modules/roundl (Depends-on): Likewise.
39452         * modules/rpmatch (Depends-on): Likewise.
39453         * modules/select (Depends-on): Likewise.
39454         * modules/send (Depends-on): Likewise.
39455         * modules/sendto (Depends-on): Likewise.
39456         * modules/setenv (Depends-on): Likewise.
39457         * modules/setlocale (Depends-on): Likewise.
39458         * modules/setsockopt (Depends-on): Likewise.
39459         * modules/shutdown (Depends-on): Likewise.
39460         * modules/sigaction (Depends-on): Likewise.
39461         * modules/signbit (Depends-on): Likewise.
39462         * modules/sigprocmask (Depends-on): Likewise.
39463         * modules/sinl (Depends-on): Likewise.
39464         * modules/sleep (Depends-on): Likewise.
39465         * modules/snprintf (Depends-on): Likewise.
39466         * modules/snprintf-posix (Depends-on): Likewise.
39467         * modules/socket (Depends-on): Likewise.
39468         * modules/sprintf-posix (Depends-on): Likewise.
39469         * modules/sqrtl (Depends-on): Likewise.
39470         * modules/stat (Depends-on): Likewise.
39471         * modules/strchrnul (Depends-on): Likewise.
39472         * modules/strdup-posix (Depends-on): Likewise.
39473         * modules/strerror (Depends-on): Likewise.
39474         * modules/strerror_r-posix (Depends-on): Likewise.
39475         * modules/strndup (Depends-on): Likewise.
39476         * modules/strnlen (Depends-on): Likewise.
39477         * modules/strptime (Depends-on): Likewise.
39478         * modules/strsep (Depends-on): Likewise.
39479         * modules/strsignal (Depends-on): Likewise.
39480         * modules/strstr-simple (Depends-on): Likewise.
39481         * modules/strtod (Depends-on): Likewise.
39482         * modules/strtoimax (Depends-on): Likewise.
39483         * modules/strtok_r (Depends-on): Likewise.
39484         * modules/strtoumax (Depends-on): Likewise.
39485         * modules/symlink (Depends-on): Likewise.
39486         * modules/symlinkat (Depends-on): Likewise.
39487         * modules/tanl (Depends-on): Likewise.
39488         * modules/tcgetsid (Depends-on): Likewise.
39489         * modules/tmpfile (Depends-on): Likewise.
39490         * modules/trunc (Depends-on): Likewise.
39491         * modules/truncf (Depends-on): Likewise.
39492         * modules/truncl (Depends-on): Likewise.
39493         * modules/uname (Depends-on): Likewise.
39494         * modules/unlink (Depends-on): Likewise.
39495         * modules/unlockpt (Depends-on): Likewise.
39496         * modules/unsetenv (Depends-on): Likewise.
39497         * modules/usleep (Depends-on): Likewise.
39498         * modules/utimensat (Depends-on): Likewise.
39499         * modules/vasprintf (Depends-on): Likewise.
39500         * modules/vdprintf (Depends-on): Likewise.
39501         * modules/vdprintf-posix (Depends-on): Likewise.
39502         * modules/vfprintf-posix (Depends-on): Likewise.
39503         * modules/vprintf-posix (Depends-on): Likewise.
39504         * modules/vsnprintf (Depends-on): Likewise.
39505         * modules/vsnprintf-posix (Depends-on): Likewise.
39506         * modules/vsprintf-posix (Depends-on): Likewise.
39507         * modules/wcrtomb (Depends-on): Likewise.
39508         * modules/wcscasecmp (Depends-on): Likewise.
39509         * modules/wcscspn (Depends-on): Likewise.
39510         * modules/wcsdup (Depends-on): Likewise.
39511         * modules/wcsncasecmp (Depends-on): Likewise.
39512         * modules/wcsnrtombs (Depends-on): Likewise.
39513         * modules/wcspbrk (Depends-on): Likewise.
39514         * modules/wcsrtombs (Depends-on): Likewise.
39515         * modules/wcsspn (Depends-on): Likewise.
39516         * modules/wcsstr (Depends-on): Likewise.
39517         * modules/wcstok (Depends-on): Likewise.
39518         * modules/wcswidth (Depends-on): Likewise.
39519         * modules/wctob (Depends-on): Likewise.
39520         * modules/wctomb (Depends-on): Likewise.
39521         * modules/wctype (Depends-on): Likewise.
39522         * modules/wcwidth (Depends-on): Likewise.
39523         * modules/write (Depends-on): Likewise.
39525 2011-05-03  Bruno Haible  <bruno@clisp.org>
39527         Support for conditional dependencies.
39528         * doc/gnulib.texi (Module description): Document the syntax of
39529         conditional dependencies.
39530         * gnulib-tool: New option --conditional-dependencies.
39531         (func_usage): Document it.
39532         (cond_dependencies): New variable.
39533         (func_get_automake_snippet_conditional,
39534         func_get_automake_snippet_unconditional): New functions, extracted from
39535         func_get_automake_snippet.
39536         (func_get_automake_snippet): Use them.
39537         (sed_first_32_chars): New variable.
39538         (func_module_shellfunc_name): New function.
39539         (func_module_shellvar_name): New function.
39540         (func_module_conditional_name): New function.
39541         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39542         func_cond_module_condition): New functions.
39543         (func_modules_transitive_closure): Add support for conditional
39544         dependencies.
39545         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39546         conditional automake snippet in an automake conditional.
39547         (func_emit_autoconf_snippets): Emit shell functions that contain the
39548         code for conditional modules.
39549         (func_import, func_create_testdir): Update specification.
39551 2011-05-03  Eric Blake  <eblake@redhat.com>
39553         test-getaddrinfo: report error information
39554         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39556 2011-05-03  Jim Meyering  <meyering@redhat.com>
39558         bootstrap: avoid build failure when $GZIP is set
39559         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39560         program name.  If defined at all, it is supposed to list gzip options.
39561         Reported by Alan Curry in http://debbugs.gnu.org/8609
39563 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39565         readme-release: new module with release instructions
39566         * modules/readme-release: New module.
39567         * top/README-release: New file, from coreutils, grep, diffutils.
39568         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39570 2011-05-02  Eric Blake  <eblake@redhat.com>
39572         fflush: also replace fclose when fixing fflush
39573         * modules/fflush (Depends-on): Add fclose.
39574         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39575         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39576         memstreams with no backing fd.
39577         * doc/posix-functions/fclose.texi (fclose): Document the use of
39578         fflush module to fix the bug.
39579         * tests/test-fclose.c (main): Relax test when fclose is used in
39580         isolation.
39582         fclose: add some tests
39583         * modules/fclose-tests: New test module.
39584         * tests/test-fclose.c: New file.
39585         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39587         fclose: reduced dependencies
39588         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39589         simpler lseek.
39590         * lib/fclose.c (rpl_fclose): Likewise.
39591         Reported by Simon Josefsson.
39593         exit: drop remaining clients
39594         * modules/argmatch (Depends-on): Replace exit with stdlib.
39595         * modules/copy-file (Depends-on): Likewise.
39596         * modules/execute (Depends-on): Likewise.
39597         * modules/exitfail (Depends-on): Likewise.
39598         * modules/obstack (Depends-on): Likewise.
39599         * modules/pagealign_alloc (Depends-on): Likewise.
39600         * modules/pipe-filter-gi (Depends-on): Likewise.
39601         * modules/pipe-filter-ii (Depends-on): Likewise.
39602         * modules/savewd (Depends-on): Likewise.
39603         * modules/spawn-pipe (Depends-on): Likewise.
39604         * modules/wait-process (Depends-on): Likewise.
39605         * modules/xsetenv (Depends-on): Likewise.
39606         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39607         * modules/git-merge-changelog (Depends-on): Likewise.
39608         * modules/long-options (Depends-on): Likewise.
39609         * modules/pt_chown (Depends-on): Likewise.
39610         * modules/sysexits (Depends-on): Likewise.
39612         freading: relax license from LGPLv3+ to LGPLv2+
39613         * modules/freading (License): Relax LGPL version.
39615 2011-05-02  Bruno Haible  <bruno@clisp.org>
39617         fchdir: Remove unused dependencies.
39618         * modules/fchdir (Depends-on): Remove include_next.
39620 2011-05-02  Bruno Haible  <bruno@clisp.org>
39622         gnulib-tool: Refactor.
39623         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39624         from func_emit_autoconf_snippets.
39625         (func_emit_autoconf_snippets): Use it.
39627 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39629         * NEWS: Document removal of 'exit'.
39630         * modules/exit: Remove file.
39632 2011-05-01  Bruno Haible  <bruno@clisp.org>
39634         Update DEPENDENCIES.
39635         * DEPENDENCIES (gettext): Recommend the newest release.
39636         Reported by Simon Josefsson.
39638 2011-05-01  Bruno Haible  <bruno@clisp.org>
39640         gnulib-tool: Reduce code duplication.
39641         * gnulib-tool (func_emit_autoconf_snippets): New function.
39642         (func_import, func_create_testdir): Use it.
39644 2011-04-30  Eric Blake  <eblake@redhat.com>
39646         fclose: don't fail on non-seekable input stream
39647         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39648         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39649         since fflush is allowed to fail in that case.
39651 2011-04-30  Bruno Haible  <bruno@clisp.org>
39653         dup3: cleanup
39654         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39656 2011-04-30  Bruno Haible  <bruno@clisp.org>
39658         netdb: Make it work in C++ mode.
39659         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39660         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39661         module.
39662         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39663         gl_MODULE_INDICATOR_FOR_TESTS.
39664         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39665         * modules/netdb-c++-tests: New file.
39666         * tests/test-netdb-c++.cc: New file.
39668 2011-04-30  Bruno Haible  <bruno@clisp.org>
39670         New modules 'vfscanf', 'vscanf'.
39671         * modules/vfscanf: New file.
39672         * modules/vscanf: New file.
39673         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39674         here.
39675         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39676         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39678 2011-04-30  Bruno Haible  <bruno@clisp.org>
39680         passfd: Add comments.
39681         * lib/passfd.c: Add comments about platforms.
39683 2011-04-30  Bruno Haible  <bruno@clisp.org>
39685         sys_uio: Make <sys/uio.h> self-contained.
39686         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39687         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39689 2011-04-30  Bruno Haible  <bruno@clisp.org>
39691         sys_socket: Ensure 'struct iovec' definition.
39692         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39693         <sys/socket.h>.
39694         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39696 2011-04-30  Bruno Haible  <bruno@clisp.org>
39698         sys_uio: Protect definition of 'struct iovec'.
39699         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39700         it as a C struct.
39702 2011-04-30  Bruno Haible  <bruno@clisp.org>
39704         manywarnings: fix indentation
39705         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39707 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39709         manywarnings: add -Wno-missing-field-initializers if needed.
39710         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39711         option if it's needed to allow initialization with { 0, }
39713 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39715         announce-gen: cosmetic improvement
39716         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39718 2011-04-29  Jim Meyering  <meyering@redhat.com>
39720         vc-list-files: indent with spaces, not TABs
39721         * build-aux/vc-list-files: Convert leading TABs to spaces,
39722         to match the style of most other files in gnulib.
39724         announce-gen: indent with spaces, not TABs
39725         * build-aux/announce-gen: Convert all TABs to spaces, to match
39726         the style of most other files in gnulib.
39728 2011-04-29  Eric Blake  <eblake@redhat.com>
39730         quotearg: avoid uninitialized variable use
39731         * lib/quotearg.c (quoting_options_from_style): Initialize
39732         remaining fields, and ensure that custom styles are only used via
39733         quoting_options rather than quoting_style.
39735 2011-04-29  Jim Meyering  <meyering@redhat.com>
39737         maint.mk: remove unused VC-tag variable
39738         * top/maint.mk (VC-tag): Remove unused variable.
39740 2011-04-29  Bruno Haible  <bruno@clisp.org>
39742         netdb: fix gai_strerror replacements
39743         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39744         * modules/netdb: Substitute it.
39746 2011-04-29  Jim Meyering  <meyering@redhat.com>
39748         test-getcwd.c: avoid new set-but-not-used warning
39749         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39750         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39751         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39752         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39754         test-hash.c: avoid a new shadowing warning
39755         * tests/test-hash.c (main): Don't shadow "dup".
39757 2011-04-28  Eric Blake  <eblake@redhat.com>
39759         getaddrinfo: fix gai_strerror signature
39760         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39761         and work around mingw with UNICODE defined.
39762         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39763         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39764         * modules/netdb (Makefile.am): Substitute it.
39765         * lib/netdb.in.h (gai_strerror): Declare replacement.
39766         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39767         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39768         the fix.
39770         getsockopt: avoid compiler warning
39771         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39772         Reported by Matthias Bolte.
39774         tests: drop unused link dependency
39775         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39776         * modules/dirent-safer-tests (Makefile.am): Likewise.
39777         * modules/fdopendir-tests (Makefile.am): Likewise.
39778         * modules/mkfifoat-tests (Makefile.am): Likewise.
39779         * modules/openat-safer-tests (Makefile.am): Likewise.
39780         * modules/openat-tests (Makefile.am): Likewise.
39781         * modules/readlinkat-tests (Makefile.am): Likewise.
39782         * modules/symlinkat-tests (Makefile.am): Likewise.
39783         * modules/linkat-tests (Makefile.am): Likewise.
39784         (Depends-on): Switch to filenamecat-lgpl.
39785         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39786         LIBINTL.
39787         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39788         * tests/test-linkat.c (main): Don't require xalloc.
39790         hash, mgetgroups: drop xalloc dependency
39791         * lib/hash.c (includes): Adjust includes.
39792         * lib/mgetgroups.c (includes): Likewise.
39793         (xgetgroups): Move...
39794         * lib/xgetgroups.c: ...to new file.
39795         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39796         * modules/xgetgroups: New file, split from...
39797         * modules/mgetgroups: ...here.
39798         (Depends-on): Add xalloc-oversized.
39799         * modules/hash (Depends-on): Likewise.
39800         * modules/hash-tests (Depends-on): Drop xalloc.
39801         (test_hash_LDADD): Drop unused library.
39802         * tests/test-hash.c (main): Break xalloc dependency.
39803         (includes): Drop unused include.
39805         xalloc-oversized: new module
39806         * modules/xalloc-oversized: New module.
39807         * modules/xalloc (Depends-on): Add it.
39808         * lib/xalloc.h (xalloc_oversized): Move...
39809         * lib/xalloc-oversized.h: ...into new file.
39811         utimecmp: drop dependency on xmalloc
39812         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39813         due to memory pressure.
39814         * modules/utimecmp (Depends-on): Drop xalloc.
39816 2011-04-27  Eric Blake  <eblake@redhat.com>
39818         getcwd: fix mingw bugs
39819         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39820         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39821         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39823 2011-04-27  Bruno Haible  <bruno@clisp.org>
39825         mkstemps: Ensure declaration on MacOS X 10.5.
39826         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39827         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39828         MacOS X.
39830 2011-04-27  Bruno Haible  <bruno@clisp.org>
39832         mkstemp: More documentation.
39833         * doc/posix-functions/mkstemp.texi: Document header file problem on
39834         MacOS X.
39836 2011-04-27  Bruno Haible  <bruno@clisp.org>
39838         mkstemp: Tweak configure message when cross-compiling.
39839         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39840         result as a guess.
39842 2011-04-27  Bruno Haible  <bruno@clisp.org>
39844         clean-temp: Clarify what it does.
39845         * lib/clean-temp.h: Add more comments.
39846         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39847         module.
39848         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39849         * doc/glibc-functions/mkstemps.texi: Likewise.
39850         * doc/glibc-functions/mkostemps.texi: Likewise.
39852 2011-04-27  Eric Blake  <eblake@redhat.com>
39854         fchdir: avoid extra chdir and fix test
39855         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39856         getcwd-lgpl.
39857         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39858         have to be canonical.
39859         (canonicalize_file_name): Drop unused macro.
39860         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39862         filenamecat-lgpl: fix licence
39863         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39864         when it was first created.
39866         linkat, renameat: add missing dependency
39867         * modules/linkat (Depends-on): Require getcwd-lgpl.
39868         * modules/renameat (Depends-on): Likewise.
39870         tests: reduce dependencies
39871         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39872         * tests/test-renameat.c (main): Likewise.
39873         * modules/linkat-tests (Depends-on): Relax dependency.
39874         * modules/renameat-tests (Depends-on): Likewise.
39875         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39876         dependency explicit.
39878         save-cwd: reduce default dependency
39879         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39880         * lib/save-cwd.c: Update comments.
39881         * NEWS: Document the semantic change.
39883         getcwd: enhance tests
39884         * tests/test-getcwd-lgpl.c: New file, taken from...
39885         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39886         repeat long path stress tests from m4 probe.
39887         * modules/getcwd-lgpl-tests: New module.
39888         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39889         * m4/getcwd-abort-bug.m4: Update comment.
39890         * m4/getcwd-path-max.m4: Likewise.
39892         getcwd-lgpl: new module
39893         * modules/getcwd-lgpl: New module.
39894         * lib/getcwd-lgpl.c: New file.
39895         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39896         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39897         * modules/getcwd (configure.ac): Set C witness.
39898         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39900         getcwd: tweak comments
39901         * m4/getcwd-abort-bug.m4: Fix comments.
39902         * m4/getcwd-path-max.m4: Likewise.
39903         * m4/getcwd.m4: Likewise.
39905 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39906         and Eric Blake  <eblake@redhat.com>
39908         mkstemp: replace if system version uses wrong permissions
39909         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39910         read/write mode bits set in file created by mkstemp.
39911         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39913 2011-04-27  Eric Blake  <eblake@redhat.com>
39915         passfd: avoid compiler warning
39916         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39917         Reported by Laine Stump.
39919 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39921         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39922         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39924 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39925         and Eric Blake  <eblake@redhat.com>
39927         mkstemp: mention clean-temp module
39928         * lib/mkstemp.c: Add comment.
39929         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39931 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39933         inttypes: also provide default values for 32-bit tests
39934         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39935         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39937 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39939         strtoumax: remove dependency on strtoimax
39940         This is like the strtoull change of yesterday.
39941         * modules/strtoumax (Files): Add lib/strtoimax.c.
39942         (Depends-on): Remove strtoimax and add verify.
39944         inttypes-incomplete: new module
39945         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39946         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39947         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39948         of gl_INTTYPES_H.
39949         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39950         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39951         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39952         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39953         * modules/strtoumax, modules/xstrtol (Depends-on):
39954         Depend on inttypes-incomplete, not inttypes.
39955         * modules/inttypes-incomplete: New module, containing the contents
39956         of the old modules/inttypes module, except that the Files: section
39957         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39958         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39959         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39960         (Depends-on): Depend only on inttypes-incomplete.
39961         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39963         inttypes: omit now-redundant strtoimax and strtoumax work
39964         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39965         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39967         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39968         This supports apps that need pointers to strtoimax and strtoumax,
39969         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39970         nonexistent functions.  See
39971         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39972         et seq.
39973         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39974         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39975         a macro.
39976         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39978 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39980         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39982 2011-04-25  Bruno Haible  <bruno@clisp.org>
39984         strtol, strtoul: Mark modules as obsolete.
39985         * modules/strtol (Status, Notice): New sections.
39986         * modules/strtoul (Status, Notice): New sections.
39988 2011-04-25  Bruno Haible  <bruno@clisp.org>
39990         strtod: Remove check for strtod, unless supporting old platforms.
39991         * modules/strtod-obsolete: New file.
39992         * m4/strtod-obsolete.m4: New file.
39993         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39994         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39995         * modules/strtod (Depends-on): Add strtod-obsolete.
39996         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39998 2011-04-25  Bruno Haible  <bruno@clisp.org>
40000         strcase: Make module obsolete.
40001         * modules/strcase (Status, Notice): New sections.
40003 2011-04-25  Bruno Haible  <bruno@clisp.org>
40005         dup2: Remove check for dup2, unless supporting old obsolete platforms.
40006         * modules/dup2-obsolete: New file.
40007         * m4/dup2-obsolete.m4: New file.
40008         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
40009         gl_FUNC_DUP2_OBSOLETE is not also defined.
40010         * modules/dup2 (Depends-on): Add dup2-obsolete.
40011         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
40013 2011-04-25  Bruno Haible  <bruno@clisp.org>
40015         strnlen: Avoid memchr related link error on old obsolete platforms.
40016         * modules/memchr-obsolete: New file.
40017         * m4/memchr-obsolete.m4: New file.
40018         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
40019         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
40020         * modules/memchr (Depends-on): Add memchr-obsolete.
40021         * modules/strnlen (Depends-on): Likewise.
40022         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
40024 2011-04-25  Jim Meyering  <meyering@redhat.com>
40026         maint.mk: makefile_at_at_check extend and clean up
40027         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
40028         in addition to */Makefile.am.
40029         Exempt legitimate uses of @VAR@ notation, e.g.,
40030         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
40031         Remove obsolete coreutils-specific comment.
40032         Prompted by discussion here:
40033         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
40035 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40037         strtoul: remove dependency on strtol
40038         This is so that 'configure' need not check for strtol merely because
40039         the application needs strtoul.
40040         * modules/strtoul (Files): Add lib/strtol.c.
40041         (Depends-on): Remove strtol.
40043         strtoull: remove dependency on strtoul
40044         This is like the strtoll change.
40045         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
40046         (Depends-on): Remove strtoul.
40048         strtoll: remove dependency on strtol
40049         This is so that 'configure' need not check for strtol merely because
40050         the application needs strtoll.
40051         * modules/strtoll (Files): Add lib/strtol.c.
40052         (Depends-on): Remove strtol.
40054 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40056         inttypes: Move some configure check to module 'imaxdiv'.
40057         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
40058         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
40059         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
40061 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40063         inttypes: Move some configure check to module 'imaxabs'.
40064         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
40065         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
40066         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
40068 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40070         inttypes: Remove configure tests that are not needed since 2009-12-31.
40071         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
40072         gl_cv_header_working_inttypes_h.
40074 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40076         * modules/strnlen (Depends-on): Remove memchr.
40077         The strnlen implementation doesn't need the memchr module's fixes; see
40078         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
40080         strtol: remove dependency on wchar
40081         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
40082         * modules/strtol (Depends-on): Remove wchar.
40084 2011-04-21  Eric Blake  <eblake@redhat.com>
40086         passfd: fix test regression on Linux
40087         * modules/passfd-tests (configure.ac): Correct socketpair check.
40089         passfd: speed up configure and drop unused code
40090         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
40091         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
40092         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
40093         Instead of probing at configure for unix_scm_rights_bsd44_way,
40094         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
40095         check to a struct member probe.
40096         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
40097         (sendfd, recvfd): Update preprocessor checks.
40098         * modules/passfd (Files): Reflect rename, and drop unused file.
40099         (Depends-on): Drop unused dependency.
40101         passfd: allow compilation on mingw
40102         * modules/sys_socket (Depends-on): Add sys_uio.
40103         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
40104         iovec and a minimal struct msghdr.
40105         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
40106         * tests/test-sys_socket.c (main): Enhance test.
40107         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
40108         guaranteed to provide what we need.
40109         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
40110         * modules/passfd-tests (Depends-on): Add sys_wait.
40111         * tests/test-passfd.c (main): Skip test on mingw, for now.
40112         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
40113         partial 'struct msghdr' implementation.
40115         sys_uio: new module
40116         * modules/sys_uio: New module.
40117         * modules/sys_uio-tests: Likewise.
40118         * lib/sys_uio.in.h: New file.
40119         * m4/sys_uio_h.m4: Likewise.
40120         * tests/test-sys_uio.c: Likewise.
40121         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
40122         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
40124 2011-04-20  Jim Meyering  <meyering@redhat.com>
40126         useless-if-before-free: avoid false-positive
40127         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
40128         disjunct so that it too requires a terminating ";".  Without that,
40129         this script would identify as useless one statement from gcc that
40130         was not:
40131           if (aligned_ptr)
40132             free (((void **) aligned_ptr) [-1]);
40134 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
40136         doc: update users.txt.
40137         * users.txt: Add barcode.
40139 2011-04-19  Bruno Haible  <bruno@clisp.org>
40141         ioctl: Remove link dependency on native Windows.
40142         * lib/fd-hook.h: Renamed from lib/close-hook.h.
40143         (gl_close_fn, gl_ioctl_fn): New types.
40144         (struct fd_hook): Renamed from struct close_hook. Change type of
40145         private_close_fn field. Add private_ioctl_fn field.
40146         (close_hook_fn): Add parameter for primary close method.
40147         (execute_close_hooks, execute_all_close_hooks): Likewise.
40148         (ioctl_hook_fn): New type.
40149         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
40150         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40151         argument.
40152         (unregister_fd_hook): Renamed from unregister_close_hook.
40153         * lib/fd-hook.c: Renamed from lib/close-hook.c.
40154         Don't include <unistd.h>.
40155         (close): Remove undef.
40156         (anchor): Update.
40157         (execute_close_hooks): Add argument for primary close method.
40158         (execute_all_close_hooks): Likewise.
40159         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
40160         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40161         argument. Allow each argument to be NULL.
40162         (unregister_fd_hook): Renamed from unregister_close_hook.
40163         * lib/close.c (rpl_close): Pass 'close' function pointer to
40164         execute_all_close_hooks.
40165         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
40166         (primary_ioctl): New function.
40167         (ioctl): Don't call ioctlsocket here. Instead, call
40168         execute_all_ioctl_hooks.
40169         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
40170         close method.
40171         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
40172         (fd_sockets_hook): Renamed from close_sockets_hook.
40173         (gl_sockets_startup, gl_sockets_cleanup): Update.
40174         * modules/fd-hook: Renamed from modules/close-hook. Update.
40175         * modules/close (Depends-on): Add fd-hook, remove close-hook.
40176         * modules/sockets (Depends-on): Likewise.
40177         * modules/ioctl (Depends-on): Add fd-hook.
40178         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
40179         GNULIB_SOCKET.
40181 2011-04-19  Bruno Haible  <bruno@clisp.org>
40183         Move the support of O_NONBLOCK in open() to the 'open' module.
40184         * modules/nonblocking (Depends-on): Remove 'open'.
40185         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
40186         gl_cv_have_open_O_NONBLOCK.
40187         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
40188         O_NONBLOCK support.
40189         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
40191 2011-04-17  Bruno Haible  <bruno@clisp.org>
40193         pipe2: Simplify code.
40194         * lib/pipe2.c (pipe2): Reduce code duplication.
40196 2011-04-17  Bruno Haible  <bruno@clisp.org>
40198         nonblocking: Add comment.
40199         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
40201 2011-04-17  Bruno Haible  <bruno@clisp.org>
40203         nonblocking: Add tests for sockets.
40204         * tests/test-nonblocking-socket.sh: New file.
40205         * tests/test-nonblocking-socket-main.c: New file.
40206         * tests/test-nonblocking-socket-child.c: New file.
40207         * tests/test-nonblocking-socket.h: New file.
40208         * tests/socket-server.h: New file.
40209         * tests/socket-client.h: New file.
40210         * modules/nonblocking-socket-tests: New file.
40211         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
40213 2011-04-17  Bruno Haible  <bruno@clisp.org>
40215         nonblocking: Add tests for pipes.
40216         * tests/test-nonblocking-pipe.sh: New file.
40217         * tests/test-nonblocking-pipe-main.c: New file.
40218         * tests/test-nonblocking-pipe-child.c: New file.
40219         * tests/test-nonblocking-pipe.h: New file.
40220         * tests/test-nonblocking-writer.h: New file.
40221         * tests/test-nonblocking-reader.h: New file.
40222         * tests/test-nonblocking-misc.h: New file.
40223         * modules/nonblocking-pipe-tests: New file.
40224         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
40226 2011-04-16  Bruno Haible  <bruno@clisp.org>
40228         gettext: Clarify the needed programmer actions.
40229         * modules/gettext (Notice): New field.
40230         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40232 2011-04-16  Bruno Haible  <bruno@clisp.org>
40234         strchrnul: Tweak last commit.
40235         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
40236         bug.
40237         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
40238         as in _GL_FUNCDECL_SYS.
40239         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
40240         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
40242 2011-04-15  Eric Blake  <eblake@redhat.com>
40244         strchrnul: work around cygwin bug
40245         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
40246         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
40247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
40248         * modules/string (Makefile.am): Substitute it.
40249         * lib/string.in.h (strchrnul): Use it.
40251 2011-04-15  Bruno Haible  <bruno@clisp.org>
40253         Don't require lib/stdio-write.c when only module 'stdio' is used.
40254         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
40255         invocation.
40256         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
40258 2011-04-14  Bruno Haible  <bruno@clisp.org>
40260         Support non-blocking pipe I/O in read() on native Windows.
40261         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
40262         (read): New declaration.
40263         * lib/read.c: New file.
40264         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
40265         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
40266         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
40267         vscanf): New declarations.
40268         * lib/stdio-read.c: New file.
40269         * m4/read.m4: New file.
40270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
40271         REPLACE_READ.
40272         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
40273         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40274         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
40275         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
40276         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
40277         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40278         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40279         * modules/read: New file.
40280         * modules/nonblocking (Files): Add lib/stdio-read.c.
40281         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
40282         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
40283         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40284         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40285         * modules/pread (Depends-on): Add read.
40286         * modules/safe-read (Depends-on): Likewise.
40287         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
40288         gets, scanf, vfscanf, vscanf): Verify signatures.
40289         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
40290         problem with non-blocking pipes.
40291         * doc/posix-functions/fgetc.texi: Likewise.
40292         * doc/posix-functions/fgets.texi: Likewise.
40293         * doc/posix-functions/fread.texi: Likewise.
40294         * doc/posix-functions/fscanf.texi: Likewise.
40295         * doc/posix-functions/getc.texi: Likewise.
40296         * doc/posix-functions/getchar.texi: Likewise.
40297         * doc/posix-functions/gets.texi: Likewise.
40298         * doc/posix-functions/scanf.texi: Likewise.
40299         * doc/posix-functions/vfscanf.texi: Likewise.
40300         * doc/posix-functions/vscanf.texi: Likewise.
40302 2011-04-14  Bruno Haible  <bruno@clisp.org>
40304         Support non-blocking pipe I/O in write() on native Windows.
40305         * lib/write.c (rpl_write): Split a write request that failed merely
40306         because the byte count was larger than the pipe buffer's size.
40307         * doc/posix-functions/write.texi: Mention the problem with large byte
40308         counts.
40310 2011-04-14  Bruno Haible  <bruno@clisp.org>
40312         wchar: Ensure that wchar_t gets defined on uClibc.
40313         * lib/wchar.in.h: On uClibc, include <stddef.h>.
40314         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
40316 2011-04-13  Bruno Haible  <bruno@clisp.org>
40318         safe-write, full-read: Avoid unnecessary compilation units.
40319         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
40320         (Depends-on): Remove safe-read. Add ssize_t.
40321         * modules/full-read (Files): Add lib/full-write.c.
40322         (Depends-on): Add full-write.
40324 2011-04-13  Bruno Haible  <bruno@clisp.org>
40326         Support non-blocking pipe I/O and SIGPIPE in pwrite().
40327         * modules/pwrite (Depends-on): Add 'write'.
40329 2011-04-13  Bruno Haible  <bruno@clisp.org>
40331         Support non-blocking pipe I/O in write() on native Windows.
40332         * lib/unistd.in.h (write): Enable replacement also if
40333         GNULIB_UNISTD_H_NONBLOCKING is 1.
40334         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
40335         (rpl_write): When failing to write on a non-blocking pipe, change
40336         errno from ENOSPC to EAGAIN.
40337         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
40338         putchar, puts, vfprintf, vprintf): Enable replacement also if
40339         GNULIB_STDIO_H_NONBLOCKING is 1.
40340         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
40341         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
40342         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
40343         CALL_WITH_SIGPIPE_EMULATION.
40344         (CALL_WITH_SIGPIPE_EMULATION): Use them.
40345         * m4/nonblocking.m4: New file.
40346         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
40347         for non-blocking I/O support.
40348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40349         GNULIB_UNISTD_H_NONBLOCKING.
40350         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
40351         required for non-blocking I/O support.
40352         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
40353         * modules/nonblocking (Files): Add m4/nonblocking.m4,
40354         lib/stdio-write.c, m4/asm-underscore.m4.
40355         (Depends-on): Add stdio, unistd.
40356         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
40357         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
40358         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
40359         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
40360         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
40361         problem with non-blocking pipes.
40362         * doc/posix-functions/fputc.texi: Likewise.
40363         * doc/posix-functions/fputs.texi: Likewise.
40364         * doc/posix-functions/fwrite.texi: Likewise.
40365         * doc/posix-functions/printf.texi: Likewise.
40366         * doc/posix-functions/putc.texi: Likewise.
40367         * doc/posix-functions/putchar.texi: Likewise.
40368         * doc/posix-functions/puts.texi: Likewise.
40369         * doc/posix-functions/vfprintf.texi: Likewise.
40370         * doc/posix-functions/vprintf.texi: Likewise.
40371         * doc/posix-functions/write.texi: Likewise.
40373 2011-04-10  Jim Meyering  <meyering@redhat.com>
40375         maint.mk: prohibit doubled words
40376         Detect them also when they're separated by a newline.
40377         There are 3 ways to customize it:
40378           - disable the test on a per file basis, as usual with rules using
40379             $(VC_LIST_EXCEPT)
40380           - replace the default doubled-word-selecting regexp (affects all files)
40381           - ignore a particular file-vs-doubled-word match
40382         I nearly used that last one to ignore the "is is" match in
40383         coreutils' NEWS file, since the text was "ls -is is ..."
40384         To do that, I would have added this line to cfg.mk:
40385           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
40386         but it would have ignored any "is is" match in NEWS.
40387         Low probability, but still...
40388         Instead, I changed the text, slightly:
40389           -  ls -is is now consistent with ls -lis in ignoring values returned
40390           +  "ls -is" is now consistent with ls -lis in ignoring values returned
40391         * top/maint.mk (prohibit_double_word_RE_): Provide default.
40392         (prohibit_doubled_word_): Define.
40393         (sc_prohibit_doubled_word): New rule.
40394         (sc_prohibit_the_the): Remove.  Subsumed by the above.
40396 2011-04-10  Jim Meyering  <meyering@redhat.com>
40398         maint: fix doubled-word typo in comment
40399         * m4/gethostname.m4: s/is is/it is/
40400         * m4/getdomainname.m4: Likewise.
40402 2011-04-10  Jim Meyering  <meyering@redhat.com>
40404         maint: remove doubled word: s/it it/it/
40405         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
40407 2011-04-10  Jim Meyering  <meyering@redhat.com>
40409         maint.mk: remove useless semicolon and backslash
40410         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
40411         semicolon and backslash.
40413 2011-04-10  Bruno Haible  <bruno@clisp.org>
40415         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
40416         * modules/stdint-tests (Depends-on): Add wchar.
40418 2011-04-10  Jim Meyering  <meyering@redhat.com>
40420         maint: remove doubled words in comments, e.g., s/a a/a/
40421         * lib/strptime.c (day_of_the_week): s/the the/the/
40422         * tests/test-chown.h (test_chown): s/a a/a/
40424         test-chown.h: correct a cast
40425         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
40426         when the destination is a stat.st_gid.
40428 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
40430         getaddrinfo: Fix test for sa_len member.
40431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
40432         include <sys/types.h> before <sys/socket.h>.
40434 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40436         maint: change "can not" to "cannot"
40437         * doc/posix-functions/iconv.texi (iconv): This one crossed line
40438         boundaries.
40440 2011-04-09  Jim Meyering  <meyering@redhat.com>
40442         maint: change "a a" to "a"
40443         * tests/test-lchown.h (test_lchown): s/a a/a/
40445         maint.mk: prohibit \<the the\>
40446         * top/maint.mk (sc_prohibit_the_the): New rule.
40448         maint: fix "the the" in comment
40449         * lib/count-one-bits.h: s/the the/the/
40451         maint: change "can not" to "cannot"
40452         But do not change the occurrences in maintain.texi or in
40453         build-aux/po/Makefile.in.in, which I presume comes from gettext.
40454         * doc/gnulib-tool.texi: s/can not/cannot/
40455         * doc/posix-functions/accept.texi (accept): Likewise.
40456         * doc/posix-functions/socket.texi (socket): Likewise.
40457         * lib/mbrtowc.c: Likewise.
40459         maint.mk: prohibit use of "can not"
40460         * top/maint.mk (sc_prohibit_can_not): New rule.
40461         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
40463 2011-04-09  Bruno Haible  <bruno@clisp.org>
40465         careadlinkat: Guard against misuse of careadlinkatcwd.
40466         * lib/careadlinkat.c: Include <stdlib.h>.
40467         (careadlinkatcwd): Check that the fd argument is as expected.
40469 2011-04-09  Bruno Haible  <bruno@clisp.org>
40471         careadlinkat: Use common coding style.
40472         * lib/careadlinkat.c: Move gnulib includes after system includes.
40474 2011-04-09  Bruno Haible  <bruno@clisp.org>
40476         careadlinkat: Clarify specification.
40477         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40478         (careadlinkatcwd): Add comment.
40479         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40481 2011-04-09  Bruno Haible  <bruno@clisp.org>
40483         areadlinkat: Avoid link error on many platforms.
40484         * modules/areadlinkat (Depends-on): Add areadlink.
40486 2011-04-09  Bruno Haible  <bruno@clisp.org>
40488         allocator, careadlinkat: Fix double-inclusion guard.
40489         * lib/allocator.h: Fix double-inclusion guard.
40490         * lib/careadlinkat.h: Likewise.
40492 2011-04-09  Bruno Haible  <bruno@clisp.org>
40494         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40495         * lib/relocwrapper.c: Update dependencies hierarchy.
40496         * build-aux/install-reloc: Update list of files to be compiled.
40497         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40498         lib/allocator.[hc].
40500 2011-04-08  Eric Blake  <eblake@redhat.com>
40502         strftime: silence gnulib-tool warning
40503         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40505 2011-04-08  Bruno Haible  <bruno@clisp.org>
40507         verify: Fix syntax error with GCC 4.6 in C++ mode.
40508         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40509         (HAVE_STATIC_ASSERT): New macro.
40510         (verify_true, verify): Use 'static_assert' if it is supported and
40511         '_Static_assert' is not supported.
40513 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40515         allocator: New module.
40516         * modules/allocator, lib/allocator.c: New files.
40517         * lib/allocator.h (stdlib_allocator): New decl.
40518         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40519         Remove.  Do not include <stdlib.h>.
40520         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40521         * modules/careadlinkat (Files): Remove lib/allocator.h.
40522         (Depends-on): Add allocator.
40524         stdlib: let modules use system malloc, realloc
40525         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40526         if !_GL_USE_STDLIB_ALLOC.
40527         (malloc, realloc): Limit this change to a smaller scope.
40529         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40530         (malloc, realloc): Don't #undef; no longer needed.
40531         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40532         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40533         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40534         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40535         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40536         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40537         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40538         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40540         careadlinkat: rename members to avoid problem
40541         * lib/allocator.h (struct allocator): Rename members from
40542         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40543         and realloc are #define'd.  Reported by Eric Blake in
40544         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40545         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40547 2011-04-08  Eric Blake  <eblake@redhat.com>
40549         nonblocking: reduce dependency
40550         * tests/test-nonblocking.c: Only test sockets when in use.
40551         * modules/nonblocking-tests (Depends-on): Drop socket.
40552         (Makefile.am): Link even if sockets are not present.
40553         * modules/pipe2-tests (Makefile.am): Likewise.
40554         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40556         pipe2: fix O_NONBLOCK support on mingw
40557         * modules/pipe2 (Depends-on): Add nonblocking.
40558         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40559         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40560         * tests/test-nonblocking.c (main): Likewise.
40561         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40563         fcntl-h: fix O_ACCMODE on cygwin
40564         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40565         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40567         pipe-filter: drop O_NONBLOCK workarounds
40568         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40569         * modules/pipe-filter-ii (Depends-on): Likewise.
40570         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40572         nonblocking: provide O_NONBLOCK for mingw
40573         * modules/nonblocking (Depends-on): Add open.
40574         (configure.ac): Set new witness macro.
40575         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40576         * modules/fcntl-h (Makefile.am): Substitute it.
40577         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40578         nonblocking module is in use.
40579         * lib/nonblocking.c: Adjust portability test.
40580         * lib/open.c (open): Don't let native open see gnulib flag.
40581         * tests/test-fcntl-h.c (main): Enhance test.
40582         * tests/test-open.h (test_open): Likewise.
40583         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40585         careadlinkat: fix compilation error on mingw
40586         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40587         within struct allocator.
40589 2011-04-06  Eric Blake  <eblake@redhat.com>
40591         binary-io: relicense under LGPLv2+
40592         * modules/binary-io (License): Relax to LGPLv2+.
40593         Requested for libvirt, and required by pipe2.
40595 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40597         verify: use _Static_assert if available
40598         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40599         (verify_true, verify): Use it if available.  This generates better
40600         diagnostics with GCC 4.6.0 and later.
40602 2011-04-05  Bruno Haible  <bruno@clisp.org>
40604         Remove leftover generated .h files after config.status changed.
40606         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40607         GL_GENERATE_ALLOCA_H.
40608         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40609         GL_GENERATE_ALLOCA_H evaluates to false.
40611         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40612         GL_GENERATE_ARGZ_H.
40613         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40614         evaluates to false.
40616         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40617         GL_GENERATE_BYTESWAP_H.
40618         * modules/byteswap (Makefile.am): Remove byteswap.h if
40619         GL_GENERATE_BYTESWAP_H evaluates to false.
40621         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40622         GL_GENERATE_ERRNO_H.
40623         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40624         evaluates to false.
40626         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40627         GL_GENERATE_FLOAT_H.
40628         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40629         evaluates to false.
40631         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40632         GL_GENERATE_FNMATCH_H.
40633         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40634         GL_GENERATE_FNMATCH_H evaluates to false.
40636         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40637         GL_GENERATE_GLOB_H.
40638         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40639         evaluates to false.
40641         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40642         automake conditional GL_GENERATE_ICONV_H.
40643         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40644         evaluates to false.
40646         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40647         GL_GENERATE_NETINET_IN_H.
40648         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40649         GL_GENERATE_NETINET_IN_H evaluates to false.
40651         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40652         conditional GL_GENERATE_PTHREAD_H.
40653         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40654         * modules/pthread (Makefile.am): Remove pthread.h if
40655         GL_GENERATE_PTHREAD_H evaluates to false.
40657         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40658         GL_GENERATE_SCHED_H.
40659         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40660         evaluates to false.
40662         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40663         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40664         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40665         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40667         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40668         GL_GENERATE_STDARG_H.
40669         * modules/stdarg (Makefile.am): Remove stdarg.h if
40670         GL_GENERATE_STDARG_H evaluates to false.
40672         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40673         GL_GENERATE_STDBOOL_H.
40674         * modules/stdbool (Makefile.am): Remove stdbool.h if
40675         GL_GENERATE_STDBOOL_H evaluates to false.
40677         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40678         conditional GL_GENERATE_STDDEF_H.
40679         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40680         * modules/stddef (Makefile.am): Remove stddef.h if
40681         GL_GENERATE_STDDEF_H evaluates to false.
40683         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40684         GL_GENERATE_STDINT_H.
40685         * modules/stdint (Makefile.am): Remove stdint.h if
40686         GL_GENERATE_STDINT_H evaluates to false.
40688         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40689         GL_GENERATE_SYSEXITS_H.
40690         * modules/sysexits (Makefile.am): Remove sysexits.h if
40691         GL_GENERATE_SYSEXITS_H evaluates to false.
40693         Reported by Karl Berry and Ralf Wildenhues.
40695 2011-04-05  Bruno Haible  <bruno@clisp.org>
40697         Ensure to rebuild generated .h files when config.status has changed.
40698         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40699         config.status.
40700         * modules/ctype (Makefile.am): Likewise.
40701         * modules/dirent (Makefile.am): Likewise.
40702         * modules/errno (Makefile.am): Likewise.
40703         * modules/fcntl-h (Makefile.am): Likewise.
40704         * modules/float (Makefile.am): Likewise.
40705         * modules/getopt-posix (Makefile.am): Likewise.
40706         * modules/glob (Makefile.am): Likewise.
40707         * modules/iconv-h (Makefile.am): Likewise.
40708         * modules/inttypes (Makefile.am): Likewise.
40709         * modules/langinfo (Makefile.am): Likewise.
40710         * modules/locale (Makefile.am): Likewise.
40711         * modules/math (Makefile.am): Likewise.
40712         * modules/netdb (Makefile.am): Likewise.
40713         * modules/netinet_in (Makefile.am): Likewise.
40714         * modules/poll-h (Makefile.am): Likewise.
40715         * modules/pthread (Makefile.am): Likewise.
40716         * modules/pty (Makefile.am): Likewise.
40717         * modules/sched (Makefile.am): Likewise.
40718         * modules/search (Makefile.am): Likewise.
40719         * modules/selinux-h (Makefile.am): Likewise.
40720         * modules/signal (Makefile.am): Likewise.
40721         * modules/spawn (Makefile.am): Likewise.
40722         * modules/stdarg (Makefile.am): Likewise.
40723         * modules/stdbool (Makefile.am): Likewise.
40724         * modules/stddef (Makefile.am): Likewise.
40725         * modules/stdint (Makefile.am): Likewise.
40726         * modules/stdio (Makefile.am): Likewise.
40727         * modules/stdlib (Makefile.am): Likewise.
40728         * modules/string (Makefile.am): Likewise.
40729         * modules/strings (Makefile.am): Likewise.
40730         * modules/sys_file (Makefile.am): Likewise.
40731         * modules/sys_ioctl (Makefile.am): Likewise.
40732         * modules/sys_select (Makefile.am): Likewise.
40733         * modules/sys_socket (Makefile.am): Likewise.
40734         * modules/sys_stat (Makefile.am): Likewise.
40735         * modules/sys_time (Makefile.am): Likewise.
40736         * modules/sys_times (Makefile.am): Likewise.
40737         * modules/sys_utsname (Makefile.am): Likewise.
40738         * modules/sys_wait (Makefile.am): Likewise.
40739         * modules/sysexits (Makefile.am): Likewise.
40740         * modules/termios (Makefile.am): Likewise.
40741         * modules/time (Makefile.am): Likewise.
40742         * modules/unistd (Makefile.am): Likewise.
40743         * modules/wchar (Makefile.am): Likewise.
40744         * modules/wctype-h (Makefile.am): Likewise.
40745         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40747 2011-04-05  Bruno Haible  <bruno@clisp.org>
40749         pipe2: Relicense under LGPLv2+.
40750         * modules/pipe2 (License): Change to LGPLv2+.
40751         Requested by Eric Blake, for libvirt.
40753 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40755         bootstrap: compute gnulib_extra_files after updating build_aux
40756         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40757         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40759 2011-04-05  Eric Blake  <eblake@redhat.com>
40761         bootstrap: preserve git whitelist item sorting
40762         * build-aux/bootstrap (sort_patterns): New function.
40763         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40765 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40767         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40768         sc_space_tab check.
40770 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40772         areadlink, areadlinkat: rewrite in terms of careadlinkat
40773         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40774         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40775         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40776         (malloc, realloc): Remove #undefs.
40777         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40778         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40779         readlink, ssize_t, stdint, unistd.
40780         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40781         areadlink, stdint.
40783         careadlinkat: new module
40784         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40785         * modules/careadlinkat: New files, written by me with
40786         a review and feedback from Ben Pfaff in
40787         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40789 2011-04-01  Bruno Haible  <bruno@clisp.org>
40791         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40792         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40793         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40794         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40795         Reported by Bruce Korb <bruce.korb@gmail.com>.
40797 2011-04-01  Bruno Haible  <bruno@clisp.org>
40799         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40800         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40801         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40802         * modules/wcpcpy (Depends-on): Add extensions.
40803         * modules/wcpncpy (Depends-on): Likewise.
40804         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40805         systems.
40806         * doc/posix-functions/wcpncpy.texi: Likewise.
40807         * doc/posix-functions/wcwidth.texi: Likewise.
40809 2011-03-31  Eric Blake  <eblake@redhat.com>
40811         nonblocking: fix mingw test failures
40812         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40813         non-blocking flag on regular file.
40814         (get_nonblocking_flag): Set errno on invalid fd.
40815         * tests/test-nonblocking.c (main): Avoid test failure on
40816         directories if fchdir is not active.
40817         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40819 2011-03-31  Bruno Haible  <bruno@clisp.org>
40821         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40822         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40823         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40824         Reported by Simon Josefsson <simon@josefsson.org>.
40826 2011-03-31  Bruno Haible  <bruno@clisp.org>
40827         and Eric Blake  <eblake@redhat.com>
40829         nonblocking: new module
40830         * modules/nonblocking: New module.
40831         * modules/nonblocking-tests: Likewise.
40832         * lib/nonblocking.h: New file.
40833         * lib/nonblocking.c: Likewise.
40834         * tests/test-nonblocking.c: New test.
40835         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40837 2011-03-30  Bruno Haible  <bruno@clisp.org>
40839         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40840         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40841         instead of 'printf' format for GCC >= 4.4.
40842         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40843         (fprintf, printf, vfprintf, vprintf): Declare with
40844         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40845         the system's vfprintf() function.
40846         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40848 2011-03-30  Eric Blake  <eblake@redhat.com>
40850         passfd: fix scoping bug
40851         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40852         before sendmsg/recvmsg.
40854         passfd: standardize coding conventions
40855         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40856         can be learned at compile time.
40857         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40858         ifdefs.
40859         (sendfd, recvfd): Follow gnulib code conventions.
40861         passfd: fix incorrect sendmsg arguments
40862         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40863         incorrect msg_controllen value.
40864         * modules/passfd-tests (Depends-on): Check for alarm.
40865         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40866         Reported by Bastien ROUCARIES.
40868 2011-03-30  Bruno Haible  <bruno@clisp.org>
40870         c-strcasestr: Relicense under LGPLv2+.
40871         * modules/c-strcasestr (License): Change to LGPLv2+.
40872         Requested by Eric Blake, for libvirt.
40874 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40876         * users.txt: Add libidn2.  Fix libtasn1 link.
40878 2011-03-30  Jim Meyering  <meyering@redhat.com>
40880         tests: readlink* ("",... fails with EINVAL on newer kernels
40881         readlink and readlinkat have typically failed with ENOENT for
40882         the invalid, empty file name,  "".  However, with the advent
40883         of linux-2.6.39, they fail with EINVAL.
40884         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40885         when operating on the empty file name.
40886         * tests/test-readlink.h (test_readlink): Likewise.
40888 2011-03-29  Bruno Haible  <bruno@clisp.org>
40890         Relicense some modules under LGPLv2+, for libidn2.
40891         * modules/array-mergesort (License): Change to LGPLv2+.
40892         * modules/c-strcaseeq (License): Likewise.
40893         * modules/striconveh (License): Likewise.
40894         * modules/striconveha (License): Likewise.
40895         * modules/uniconv/base (License): Likewise.
40896         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40897         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40898         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40899         * modules/unictype/base (License): Likewise.
40900         * modules/unictype/bidiclass-of (License): Likewise.
40901         * modules/unictype/category-M (License): Likewise.
40902         * modules/unictype/category-none (License): Likewise.
40903         * modules/unictype/category-of (License): Likewise.
40904         * modules/unictype/category-test (License): Likewise.
40905         * modules/unictype/category-test-withtable (License): Likewise.
40906         * modules/unictype/combining-class (License): Likewise.
40907         * modules/unictype/joiningtype-of (License): Likewise.
40908         * modules/unictype/scripts (License): Likewise.
40909         * modules/uninorm/base (License): Likewise.
40910         * modules/uninorm/canonical-decomposition (License): Likewise.
40911         * modules/uninorm/composition (License): Likewise.
40912         * modules/uninorm/decompose-internal (License): Likewise.
40913         * modules/uninorm/decomposition-table (License): Likewise.
40914         * modules/uninorm/nfc (License): Likewise.
40915         * modules/uninorm/nfd (License): Likewise.
40916         * modules/uninorm/u32-normalize (License): Likewise.
40917         * modules/unistr/base (License): Likewise.
40918         * modules/unistr/u32-cpy (License): Likewise.
40919         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40920         * modules/unistr/u32-to-u8 (License): Likewise.
40921         * modules/unistr/u32-uctomb (License): Likewise.
40922         * modules/unistr/u8-check (License): Likewise.
40923         * modules/unistr/u8-mblen (License): Likewise.
40924         * modules/unistr/u8-mbtouc (License): Likewise.
40925         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40926         * modules/unistr/u8-mbtoucr (License): Likewise.
40927         * modules/unistr/u8-prev (License): Likewise.
40928         * modules/unistr/u8-strlen (License): Likewise.
40929         * modules/unistr/u8-to-u32 (License): Likewise.
40930         * modules/unistr/u8-uctomb (License): Likewise.
40931         * modules/unitypes (License): Likewise.
40932         Requested by Simon Josefsson.
40934 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40936         lib-symbol-visibility: Add a notice.
40937         * modules/lib-symbol-visibility (Notice): New field.
40939 2011-03-29  Bruno Haible  <bruno@clisp.org>
40941         getaddrinfo: Doc fix.
40942         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40943         section "fixed in Gnulib".
40945 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40947         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40948         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40950 2011-03-26  Bruno Haible  <bruno@clisp.org>
40952         unictype/property-byname: Reduce the number of load-time relocations.
40953         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40954         (UC_PROPERTY_INDEX_*): New enumeration values.
40955         (uc_property_byname): Convert an index from the lookup table to an
40956         uc_property_t.
40957         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40958         values.
40960 2011-03-26  Bruno Haible  <bruno@clisp.org>
40962         unictype/property-byname: Allow omitted word separators and aliases.
40963         * lib/unictype/pr_byname.gperf: Add property names without word
40964         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40965         for 'space'.
40967 2011-03-26  Bruno Haible  <bruno@clisp.org>
40969         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40970         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40971         also hyphens to space.
40972         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40973         without spaces.
40974         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40976 2011-03-26  Bruno Haible  <bruno@clisp.org>
40978         unictype/joiningtype-byname: Recognize long names as well.
40979         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40980         a long name.
40981         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40982         unictype/joiningtype_byname.h.
40983         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40984         * lib/unictype/joiningtype_byname.gperf: New file.
40985         * modules/unictype/joiningtype-byname (Files): Add
40986         lib/unictype/joiningtype_byname.gperf.
40987         (Depends-on): Add gperf.
40988         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40989         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40990         long names.
40992         Tests for module 'unictype/joiningtype-longname'.
40993         * modules/unictype/joiningtype-longname-tests: New file.
40994         * tests/unictype/test-joiningtype_longname.c: New file.
40996         New module 'unictype/joiningtype-longname'.
40997         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40998         * lib/unictype/joiningtype_longname.c: New file.
40999         * modules/unictype/joiningtype-longname: New file.
41000         * modules/unictype/joiningtype-all (Depends-on): Add
41001         unictype/joiningtype-longname.
41003 2011-03-26  Bruno Haible  <bruno@clisp.org>
41005         unictype/bidiclass-byname: Recognize long names as well.
41006         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
41007         name.
41008         * lib/unictype/bidi_byname.c: Include <string.h>,
41009         unictype/bidi_byname.h.
41010         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
41011         * lib/unictype/bidi_byname.gperf: New file.
41012         * modules/unictype/bidiclass-byname (Files): Add
41013         lib/unictype/bidi_byname.gperf.
41014         (Depends-on): Add gperf.
41015         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
41016         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
41017         long names.
41019         Tests for module 'unictype/bidiclass-longname'.
41020         * modules/unictype/bidiclass-longname-tests: New file.
41021         * tests/unictype/test-bidi_longname.c: New file.
41023         New module 'unictype/bidiclass-longname'.
41024         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
41025         * lib/unictype/bidi_longname.c: New file.
41026         * modules/unictype/bidiclass-longname: New file.
41027         * modules/unictype/bidiclass-all (Depends-on): Add
41028         unictype/bidiclass-longname.
41030 2011-03-26  Bruno Haible  <bruno@clisp.org>
41032         unictype/bidi*: Rename modules.
41033         * modules/unictype/bidiclass-all: Renamed from
41034         modules/unictype/bidicategory-all.
41035         * modules/unictype/bidiclass-name: Renamed from
41036         modules/unictype/bidiclass-name.
41037         (Description): Update.
41038         * modules/unictype/bidiclass-name-tests: Renamed from
41039         modules/unictype/bidicategory-name-tests.
41040         * modules/unictype/bidiclass-byname: Renamed from
41041         modules/unictype/bidicategory-byname.
41042         (Description): Update.
41043         * modules/unictype/bidiclass-byname-tests: Renamed from
41044         modules/unictype/bidicategory-byname-tests.
41045         * modules/unictype/bidiclass-of: Renamed from
41046         modules/unictype/bidicategory-of.
41047         (Description): Update.
41048         * modules/unictype/bidiclass-of-tests: Renamed from
41049         modules/unictype/bidicategory-of-tests.
41050         * modules/unictype/bidiclass-test: Renamed from
41051         modules/unictype/bidicategory-test.
41052         (Description): Update.
41053         * modules/unictype/bidiclass-test-tests: Renamed from
41054         modules/unictype/bidicategory-test-tests.
41055         * modules/unictype/bidicategory-all: New file, a simple redirection.
41056         * modules/unictype/bidicategory-name: Likewise.
41057         * modules/unictype/bidicategory-byname: Likewise.
41058         * modules/unictype/bidicategory-of: Likewise.
41059         * modules/unictype/bidicategory-test: Likewise.
41060         * modules/unictype/property-bidi-* (Dependencies): Update.
41061         * lib/unictype/bidi_*.c: Update comment.
41063 2011-03-26  Bruno Haible  <bruno@clisp.org>
41065         unictype/bidi*: Rename functions, part 2.
41066         * modules/unictype/bidicategory-name (configure.ac): Update required
41067         libunistring version.
41068         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
41070 2011-03-25  Bruno Haible  <bruno@clisp.org>
41072         New module 'unictype/combining-class-all'.
41073         * modules/unictype/combining-class-all: New file.
41075         Tests for module 'unictype/combining-class-byname'.
41076         * modules/unictype/combining-class-byname-tests: New file.
41077         * tests/unictype/test-combiningclass_byname.c: New file.
41079         New module 'unictype/combining-class-byname'.
41080         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
41081         * lib/unictype/combiningclass_byname.c: New file.
41082         * lib/unictype/combiningclass_byname.gperf: New file.
41083         * modules/unictype/combining-class-byname: New file.
41085         Tests for module 'unictype/combining-class-longname'.
41086         * modules/unictype/combining-class-longname-tests: New file.
41087         * tests/unictype/test-combiningclass_longname.c: New file.
41089         New module 'unictype/combining-class-longname'.
41090         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
41091         * lib/unictype/combiningclass_longname.c: New file.
41092         * modules/unictype/combining-class-longname: New file.
41094         Tests for module 'unictype/combining-class-name'.
41095         * modules/unictype/combining-class-name-tests: New file.
41096         * tests/unictype/test-combiningclass_name.c: New file.
41098         New module 'unictype/combining-class-name'.
41099         * lib/unictype.in.h (uc_combining_class_name): New declaration.
41100         * lib/unictype/combiningclass_name.c: New file.
41101         * modules/unictype/combining-class-name: New file.
41103 2011-03-25  Bruno Haible  <bruno@clisp.org>
41105         unictype/combining-class: Rename source files.
41106         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
41107         of unictype/combining.h.
41108         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
41109         Update.
41110         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
41111         * modules/unictype/combining-class (Description): Fix.
41112         (Files, Makefile.am): Update.
41113         * tests/unictype/test-combiningclass.c: Renamed from
41114         tests/unictype/test-combining.c.
41115         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
41117 2011-03-25  Bruno Haible  <bruno@clisp.org>
41119         unictype: Update list of canonical combining classes.
41120         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
41122 2011-03-25  Bruno Haible  <bruno@clisp.org>
41124         unictype/category-byname: Recognize long names as well.
41125         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
41126         a long name.
41127         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
41128         unictype/categ_byname.h.
41129         (UC_CATEGORY_INDEX_*): New enumeration values.
41130         (uc_general_category_byname): Use uc_general_category_lookup and
41131         convert from index to value.
41132         * lib/unictype/categ_byname.gperf: New file.
41133         * modules/unictype/category-byname (Files): Add
41134         lib/unictype/categ_byname.gperf.
41135         (Depends-on): Add gperf.
41136         (Makefile.am): Add rule for generating unictype/categ_byname.h.
41137         * tests/unictype/test-categ_byname.c (main): Test the recognition of
41138         long names.
41140         Tests for module 'unictype/category-longname'.
41141         * modules/unictype/category-longname-tests: New file.
41142         * tests/unictype/test-categ_longname.c: New file.
41144         New module 'unictype/category-longname'.
41145         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
41146         * lib/unictype/categ_longname.c: New file.
41147         * modules/unictype/category-longname: New file.
41148         * modules/unictype/category-all (Depends-on): Add it.
41150 2011-03-25  Bruno Haible  <bruno@clisp.org>
41152         Tests for module 'unictype/category-LC'.
41153         * modules/unictype/category-LC-tests: New file.
41154         * tests/unictype/test-categ_LC.c: New file, automatically generated.
41156         New module 'unictype/category-LC'.
41157         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
41158         (UC_CATEGORY_LC): New declaration.
41159         (UC_CASED_LETTER): New macro.
41160         * lib/gen-uni-tables.c (is_category_LC): New function.
41161         (output_categories): Also handle category LC.
41162         (UC_CATEGORY_MASK_LC): New enumeration value.
41163         (general_category_byname): Also handle category LC.
41164         * lib/unictype/categ_LC.c: New file.
41165         * lib/unictype/categ_LC.h: New file, automatically generated.
41166         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
41167         category LC.
41168         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
41169         * modules/unictype/category-LC: New file.
41170         * modules/unictype/category-byname (Depends-on): Add
41171         unictype/category-LC.
41172         * modules/unictype/category-all (Depends-on): Likewise.
41174 2011-03-25  Eric Blake  <eblake@redhat.com>
41176         xmalloc: revert yesterday's regression
41177         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
41178         realloc's underlying behavior (allowing allocation of zero-size
41179         objects, especially if malloc-gnu is also in use).
41181 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
41183         maint.mk: add missing version to VC-tag
41184         * top/maint.mk: git tag was missing actual tag name; add it.
41186         valgrind: do leak checking, and exit with code 1 on error (not 0)
41187         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
41188         to VALGRIND.
41190 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
41192         posix-modules: say what it does.
41193         * posix-modules: Add a line to the --help output saying what it does.
41195 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
41197         xmalloc: Do not leak if underlying realloc is C99 compatible.
41198         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
41199         This avoids a leak on C99-based systems.  See
41200         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
41202 2011-03-24  Eric Blake  <eblake@redhat.com>
41204         realloc: document portability problem
41205         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
41206         passing 0 size to realloc.
41208 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
41210         doc: update users.txt
41211         * users.txt: Add cvsps, tmpwatch
41213 2011-03-23  Matt Rice  <ratmice@gmail.com>
41215         doc: update users.txt
41216         * users.txt: Add gdb.
41218 2011-03-23  Jim Meyering  <meyering@redhat.com>
41220         doc: update users.txt
41221         Looking through matches up to the following URL (there are still
41222         several more pages), I found several projects that use gnulib:
41223         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
41224         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
41225         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
41227 2011-03-22  Bruno Haible  <bruno@clisp.org>
41229         unictype/bidi*: Rename functions.
41230         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
41231         uc_bidi_class, uc_is_bidi_class): New declarations.
41232         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
41233         uc_bidi_category_byname.
41234         (uc_bidi_category_byname): New function.
41235         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
41236         u_bidi_category_name.
41237         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
41238         (uc_bidi_category_name): New function.
41239         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
41240         uc_bidi_category.
41241         (uc_bidi_category): New function.
41242         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
41243         uc_is_bidi_category. Invoke uc_bidi_class.
41244         (uc_is_bidi_category): New function.
41245         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
41246         instead of uc_bidi_category_byname.
41247         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
41248         instead of uc_bidi_category_name.
41249         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
41250         uc_bidi_category.
41251         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
41252         instead of uc_is_bidi_category.
41254 2011-03-21  Bruno Haible  <bruno@clisp.org>
41256         New module 'unictype/joininggroup-all'.
41257         * modules/unictype/joininggroup-all: New file.
41259         Tests for module 'unictype/joininggroup-of'.
41260         * modules/unictype/joininggroup-of-tests: New file.
41261         * tests/unictype/test-joininggroup_of.c: New file.
41262         * tests/unictype/test-joininggroup_of.h: New file, automatically
41263         generated by gen-uni-tables.
41265         New module 'unictype/joininggroup-of'.
41266         * modules/unictype/joininggroup-of: New file.
41267         * lib/unictype/joininggroup_of.c: New file.
41268         * lib/unictype/joininggroup_of.h: New file, automatically generated by
41269         gen-uni-tables.
41271         Tests for module 'unictype/joininggroup-byname'.
41272         * modules/unictype/joininggroup-byname-tests: New file.
41273         * tests/unictype/test-joininggroup_byname.c: New file.
41275         New module 'unictype/joininggroup-byname'.
41276         * modules/unictype/joininggroup-byname: New file.
41277         * lib/unictype/joininggroup_byname.c: New file.
41278         * lib/unictype/joininggroup_byname.gperf: New file.
41280         Tests for module 'unictype/joininggroup-name'.
41281         * modules/unictype/joininggroup-name-tests: New file.
41282         * tests/unictype/test-joininggroup_name.c: New file.
41284         New module 'unictype/joininggroup-name'.
41285         * modules/unictype/joininggroup-name: New file.
41286         * lib/unictype/joininggroup_name.c: New file.
41287         * lib/unictype/joininggroup_name.h: New file.
41289         New module 'unictype/joiningtype-all'.
41290         * modules/unictype/joiningtype-all: New file.
41292         Tests for module 'unictype/joiningtype-of'.
41293         * modules/unictype/joiningtype-of-tests: New file.
41294         * tests/unictype/test-joiningtype_of.c: New file.
41295         * tests/unictype/test-joiningtype_of.h: New file, automatically
41296         generated by gen-uni-tables.
41298         New module 'unictype/joiningtype-of'.
41299         * modules/unictype/joiningtype-of: New file.
41300         * lib/unictype/joiningtype_of.c: New file.
41301         * lib/unictype/joiningtype_of.h: New file, automatically generated by
41302         gen-uni-tables.
41304         Tests for module 'unictype/joiningtype-byname'.
41305         * modules/unictype/joiningtype-byname-tests: New file.
41306         * tests/unictype/test-joiningtype_byname.c: New file.
41308         New module 'unictype/joiningtype-byname'.
41309         * modules/unictype/joiningtype-byname: New file.
41310         * lib/unictype/joiningtype_byname.c: New file.
41312         Tests for module 'unictype/joiningtype-name'.
41313         * modules/unictype/joiningtype-name-tests: New file.
41314         * tests/unictype/test-joiningtype_name.c: New file.
41316         New module 'unictype/joiningtype-name'.
41317         * modules/unictype/joiningtype-name: New file.
41318         * lib/unictype/joiningtype_name.c: New file.
41320         unictype: Add support for Arabic shaping properties.
41321         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
41322         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
41323         declarations.
41324         (UC_JOINING_GROUP_*): New enumeration values.
41325         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
41326         declarations.
41327         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
41328         (unicode_joining_type): New variable.
41329         (UC_JOINING_GROUP_*): New enumeration values.
41330         (unicode_joining_group): New variable.
41331         (fill_arabicshaping, joining_type_as_c_identifier,
41332         output_joining_type_test, output_joining_type,
41333         joining_group_as_c_identifier, output_joining_group_test,
41334         output_joining_group): New functions.
41335         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
41336         fill_arabicshaping and output_joining_type_test, output_joining_type,
41337         output_joining_group_test, output_joining_group.
41338         Reported by Simon Josefsson.
41340 2011-03-21  Jim Meyering  <meyering@redhat.com>
41342         strftime: fix a bug in yesterday's change
41343         * lib/strftime.c (add): Accommodate width's initial value of -1.
41344         Otherwise, nstrftime would copy uninitialized data into
41345         the result buffer.
41347 2011-03-21  Jim Meyering  <meyering@redhat.com>
41349         tests: add strftime-tests module
41350         * tests/test-strftime.c: New file.
41351         * modules/strftime-tests: New module.
41353 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41355         strftime: don't assume a byte count fits in 'int'
41356         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
41357         found this problem by static analysis, using gcc -Wstrict-overflow
41358         (GCC 4.5.2, x86-64).  This reported an optimization that depended
41359         on an integer overflow having undefined behavior, but it turns out
41360         that the argument is a size, which might not fit in 'int' anyway,
41362 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41364         stdio: don't require ignore_value around fwrite
41366         This patch works around libc bug 11959
41367         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
41368         Without this patch, applications must often write
41369         ignore_value (fwrite (...)) even though the ignore_value is
41370         not helpful here.  It's common to write many objects, using
41371         fwrite/printf/etc., and then use ferror to detect output error.
41373         I considered making this patch optional, but decided against it,
41374         because libc is obviously being inconsistent here: there is no
41375         reason libc should insist that user code must inspect fwrite
41376         return's value without also insisting that it inspect printf's,
41377         putchar's, etc.  If user code wants to have a strict style where
41378         all these functions' values are checked (so that ferror need not
41379         be checked), we could add support for that style in a new gnulib
41380         module, but in the meantime it's better to be consistent and to
41381         support common usage.
41383         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
41384         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
41385         that we are compiling in checking mode, and if not C++, and
41386         if not already wrapping fwrite for some other reason.
41387         (fwrite): #define to rpl_fwrite if the latter is defined.
41389 2011-03-20  Bruno Haible  <bruno@clisp.org>
41391         verror: Fix compilation error introduced on 2011-02-13.
41392         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
41393         instead of __attribute__.
41394         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41396 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41397             Bruno Haible  <bruno@clisp.org>
41399         socklen: do not depend on sys_socket
41400         While trying to modify Emacs to use gnulib's socklen module,
41401         I discovered a circular dependency: socklen depends on sys_socket
41402         and vice versa.  Emacs can use socklen, but it does not need
41403         sys_socket because it has its own substitute for sys/socket.h.
41404         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
41405         gl_TYPE_SOCKLEN_T.
41406         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
41407         gl_PREREQ_SYS_H_SOCKET.
41408         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
41409         gl_PREREQ_SYS_H_SOCKET.
41410         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
41411         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
41412         * modules/socklen (Depends-on): Do not depend on sys_socket.
41413         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
41415 2011-03-20  Jim Meyering  <meyering@redhat.com>
41417         maint.mk: sort file names *after* new transformation
41418         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
41419         prefix would have led to an unwarranted failure in GNU parted.
41420         Sort after that transformation.
41422 2011-03-19  Jim Meyering  <meyering@redhat.com>
41424         maint.mk: fix po-file syntax-check rule
41425         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
41426         Patch by Bruno Haible.
41428 2011-03-19  Bruno Haible  <bruno@clisp.org>
41430         socklen: Update comment.
41431         * m4/socklen.m4: Update comment about platforms.
41433 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41434             Bruno Haible  <bruno@clisp.org>
41436         inet_ntop, inet_pton: Simplify.
41437         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
41438         documented to provide socklen_t and we already depend on sys_socket.
41439         * modules/inet_pton (Depends-on): Likewise.
41440         * lib/arpa_inet.in.h: Adjust comment.
41442 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41443             Bruno Haible  <bruno@clisp.org>
41445         netdb: Simplify.
41446         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
41447         documented to provide socklen_t and we already depend on sys_socket.
41448         * lib/netdb.in.h: Adjust comment.
41450 2011-03-19  Bruno Haible  <bruno@clisp.org>
41452         sys_socket, netdb: Document problem with socklen_t.
41453         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
41454         platforms.
41455         * doc/posix-headers/netdb.texi: Likewise.
41457 2011-03-18  Eric Blake  <eblake@redhat.com>
41459         maint.mk: let po check work in VPATH build
41460         * top/maint.mk (po_file): Allow cfg.mk override.
41461         (sc_po_check): Allow VPATH use.
41462         Reported by Jiri Denemark.
41464 2011-03-16  Jim Meyering  <meyering@redhat.com>
41466         maint.mk: allow fine-grained syntax-check exclusion via Make variables
41467         Before, you would have had to create one .x-sc_ file per rule in order
41468         to exempt offending files.  Now, you may instead use a Make variable --
41469         usually defined in cfg.mk -- whose name identifies the affected rule.
41470         * top/maint.mk (_sc_excl): Define.
41471         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41472         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41474 2011-03-13  Bruno Haible  <bruno@clisp.org>
41476         ignore-value tests: Avoid warnings.
41477         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41478         empty for gcc < 3.4.
41480 2011-03-13  Bruno Haible  <bruno@clisp.org>
41482         passfd: Fix link error on Solaris.
41483         * modules/passfd (Description): Correct.
41484         (Depends-on): Add socketlib.
41485         (Link): New section.
41486         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41488 2011-03-13  Bruno Haible  <bruno@clisp.org>
41490         passfd: Fix link error on AIX 5.2.
41491         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41493 2011-03-13  Bruno Haible  <bruno@clisp.org>
41495         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41496         * lib/sys_socket.in.h: Include <stddef.h>.
41497         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41498         CMSG_FIRSTHDR. Remove unused variable.
41500 2011-03-13  Bruno Haible  <bruno@clisp.org>
41502         passfd: Fix compilation error on OpenBSD.
41503         * lib/passfd.c: Include <sys/uio.h>.
41505 2011-03-13  Bruno Haible  <bruno@clisp.org>
41507         passfd test: Fix warnings.
41508         * tests/test-passfd.c: Include <sys/wait.h>.
41509         (main): Fix typo.
41511 2011-03-13  Bruno Haible  <bruno@clisp.org>
41513         passfd module, part 4, tweaks.
41514         * tests/test-passfd.c: Reorder includes.
41515         (main): Fix perror and printf calls.
41517 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41519         passfd module, part 4.
41520         * modules/passfd-tests: New file.
41521         * tests/test-passfd.c: New file.
41523 2011-03-13  Jim Meyering  <meyering@redhat.com>
41525         Makefile: rely on GNU make; derive syntax-check rule names
41526         Rather than requiring that each sc_ rule be listed as a dependent
41527         of "check", use features of GNU make to derive the list.
41528         * Makefile (syntax-check-rules): Define.
41529         (check): Depend on the new variable, not the hard-coded list.
41531 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41532             Bruno Haible  <bruno@clisp.org>
41534         passfd module, part 3.
41535         * lib/passfd.h (recvfd): Add a flags argument.
41536         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41537         (recvfd): Add a flags argument.
41538         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41539         exists.
41540         * modules/passfd (Depends-on): Add cloexec.
41541         Suggested by Eric Blake.
41543 2011-03-13  Bruno Haible  <bruno@clisp.org>
41545         passfd module, part 2, tweaks.
41546         * modules/passfd (Files): Reorder.
41547         (Depends-on): Remove errno.
41548         (Include): Remove <sys/socket.h>, <sys/un.h>.
41549         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41550         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41551         specification header. Include <sys/socket.h> always. Don't include
41552         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41553         (sendfd): Clarify that it sets errno when it fails.
41554         (recvfd): Fix specification.
41556 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41558         passfd module, part 2.
41559         * modules/passfd: New file.
41560         * lib/passfd.h: New file.
41561         * lib/passfd.c: New file.
41563 2011-03-12  Bruno Haible  <bruno@clisp.org>
41565         wcswidth, mbswidth: Avoid integer overflow.
41566         * lib/wcswidth.c: Include <limits.h>.
41567         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41568         * lib/mbswidth.c: Include <limits.h>.
41569         (mbsnwidth): Avoid 'int' overflow.
41570         Reported by Jim Meyering.
41572 2011-03-12  Bruno Haible  <bruno@clisp.org>
41574         futimens, utimensat: Avoid endless recursion on Solaris 10.
41575         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41576         Solaris.
41577         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41578         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41580 2011-03-11  Jim Meyering  <meyering@redhat.com>
41582         maint.mk: relax a regexp to accommodate other formatting styles
41583         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41584         between "ngettext" and the following "(".
41586 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41588         maint.mk: suppress a false positive warning
41589         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41590         diagnostics are marked with ngettext.
41592 2011-03-10  Eric Blake  <eblake@redhat.com>
41594         wchar: add explicit dependencies, for Tru64
41595         * modules/mbmemcasecoll (Depends-on): Add wchar.
41596         * modules/mbtowc (Depends-on): Likewise.
41597         * modules/vasnprintf (Depends-on): Likewise.
41598         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41599         * modules/wctomb (Depends-on): Likewise.
41600         Reported by Peter O'Gorman.
41602 2011-03-08  Bruno Haible  <bruno@clisp.org>
41604         passfd module, part 1, tweaks.
41605         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41606         Improve indentation. Improve AC_MSG_CHECKING messages.
41607         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41608         gl_SOCKET_FAMILIES.
41610 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41612         passfd module, part 1.
41613         * m4/afunix.m4: New file.
41614         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41615         sockets.
41617 2011-03-08  Bruno Haible  <bruno@clisp.org>
41619         regex-quote: New API.
41620         * lib/regex-quote.h: Include <stdbool.h>.
41621         (struct regex_quote_spec): New type.
41622         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41623         New declarations.
41624         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41625         'const struct regex_quote_spec *' argument.
41626         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41627         (pcre_special): New constant.
41628         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41629         New functions.
41630         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41631         'const struct regex_quote_spec *' argument.
41632         * modules/regex-quote (Depends-on): Add stdbool.
41633         * tests/test-regex-quote.c (check): Update for new API. Add test for
41634         anchored results.
41635         * NEWS: Mention the API change.
41636         Reported by Reuben Thomas and Eric Blake.
41638 2011-03-06  Bruno Haible  <bruno@clisp.org>
41640         regex-quote: Fix creation of POSIX extended regular expressions.
41641         * lib/regex-quote.c (ere_special): Add grouping and alternation
41642         operators.
41644 2011-03-05  Bruno Haible  <bruno@clisp.org>
41646         doc: Improve doc regarding autopoint vs. gnulib.
41647         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41648         disable autopoint while running autoreconf.
41649         Suggested by Ralf Wildenhues.
41651 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41653         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41654         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41656 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41658         parse-duration: remove xalloc.h dependency
41659         * lib/parse-duration.c (parse_period): handle NULL return from
41660         strdup instead of calling xstrdup().
41661         * modules/parse-duration: remove "xalloc" dependency
41663 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41665         bootstrap: honor m4_base when running aclocal
41666         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41668 2011-03-02  Jim Meyering  <meyering@redhat.com>
41670         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41671         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41672         on request from Matt Booth.
41674 2011-03-01  Eric Blake  <eblake@redhat.com>
41676         test-link: work on Hurd
41677         * tests/test-link.h (test_link): Hurd rejects linking directories
41678         with EISDIR instead of the POSIX-mandated EPERM.
41680 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41682         stdio: simplify by moving files to printf-posix, sigpipe
41683         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41684         since this symbol is needed only if printf is replaced.
41685         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41686         Require gl_ASM_SYMBOL_PREFIX.
41687         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41688         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41689         (Depends-on): Add 'raise'.
41690         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41691         * modules/stdio (Files): Remove lib/stdio-write.c,
41692         m4/asm-underscore.m4.
41693         (Depends-on): Remove 'raise'.
41695         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41696         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41697         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41698         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41700 2011-02-28  Bruno Haible  <bruno@clisp.org>
41702         localcharset: Assume ANSI C behaviour of free().
41703         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41704         calling free().
41705         Suggested by Simon Josefsson <simon@josefsson.org>.
41707 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41708             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41709             Bruno Haible  <bruno@clisp.org>  (tiny change)
41711         On Cygwin, use /proc file system instead of win32 API.
41712         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41713         Win32 file names.
41714         (DllMain): Simplify by removing Cygwin specific code.
41715         (find_shared_library_fullname): Use Linux specific implementation also
41716         for Cygwin.
41717         (get_shared_library_fullname): Update accordingly.
41718         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41719         Win32 file names.
41720         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41721         Cygwin specific code.
41723 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41724             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41726         Fix OpenMP flag detection for various Fortran compilers.
41727         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41728         OpenMP-conditional compilation construct, to force compile
41729         failure with missing OpenMP flag.
41730         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41732 2011-02-25  Eric Blake  <eblake@redhat.com>
41734         strstr: expand test coverage
41735         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41736         compilation.
41737         * tests/test-memmem.c (main): Duplicate tests.
41738         * tests/test-strcasestr.c (main): Likewise.
41739         * tests/test-c-strcasestr.c (main): Likewise.
41741 2011-02-25  Jim Meyering  <meyering@redhat.com>
41743         maint.mk: detect missing-NL-at-EOF, too
41744         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41745         it also detects when a file lacks a newline at EOF.
41746         (require_exactly_one_NL_at_EOF_): Renamed from
41747         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41748         since people may well have .x-sc_... file names tied to the
41749         existing name.  Suggested by Eric Blake.
41751 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41753         dirname: move m4/dos.m4 functionality into lib/dosname.h
41755         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41756         extracts symbols from it, puts them into config.h; but it's much
41757         easier to use the symbols directly.  filename.h already does this,
41758         but it disagrees with dos.m4 in some respects.  This patch
41759         introduces a different include file dosname.h that packages up
41760         dos.m4, and then later we can work on merging filename.h and
41761         dosname.h.  Applications that need only the easy-to-configure
41762         symbols should consider including dosname.h rather than dirname.h.
41763         * NEWS: Mention incompatible changes.
41764         * m4/dos.m4: Remove.
41765         * lib/dosname.h, modules/dosname: New files.
41766         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41767         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41768         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41769         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41770         Include dosname.h, not dirname.h.
41771         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41772         Include dosname.h, for definitions of symbols like ISSLASH
41773         that used to be in config.h.
41774         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41775         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41776         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41777         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41778         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41779         * modules/rmdir (Files): Likewise.
41780         * modules/stat (Files): Likewise.
41781         * modules/unlink (Files): Likewise.
41782         * modules/dirname-lgpl (Depends-on): Add dosname.
41783         * modules/lstat (Depends-on): Likewise.
41784         * modules/openat (Depends-on): Likewise.
41785         * modules/rmdir (Depends-on): Likewise.
41786         * modules/savewd (Depends-on): Likewise.
41787         * modules/stat (Depends-on): Likewise.
41788         * modules/unlink (Depends-on): Likewise.
41789         * modules/openat (Depends-on): Remove dirname-lgpl.
41790         * modules/savewd (Depends-on): Likewise.
41791         * tests/test-dirname.c: Do not use removed symbols like
41792         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41793         the remaining symbols, e.g., ISSLASH ('\\').
41795 2011-02-25  Eric Blake  <eblake@redhat.com>
41797         strstr: revert patches that introduced bug and pessimization
41798         * lib/str-two-way.h: Add another reference.
41799         (two_way_short_needle, two_way_long_needle): Revert changes from
41800         2011-02-24; they pessimize search speed.
41801         (critical_factorization): Partially revert changes from
41802         2010-06-22; they violate the requirement that the left half of the
41803         needle be smaller than the period of the needle.
41805 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41807         filenamecat: remove unnecessary dependency on dirname-lgpl
41808         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41809         is no direct dependency, just an indirect one via filenamecat-lgpl.
41811         remove: remove unnecessary use of m4/dos.m4
41812         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41813         * modules/remove (FILES): Remove m4/dos.m4.
41815         * lib/openat-proc.c: Don't include dirname.h; not needed.
41817         backupfile: remove unnecessary use of m4/dos.m4
41818         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41819         of its symbols are used by the backupfile code.  backupfile.c does
41820         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41821         for the rare case of programs that want all their backup file
41822         names to live within 8+3 limits, and dos.m4 doesn't address that.
41823         * modules/backupfile (Files): Remove m4/dos.m4.
41825 2011-02-24  Jim Meyering  <meyering@redhat.com>
41827         strstr: fix a bug whereby strstr would mistakenly return NULL
41828         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41829         in period calculation.
41830         (two_way_long_needle): Likewise.
41831         The original problem was reported by Mike Stump in
41832         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41833         Ralf Wildenhues provided the short needle and haystack.
41834         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41835         Add a more involved test to trigger the bug in two_way_long_needle.
41837 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41839         gnulib-tool: remove use of bold display in help screen
41840         * gnulib-tool (func_usage): Do not use bold display anymore in the
41841         help screen.  That was just meant to be a temporary emphasis for a
41842         backward-incompatible change.
41844 2011-02-23  Bruno Haible  <bruno@clisp.org>
41846         Fix misindentation of preprocessor directives.
41847         * lib/argp-namefrob.h: Reindent preprocessor directives.
41848         * lib/getopt_int.h (struct _getopt_data): Likewise.
41849         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41850         * lib/vasnprintf.c (decode_long_double): Likewise.
41851         * tests/test-argmatch.c: Insert blank lines, for clarity.
41852         * tests/test-exclude.c: Likewise.
41854 2011-02-22  Bruno Haible  <bruno@clisp.org>
41856         ioctl: Fix for MacOS X in 64-bit mode.
41857         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41858         value.
41859         Suggested by Eric Blake.
41860         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41862 2011-02-22  Jim Meyering  <meyering@redhat.com>
41864         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41865         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41866         in lib/.
41868 2011-02-22  Eric Blake  <eblake@redhat.com>
41870         maint: avoid any CDPATH issue
41871         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41873         maint: adjust cpp indentation for my modules, as well
41874         * Makefile (sc_cpp_indent_check): Add my name.
41875         * lib/fbufmode.c: Filter through cppi.
41876         * lib/fpurge.c: Likewise.
41877         * lib/freadable.c: Likewise.
41878         * lib/freading.c: Likewise.
41879         * lib/fwritable.c: Likewise.
41880         * lib/fwriting.c: Likewise.
41881         * lib/sigaction.c: Likewise.
41883 2011-02-22  Jim Meyering  <meyering@redhat.com>
41885         maint: adjust cpp indentation to reflect nesting depth
41886         I.e., in a block of code that begins with an unnested "#if",
41887         put one space between the "#" in column 1 and following token.
41888         For example,
41889         -#include <sys/vfs.h>
41890         +# include <sys/vfs.h>
41891         Do this only in .c files that are part of a module I maintain.
41892         * lib/linkat.c: Filter through cppi.
41893         * lib/nanosleep.c: Likewise.
41894         * lib/openat.c: Likewise.
41895         * lib/openat-die.c: Likewise.
41896         * lib/dup3.c: Likewise.
41897         * lib/fchownat.c: Likewise.
41898         * lib/flock.c: Likewise.
41899         * lib/fsync.c: Likewise.
41900         * lib/fts.c: Likewise.
41901         * lib/getpass.c: Likewise.
41902         * lib/gettimeofday.c: Likewise.
41903         * lib/userspec.c: Likewise.
41904         * Makefile (sc_cpp_indent_check): New rule, to check this.
41906 2011-02-22  Bruno Haible  <bruno@clisp.org>
41908         New module 'wctomb'.
41909         * lib/stdlib.in.h (wctomb): New declaration.
41910         * lib/wctomb.c: New file.
41911         * lib/wctomb-impl.h: New file.
41912         * m4/wctomb.m4: New file.
41913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41914         REPLACE_WCTOMB.
41915         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41916         REPLACE_WCTOMB.
41917         * modules/wctomb: New file.
41918         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41919         * doc/posix-functions/wctomb.texi: Mention the new module.
41920         * modules/wctob (Depends-on): Add wctomb.
41922 2011-02-22  Bruno Haible  <bruno@clisp.org>
41924         New module 'mbtowc'.
41925         * lib/stdlib.in.h (mbtowc): New declaration.
41926         * lib/mbtowc.c: New file.
41927         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41928         * m4/mbtowc.m4: New file.
41929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41930         REPLACE_MBTOWC.
41931         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41932         REPLACE_MBTOWC.
41933         * modules/mbtowc: New file.
41934         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41935         * doc/posix-functions/mbtowc.texi: Mention the new module.
41936         * modules/btowc (Depends-on): Add mbtowc.
41938 2011-02-22  Bruno Haible  <bruno@clisp.org>
41940         wcrtomb: Add more tests for native Windows platforms.
41941         * tests/test-wcrtomb-w32-1.sh: New file.
41942         * tests/test-wcrtomb-w32-2.sh: New file.
41943         * tests/test-wcrtomb-w32-3.sh: New file.
41944         * tests/test-wcrtomb-w32-4.sh: New file.
41945         * tests/test-wcrtomb-w32-5.sh: New file.
41946         * tests/test-wcrtomb-w32.c: New file.
41947         * modules/wcrtomb-tests (Files): Add them.
41948         (Makefile.am): Arrange to run these tests.
41949         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41950         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41952 2011-02-20  Bruno Haible  <bruno@clisp.org>
41954         wcrtomb: Enhance test.
41955         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41957 2011-02-20  Bruno Haible  <bruno@clisp.org>
41959         mbrtowc: Tiny optimization.
41960         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41962 2011-02-20  Jim Meyering  <meyering@redhat.com>
41964         test-exclude.c: remove unmatched #endif
41965         * tests/test-exclude.c: Remove stray #endif, left over from
41966         the change of a week ago.
41968 2011-02-19  Jim Meyering  <meyering@redhat.com>
41970         git-version-gen: skip "-dirty" check when appropriate
41971         * build-aux/git-version-gen: Don't run any git commands when the
41972         version string comes from .tarball-version.  Prior to this, we
41973         would run git update-index --refresh even from a just-unpacked
41974         tarball directory, and that could affect a .git/ directory in a
41975         parent of the build directory.  Reported by Mike Frysinger.
41977 2011-02-19  Bruno Haible  <bruno@clisp.org>
41979         unictype/property-byname: Reduce the size of the 'data' segment.
41980         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41982 2011-02-19  Bruno Haible  <bruno@clisp.org>
41984         unictype/scripts: Reduce the size of the 'data' segment.
41985         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41986         '%pic'.
41987         * lib/unictype/scripts_byname.gperf: Regenerated.
41989 2011-02-19  Bruno Haible  <bruno@clisp.org>
41991         stdint: Update documentation.
41992         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41994 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41996         stdint: omit redundant check for wchar.h
41997         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41998         always tests whether wchar.h exists, so remove the now-redundant test.
42000 2011-02-18  Bruno Haible  <bruno@clisp.org>
42002         stdint: Cut dependency to module 'wchar'.
42003         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
42004         include the necessary prerequisites.
42005         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
42006         * modules/stdint (Depends-on): Remove wchar.
42007         (Makefile.am): Substitute HAVE_WCHAR_H.
42008         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
42010 2011-02-18  Eric Blake  <eblake@redhat.com>
42012         longlong: skip, rather than fail, on cross-compilation
42013         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
42014         when cross-compiling; regression from 2011-02-16.
42016 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42018         * NEWS: Mention 2011-02-08 change to stdlib.
42020 2011-02-17  Bruno Haible  <bruno@clisp.org>
42022         getloadavg: Add comments about platforms.
42023         * m4/getloadavg.m4: Add comment.
42024         * lib/getloadavg.c: Likewise.
42026 2011-02-17  Bruno Haible  <bruno@clisp.org>
42028         getloadavg: Fix link error on Solaris 2.6.
42029         * modules/getloadavg (Link): New section.
42030         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
42031         linking test-getloadavg.
42032         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
42033         getloadavg.
42035 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42037         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
42038         It was 'int', but this doesn't match the IRIX 6.5 manual.
42039         Suggested by Bruno Haible in
42040         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
42042 2011-02-17  Bruno Haible  <bruno@clisp.org>
42044         havelib: Fix comments.
42045         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
42046         change.
42048 2011-02-17  Bruno Haible  <bruno@clisp.org>
42050         havelib: Update config.rpath.
42051         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
42053 2011-02-17  Bruno Haible  <bruno@clisp.org>
42055         getloadavg test: Add some plausibility checks.
42056         * tests/test-getloadavg.c (check_avg): Print a warning when the value
42057         is improbable.
42059 2011-02-16  Eric Blake  <eblake@redhat.com>
42061         maintainer-makefile: make syntax-check a no-op from tarballs
42062         * top/maint.mk (no-vc-detected): New rule.
42063         (local-checks-available): Use it to avoid hanging if someone tries
42064         'make syntax-check' from a tarball.  Also append to any non-syntax
42065         checks already defined in cfg.mk.
42067 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
42069         longlong: tune, particularly for common case of c99
42071         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
42072         or running anything if c99, or if unsigned long long int does not
42073         work.  In either case, we know the answer without further tests.
42074         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
42075         it at most once, and use its results for both long long int and
42076         unsigned long long int.  This is more likely to be efficient in
42077         the common case where the program wants to check for both long
42078         long int and unsigned long long int.
42079         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
42080         since the answer is already known.
42082 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
42084         getloadavg: set errno
42085         * lib/getloadavg.c: Set errno when returning -1.  If no other
42086         error number looks appropriate, set it to ENOSYS if the getloadavg
42087         looks like it can't possibly ever work, ENOTSUP otherwise.
42088         Suggested by Bruno Haible in
42089         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
42091         getloadavg: trim unused parts and speed up 'configure'
42092         * NEWS: Document this.
42093         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
42094         always compiled if getloadavg is absent.
42095         Move test code to ...
42096         * tests/test-getloadavg.c: New file, containing previous
42097         contents of test from lib/getloadavg.c.  It also contains
42098         suggestions by Bruno Haible in
42099         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
42100         * modules/getloadavg-tests: New file.
42101         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
42102         Do tests in the same order as they're needed for getloadavg.c.
42103         Omit setgid-related tests that generate symbols KMEM_GROUP,
42104         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
42105         Do only the tests that are needed to see whether the system has
42106         getloadavg, moving the other tests into ...
42107         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
42108         NLIST_NAME_UNION; nobody should be using it.  Do not define
42109         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
42110         relevant, as the user of this module shouldn't care how getloadavg
42111         is implemented.
42113         getloadavg: omit unused var
42114         * lib/getloadavg.c (getloadavg): Omit unused local variable.
42116 2011-02-15  Jim Meyering  <meyering@redhat.com>
42118         doc: update users.txt
42119         * users.txt: Update iwhd's URL.
42121 2011-02-13  Bruno Haible  <bruno@clisp.org>
42123         Consistent macro naming for macros that use GCC __attribute__.
42124         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
42125         _ATTRIBUTE_NONNULL_.
42126         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
42127         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
42128         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
42129         ATTRIBUTE_DEPRECATED.
42130         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
42131         ATTRIBUTE_NORETURN.
42132         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42133         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42134         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42135         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42136         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
42137         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
42138         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
42139         ATTRIBUTE_SENTINEL.
42140         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
42141         ATTRIBUTE_RETURN_CHECK.
42142         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
42143         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
42144         ATTRIBUTE_NORETURN.
42145         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
42146         Reported by Paul Eggert.
42148 2011-02-13  Bruno Haible  <bruno@clisp.org>
42150         Don't interfere with a program's definition of __attribute__.
42151         * lib/argp.h (__attribute__): Remove definition.
42152         (_GL_ATTRIBUTE_FORMAT): New macro.
42153         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
42154         * lib/argp-fmtstream.h (__attribute__): Remove definition.
42155         (_GL_ATTRIBUTE_FORMAT): New macro.
42156         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
42157         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
42158         GCC 3 or newer.
42159         * lib/error.h (__attribute__): Remove definition.
42160         (_GL_ATTRIBUTE_FORMAT): New macro.
42161         (error, error_at_line): Use it.
42162         * lib/hash.h (__attribute__): Remove definition.
42163         (ATTRIBUTE_WUR): Update definition. Define always.
42164         * lib/openat.h (__attribute__): Remove definition.
42165         (ATTRIBUTE_NORETURN): Update definition. Define always.
42166         * lib/sigpipe-die.h (__attribute__): Remove definition.
42167         (ATTRIBUTE_NORETURN): Update definition. Define always.
42168         * lib/vasnprintf.h (__attribute__): Remove definition.
42169         (_GL_ATTRIBUTE_FORMAT): New macro.
42170         (asnprintf, vasnprintf): Use it.
42171         * lib/xalloc.h (__attribute__): Remove definition.
42172         (ATTRIBUTE_NORETURN): Update definition. Define always.
42173         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
42174         * lib/xmemdup0.h (__attribute__): Remove definition.
42175         (ATTRIBUTE_NORETURN): Update definition. Define always.
42176         * lib/xprintf.h (__attribute__): Remove definition.
42177         (_GL_ATTRIBUTE_FORMAT): New macro.
42178         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
42179         * lib/xstrtol.h (__attribute__): Remove definition.
42180         (ATTRIBUTE_NORETURN): Update definition. Define always.
42181         * lib/xvasprintf.h (__attribute__): Remove definition.
42182         (_GL_ATTRIBUTE_FORMAT): New macro.
42183         (xasprintf, xvasprintf): Use it.
42184         * tests/test-argmatch.c (__attribute__): Remove definition.
42185         (ATTRIBUTE_NORETURN): Update definition. Define always.
42186         * tests/test-exclude.c (__attribute__): Remove definition.
42187         (ATTRIBUTE_NORETURN): Update definition. Define always.
42188         Reported by Paul Eggert.
42190 2011-02-13  Bruno Haible  <bruno@clisp.org>
42192         mbrtowc: Add more tests for native Windows platforms.
42193         * tests/test-mbrtowc-w32-1.sh: New file.
42194         * tests/test-mbrtowc-w32-2.sh: New file.
42195         * tests/test-mbrtowc-w32-3.sh: New file.
42196         * tests/test-mbrtowc-w32-4.sh: New file.
42197         * tests/test-mbrtowc-w32-5.sh: New file.
42198         * tests/test-mbrtowc-w32.c: New file.
42199         * modules/mbrtowc-tests (Files): Add them.
42200         (Makefile.am): Arrange to run these tests.
42201         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
42202         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
42204 2011-02-13  Bruno Haible  <bruno@clisp.org>
42206         mbrtowc: Work around native Windows bug.
42207         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
42208         guess when no suitable locale for testing was found.
42209         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
42211 2011-02-13  Bruno Haible  <bruno@clisp.org>
42213         mbsinit: Work around mingw bug.
42214         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
42215         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
42216         Windows.
42217         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
42219 2011-02-13  Bruno Haible  <bruno@clisp.org>
42221         mbsinit: Don't crash for a NULL argument.
42222         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
42223         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
42225 2011-02-13  Bruno Haible  <bruno@clisp.org>
42227         Don't interfere with a program's definition of __attribute__.
42228         * lib/stdio.in.h (__attribute__): Remove definition.
42229         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
42230         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
42231         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
42232         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
42233         * lib/string.in.h (__attribute__): Remove definition.
42234         Reported by Paul Eggert.
42236 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42238         stdlib: don't get in the way of non-GCC __attribute__
42239         See thread starting at
42240         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
42241         Revert previous stdlib change, installing the following instead:
42242         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
42243         to get in the way of a non-GCC compiler that supports __attribute__.
42244         (_GL_ATTRIBUTE_RETURN): New macro.
42245         (_Exit): Use it instead of __attribute__.
42247 2011-02-12  Bruno Haible  <bruno@clisp.org>
42249         quotearg test: Avoid test failure on mingw.
42250         * tests/test-quotearg.sh: Convert the locale identifier from native
42251         Windows syntax to Unix syntax.
42253 2011-02-12  Bruno Haible  <bruno@clisp.org>
42255         setlocale: Prefer gnulib's override over libintl's override.
42256         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
42257         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
42258         GNULIB_defined_setlocale is set.
42260 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42262         stdlib: support non-GCC __attribute__
42264         Fix a serious and tricky problem encountered when attempting to
42265         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
42266         5.5, but it crashed due to memory corruption on Solaris 10 with
42267         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
42268         bits that are otherwise zero.  This tagging is optional inside
42269         Emacs but is preferred and is used when __attribute__ ((__aligned
42270         (8))) works, as it does with both recent-enough GCC and with Sun C
42271         5.11.  However, Sun C 5.11 is not GCC and does not #define
42272         __GNUC__ and __GNUC_MINOR__.
42274         When I added the getloadavg module to Emacs, it brought in
42275         stdlib.in.h, which contained this fragment:
42277            #ifndef __attribute__
42278            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
42279            #  define __attribute__(Spec)   /* empty */
42280            # endif
42281            #endif
42283         When files that include <stdlib.h> were compiled with Sun C 5.11,
42284         the above code disabled __attribute__ ((__aligned (8))), which
42285         caused variables to not be properly aligned, which eventually led
42286         to the pointer corruption mentioned above.  (This was a bit hard
42287         to diagnose, unfortunately.)
42289         Several "#define __attribute__(X) /* empty */" code snippets need
42290         to be eradicated from Gnulib to work with non-GCC compilers that
42291         support __attribute__.  The Autoconf way to do this is to test for
42292         each kind of attribute that we want support for, and selectively
42293         enable that in source code.
42295         Fix this problem just for stdlib.h, by adding a test for the
42296         __noreturn__ attribute, and change stdlib.in.h to use that test
42297         when needed.  This technique can be easily generalized to the
42298         other *.in.h files and attributes, and a similar technique can be
42299         used for *.h and *.c files.  This patch is enough to solve the
42300         problem for Emacs + getloadavg, and I thought I'd publish it for
42301         feedback before undertaking further, similar fixes in other
42302         modules.
42304         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
42305         because it's not needed for stdlib.h.  It merely substitutes the
42306         value directly into stdlib.h.  We may well need to #define it, or
42307         similar symbols, for other modules, but it's nice to also have an
42308         option to not #define it for applications like Emacs that do not
42309         need it.
42311         * lib/stdlib.in.h (__attribute__): Do not #define.
42312         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
42313         be defined only if the _Exit module is also used.
42314         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
42315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
42316         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
42317         platforms.
42318         * modules/_Exit (Files): Add m4/attribute.m4.
42319         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
42320         * m4/attribute.m4: New file.
42322 2011-02-12  Bruno Haible  <bruno@clisp.org>
42324         wcsrtombs: Work around bug on native Windows.
42325         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
42326         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
42327         instead of len.
42328         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
42330 2011-02-12  Bruno Haible  <bruno@clisp.org>
42332         mbsrtowcs: Work around bug on native Windows.
42333         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
42334         against mingw bug.
42335         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
42337 2011-02-12  Bruno Haible  <bruno@clisp.org>
42339         Avoid setlocale bugs in tests.
42340         * modules/btowc (Dependencies): Add setlocale.
42341         * modules/c-strcase (Dependencies): Likewise.
42342         * modules/mbmemcasecmp (Dependencies): Likewise.
42343         * modules/mbmemcasecoll (Dependencies): Likewise.
42344         * modules/mbrtowc (Dependencies): Likewise.
42345         * modules/mbscasecmp (Dependencies): Likewise.
42346         * modules/mbscasestr (Dependencies): Likewise.
42347         * modules/mbschr (Dependencies): Likewise.
42348         * modules/mbscspn (Dependencies): Likewise.
42349         * modules/mbsinit (Dependencies): Likewise.
42350         * modules/mbsncasecmp (Dependencies): Likewise.
42351         * modules/mbsnrtowcs (Dependencies): Likewise.
42352         * modules/mbspbrk (Dependencies): Likewise.
42353         * modules/mbspcasecmp (Dependencies): Likewise.
42354         * modules/mbsrchr (Dependencies): Likewise.
42355         * modules/mbsrtowcs (Dependencies): Likewise.
42356         * modules/mbsspn (Dependencies): Likewise.
42357         * modules/mbsstr (Dependencies): Likewise.
42358         * modules/nl_langinfo (Dependencies): Likewise.
42359         * modules/quotearg (Dependencies): Likewise.
42360         * modules/unicase/locale-language (Dependencies): Likewise.
42361         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
42362         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
42363         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
42364         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
42365         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
42366         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
42367         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
42368         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
42369         * modules/vasnprintf-posix (Dependencies): Likewise.
42370         * modules/wcrtomb (Dependencies): Likewise.
42371         * modules/wcsnrtombs (Dependencies): Likewise.
42372         * modules/wcsrtombs (Dependencies): Likewise.
42374 2011-02-12  Bruno Haible  <bruno@clisp.org>
42376         setlocale: Workaround native Windows bug.
42377         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
42378         succeeds but sets LC_CTYPE to "C", report a failure.
42379         * tests/test-setlocale2.sh: New file.
42380         * tests/test-setlocale2.c: New file.
42381         * modules/setlocale-tests (Files): Add the new files.
42382         (Makefile.am): Enable test-setlocale2.sh test.
42383         * doc/posix-functions/setlocale.texi: Mention workaround.
42385 2011-02-11  Bruno Haible  <bruno@clisp.org>
42387         Tests for module 'setlocale'.
42388         * modules/setlocale-tests: New file.
42389         * tests/test-setlocale1.sh: New file.
42390         * tests/test-setlocale1.c: New file.
42392         New module 'setlocale'.
42393         * lib/locale.in.h (setlocale): New declaration.
42394         * lib/setlocale.c: New file, based on
42395         gettext/gettext-runtime/intl/setlocale.c.
42396         * m4/setlocale.m4: New file.
42397         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
42398         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
42399         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
42400         REPLACE_SETLOCALE.
42401         * modules/setlocale: New file.
42402         * tests/test-locale-c++.cc: Test the declaration of setlocale.
42403         * doc/posix-functions/setlocale.texi: Mention the new module.
42405 2011-02-11  Bruno Haible  <bruno@clisp.org>
42407         Prepare for locale dependent tests on mingw.
42408         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
42409         because it has the wrong locale encoding.
42410         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
42411         French_France.1252 instead of "fr".
42412         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
42413         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
42414         because it has the wrong locale encoding.
42415         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
42416         native Windows, try Turkish_Turkey.65001.
42417         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
42418         Chinese_China.54936.
42420         Prepare for locale dependent tests on mingw.
42421         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
42422         differently.
42423         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
42424         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
42425         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42426         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42428 2011-02-11  Eric Blake  <eblake@redhat.com>
42430         strptime: avoid compiler warnings
42431         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
42432         compiler warnings about dead code.
42433         Reported by Daniel P. Berrange.
42435 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
42437         doc: update users.txt
42438         * users.txt: Add rcs.
42440 2011-02-10  John W. Eaton  <jwe@gnu.org>
42442         doc: update users.txt
42443         * users.txt: Add octave.
42445 2011-02-10  Jim Meyering  <meyering@redhat.com>
42447         doc: update users.txt
42448         * users.txt: Add iwhd.
42450 2011-02-09  Bruno Haible  <bruno@clisp.org>
42452         gnulib-tool: Make copyright notice adjustment more robust.
42453         * gnulib-tool (func_import): In sed_transform_main_lib_file,
42454         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
42455         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
42456         License".
42457         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
42459 2011-02-06  Bruno Haible  <bruno@clisp.org>
42461         New module 'towctrans'.
42462         * modules/towctrans: New file.
42463         * lib/wctype.in.h (towctrans): New declaration.
42464         * lib/towctrans.c: New file.
42465         * lib/towctrans-impl.h: New file.
42466         * m4/towctrans.m4: New file.
42467         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
42468         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
42469         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
42470         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42471         * doc/posix-functions/towctrans.texi: Mention the new module.
42473 2011-02-06  Bruno Haible  <bruno@clisp.org>
42475         New module 'wctrans'.
42476         * modules/wctrans: New file.
42477         * lib/wctype.in.h (wctrans): New declaration.
42478         * lib/wctrans.c: New file.
42479         * lib/wctrans-impl.h: New file.
42480         * m4/wctrans.m4: New file.
42481         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42482         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42483         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42484         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42485         * doc/posix-functions/wctrans.texi: Mention the new module.
42487 2011-02-06  Bruno Haible  <bruno@clisp.org>
42489         New module 'iswctype'.
42490         * modules/iswctype: New file.
42491         * lib/wctype.in.h (iswctype): New declaration.
42492         * lib/iswctype.c: New file.
42493         * lib/iswctype-impl.h: New file.
42494         * m4/iswctype.m4: New file.
42495         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42496         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42497         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42498         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42499         * doc/posix-functions/iswctype.texi: Mention the new module and the
42500         HP-UX 11.00 problem.
42502 2011-02-06  Bruno Haible  <bruno@clisp.org>
42504         New module 'wctype'.
42505         * modules/wctype: Change to represent the wctype() substitute.
42506         * lib/wctype.in.h (wctype): New declaration.
42507         * lib/wctype.c: New file.
42508         * lib/wctype-impl.h: New file.
42509         * m4/wctype.m4: New file.
42510         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42511         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42512         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42513         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42514         * doc/posix-functions/wctype.texi: Mention the new module and the
42515         HP-UX 11.00 problem.
42517 2011-02-06  Bruno Haible  <bruno@clisp.org>
42519         wctype-h: Ensure wctype_t and wctrans_t are defined.
42520         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42521         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42522         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42523         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42524         HAVE_WCTRANS_T.
42525         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42527 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42529         flock: fix license typo
42531         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42532         omitted.
42534 2011-02-08  Bruno Haible  <bruno@clisp.org>
42536         Split large sed scripts, for HP-UX sed.
42537         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42538         to avoid HP-UX limit of 99 commands, in the near future.
42539         * modules/stdlib (Makefile.am): Likewise.
42540         * modules/unistd (Makefile.am): Likewise.
42541         * modules/wchar (Makefile.am): Likewise.
42542         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42543         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42544         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42546 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42547             Bruno Haible  <bruno@clisp.org>
42549         stdlib: improve random_r modularization
42550         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42551         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42552         you also need the random_r module to get this material right.
42553         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42554         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42555         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42557 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42559         stdlib: don't depend on stdint
42560         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42561         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42562         be independent of whether stdint.h is needed.
42563         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42564         here, instead of ...
42565         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42566         struct random_data should be using the random_r module, not just
42567         the stdlib module (which wouldn't make sense: what package needs
42568         just struct random_data without also needing random_r?).
42569         * modules/stdlib (Depends-on): Remove stdint.
42571         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42572         See the thread rooted at
42573         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42574         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42575         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42576         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42577         __VMS)); previously it was always included (via fcntl--.h).
42578         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42579         hand; this is good enough for load averages.  Also, do not use
42580         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42581         flags directly if available and don't bother otherwise.  (Packages
42582         that need the extra reliability should use the modules that define
42583         these flags on older platforms that lack them.)
42584         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42585         fcntl-safer.
42587 2011-02-08  Jim Meyering  <meyering@redhat.com>
42589         di-set.h, ino-map.h: add multiple-inclusion guard
42590         Technically, the guard is required only for ino-map.h, due to its
42591         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42592         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42593         * lib/ino-map.h: Likewise.
42595 2011-02-06  Bruno Haible  <bruno@clisp.org>
42597         iswblank: Ensure declaration on glibc systems.
42598         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42599         * modules/iswblank (Dependencies): Add 'extensions'.
42600         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42602 2011-02-06  Bruno Haible  <bruno@clisp.org>
42604         New module 'iswblank'.
42605         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42606         * modules/iswblank: New file.
42607         * modules/wctype-h (Files): Remove lib/iswblank.c.
42608         (Makefile.am): Substitute GNULIB_ISWBLANK.
42609         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42610         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42611         (gl_WCTYPE_H_DEFAULTS): New macro.
42612         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42613         * modules/iswblank-tests: New file.
42614         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42615         * tests/test-wctype-h.c (main): Remove iswblank tests.
42616         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42617         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42618         of 'wctype-h'.
42619         * NEWS: Mention the change.
42620         * modules/mbchar (Depends-on): Add iswblank.
42622 2011-02-08  Bruno Haible  <bruno@clisp.org>
42624         di-set tests: Refactor.
42625         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42626         unnecessary includes.
42627         (ASSERT): Remove macro.
42628         (main): Make C90 compliant by avoiding variable declaration after
42629         statement.
42630         * modules/di-set-tests (Files): Add tests/macros.h.
42632 2011-02-08  Bruno Haible  <bruno@clisp.org>
42634         ino-map tests: Refactor.
42635         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42636         unnecessary includes.
42637         (ASSERT): Remove macro.
42638         (main): Make C90 compliant by avoiding variable declaration after
42639         statement.
42640         * modules/ino-map-tests (Files): Add tests/macros.h.
42642 2011-02-08  Jim Meyering  <meyering@redhat.com>
42644         di-set: add "const" to a cast
42645         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42646         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42648 2011-02-06  Bruno Haible  <bruno@clisp.org>
42650         Rename module 'wctype' to 'wctype-h'.
42651         * modules/wctype-h: Renamed from modules/wctype.
42652         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42653         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42654         (Files, Depends-on, Makefile.am): Update.
42655         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42656         (Files, Makefile.am): Update.
42657         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42658         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42659         * doc/posix-headers/wctype.texi: Update.
42660         * doc/posix-functions/iswalnum.texi: Update.
42661         * doc/posix-functions/iswalpha.texi: Update.
42662         * doc/posix-functions/iswblank.texi: Update.
42663         * doc/posix-functions/iswcntrl.texi: Update.
42664         * doc/posix-functions/iswdigit.texi: Update.
42665         * doc/posix-functions/iswgraph.texi: Update.
42666         * doc/posix-functions/iswlower.texi: Update.
42667         * doc/posix-functions/iswprint.texi: Update.
42668         * doc/posix-functions/iswpunct.texi: Update.
42669         * doc/posix-functions/iswspace.texi: Update.
42670         * doc/posix-functions/iswupper.texi: Update.
42671         * doc/posix-functions/iswxdigit.texi: Update.
42672         * doc/posix-functions/towlower.texi: Update.
42673         * doc/posix-functions/towupper.texi: Update.
42674         * NEWS: Mention the change.
42675         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42676         * modules/mbchar (Dependencies): Likewise.
42677         * modules/mbswidth (Dependencies): Likewise.
42678         * modules/quotearg (Dependencies): Likewise.
42679         * modules/regex (Dependencies): Likewise.
42680         * modules/wcscasecmp (Dependencies): Likewise.
42681         * modules/wcsncasecmp (Dependencies): Likewise.
42682         * modules/wcwidth (Dependencies): Likewise.
42684 2011-02-06  Bruno Haible  <bruno@clisp.org>
42686         New module 'wcswidth'.
42687         * modules/wcswidth: New file.
42688         * lib/wchar.in.h (wcswidth): New declaration.
42689         * lib/wcswidth.c: New file.
42690         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42691         * m4/wcswidth.m4: New file.
42692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42694         REPLACE_WCSWIDTH.
42695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42696         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42697         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42698         * doc/posix-functions/wcswidth.texi: Mention the new module.
42700 2011-02-06  Bruno Haible  <bruno@clisp.org>
42702         New module 'wcstok'.
42703         * modules/wcstok: New file.
42704         * lib/wchar.in.h (wcstok): New declaration.
42705         * lib/wcstok.c: New file.
42706         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42707         * m4/wcstok.m4: New file.
42708         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42709         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42710         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42711         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42712         * doc/posix-functions/wcstok.texi: Mention the new module.
42714 2011-02-06  Bruno Haible  <bruno@clisp.org>
42716         New module 'wcsstr'.
42717         * modules/wcsstr: New file.
42718         * lib/wchar.in.h (wcsstr): New declaration.
42719         * lib/wcsstr.c: New file.
42720         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42721         * m4/wcsstr.m4: New file.
42722         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42723         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42724         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42725         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42726         * doc/posix-functions/wcsstr.texi: Mention the new module.
42728 2011-02-06  Bruno Haible  <bruno@clisp.org>
42730         New module 'wcspbrk'.
42731         * modules/wcspbrk: New file.
42732         * lib/wchar.in.h (wcspbrk): New declaration.
42733         * lib/wcspbrk.c: New file.
42734         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42735         * m4/wcspbrk.m4: New file.
42736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42738         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42739         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42740         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42742 2011-02-06  Bruno Haible  <bruno@clisp.org>
42744         New module 'wcsspn'.
42745         * modules/wcsspn: New file.
42746         * lib/wchar.in.h (wcsspn): New declaration.
42747         * lib/wcsspn.c: New file.
42748         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42749         * m4/wcsspn.m4: New file.
42750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42753         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42754         * doc/posix-functions/wcsspn.texi: Mention the new module.
42756 2011-02-06  Bruno Haible  <bruno@clisp.org>
42758         New module 'wcscspn'.
42759         * modules/wcscspn: New file.
42760         * lib/wchar.in.h (wcscspn): New declaration.
42761         * lib/wcscspn.c: New file.
42762         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42763         * m4/wcscspn.m4: New file.
42764         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42765         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42766         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42767         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42768         * doc/posix-functions/wcscspn.texi: Mention the new module.
42770 2011-02-06  Bruno Haible  <bruno@clisp.org>
42772         New module 'wcsrchr'.
42773         * modules/wcsrchr: New file.
42774         * lib/wchar.in.h (wcsrchr): New declaration.
42775         * lib/wcsrchr.c: New file.
42776         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42777         * m4/wcsrchr.m4: New file.
42778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42780         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42781         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42782         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42784 2011-02-06  Bruno Haible  <bruno@clisp.org>
42786         New module 'wcschr'.
42787         * modules/wcschr: New file.
42788         * lib/wchar.in.h (wcschr): New declaration.
42789         * lib/wcschr.c: New file.
42790         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42791         * m4/wcschr.m4: New file.
42792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42795         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42796         * doc/posix-functions/wcschr.texi: Mention the new module.
42798 2011-02-06  Bruno Haible  <bruno@clisp.org>
42800         New module 'wcsdup'.
42801         * modules/wcsdup: New file.
42802         * lib/wchar.in.h (wcsdup): New declaration.
42803         * lib/wcsdup.c: New file.
42804         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42805         * m4/wcsdup.m4: New file.
42806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42808         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42809         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42810         * doc/posix-functions/wcsdup.texi: Mention the new module.
42812 2011-02-06  Bruno Haible  <bruno@clisp.org>
42814         New module 'wcsxfrm'.
42815         * modules/wcsxfrm: New file.
42816         * lib/wchar.in.h (wcsxfrm): New declaration.
42817         * lib/wcsxfrm.c: New file.
42818         * lib/wcsxfrm-impl.h: New file.
42819         * m4/wcsxfrm.m4: New file.
42820         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42821         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42822         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42823         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42824         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42826 2011-02-06  Bruno Haible  <bruno@clisp.org>
42828         New module 'wcscoll'.
42829         * modules/wcscoll: New file.
42830         * lib/wchar.in.h (wcscoll): New declaration.
42831         * lib/wcscoll.c: New file.
42832         * lib/wcscoll-impl.h: New file.
42833         * m4/wcscoll.m4: New file.
42834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42837         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42838         * doc/posix-functions/wcscoll.texi: Mention the new module.
42840 2011-02-06  Bruno Haible  <bruno@clisp.org>
42842         New module 'wcsncasecmp'.
42843         * modules/wcsncasecmp: New file.
42844         * lib/wchar.in.h (wcsncasecmp): New declaration.
42845         * lib/wcsncasecmp.c: New file.
42846         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42847         * m4/wcsncasecmp.m4: New file.
42848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42851         HAVE_WCSNCASECMP.
42852         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42853         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42855 2011-02-06  Bruno Haible  <bruno@clisp.org>
42857         New module 'wcscasecmp'.
42858         * modules/wcscasecmp: New file.
42859         * lib/wchar.in.h (wcscasecmp): New declaration.
42860         * lib/wcscasecmp.c: New file.
42861         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42862         * m4/wcscasecmp.m4: New file.
42863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42866         HAVE_WCSCASECMP.
42867         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42868         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42870 2011-02-05  Bruno Haible  <bruno@clisp.org>
42872         New module 'wcsncmp'.
42873         * modules/wcsncmp: New file.
42874         * lib/wchar.in.h (wcsncmp): New declaration.
42875         * lib/wcsncmp.c: New file.
42876         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42877         * m4/wcsncmp.m4: New file.
42878         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42879         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42880         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42881         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42882         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42884 2011-02-05  Bruno Haible  <bruno@clisp.org>
42886         New module 'wcscmp'.
42887         * modules/wcscmp: New file.
42888         * lib/wchar.in.h (wcscmp): New declaration.
42889         * lib/wcscmp.c: New file.
42890         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42891         * m4/wcscmp.m4: New file.
42892         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42893         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42894         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42895         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42896         * doc/posix-functions/wcscmp.texi: Mention the new module.
42898 2011-02-05  Bruno Haible  <bruno@clisp.org>
42900         New module 'wcsncat'.
42901         * modules/wcsncat: New file.
42902         * lib/wchar.in.h (wcsncat): New declaration.
42903         * lib/wcsncat.c: New file.
42904         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42905         * m4/wcsncat.m4: New file.
42906         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42907         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42908         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42909         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42910         * doc/posix-functions/wcsncat.texi: Mention the new module.
42912 2011-02-05  Bruno Haible  <bruno@clisp.org>
42914         New module 'wcscat'.
42915         * modules/wcscat: New file.
42916         * lib/wchar.in.h (wcscat): New declaration.
42917         * lib/wcscat.c: New file.
42918         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42919         * m4/wcscat.m4: New file.
42920         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42921         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42922         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42923         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42924         * doc/posix-functions/wcscat.texi: Mention the new module.
42926 2011-02-05  Bruno Haible  <bruno@clisp.org>
42928         New module 'wcpncpy'.
42929         * modules/wcpncpy: New file.
42930         * lib/wchar.in.h (wcpncpy): New declaration.
42931         * lib/wcpncpy.c: New file.
42932         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42933         * m4/wcpncpy.m4: New file.
42934         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42935         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42936         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42937         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42938         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42940 2011-02-05  Bruno Haible  <bruno@clisp.org>
42942         New module 'wcsncpy'.
42943         * modules/wcsncpy: New file.
42944         * lib/wchar.in.h (wcsncpy): New declaration.
42945         * lib/wcsncpy.c: New file.
42946         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42947         * m4/wcsncpy.m4: New file.
42948         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42949         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42950         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42951         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42952         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42954 2011-02-05  Bruno Haible  <bruno@clisp.org>
42956         New module 'wcpcpy'.
42957         * modules/wcpcpy: New file.
42958         * lib/wchar.in.h (wcpcpy): New declaration.
42959         * lib/wcpcpy.c: New file.
42960         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42961         * m4/wcpcpy.m4: New file.
42962         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42963         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42964         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42965         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42966         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42968 2011-02-05  Bruno Haible  <bruno@clisp.org>
42970         New module 'wcscpy'.
42971         * modules/wcscpy: New file.
42972         * lib/wchar.in.h (wcscpy): New declaration.
42973         * lib/wcscpy.c: New file.
42974         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42975         * m4/wcscpy.m4: New file.
42976         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42977         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42978         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42979         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42980         * doc/posix-functions/wcscpy.texi: Mention the new module.
42982 2011-02-05  Bruno Haible  <bruno@clisp.org>
42984         New module 'wcsnlen'.
42985         * modules/wcsnlen: New file.
42986         * lib/wchar.in.h (wcsnlen): New declaration.
42987         * lib/wcsnlen.c: New file.
42988         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42989         * m4/wcsnlen.m4: New file.
42990         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42991         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42992         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42993         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42994         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42996 2011-02-05  Bruno Haible  <bruno@clisp.org>
42998         New module 'wcslen'.
42999         * modules/wcslen: New file.
43000         * lib/wchar.in.h (wcslen): New declaration.
43001         * lib/wcslen.c: New file.
43002         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
43003         * m4/wcslen.m4: New file.
43004         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
43005         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
43006         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
43007         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
43008         * doc/posix-functions/wcslen.texi: Mention the new module.
43010 2011-02-05  Bruno Haible  <bruno@clisp.org>
43012         New module 'wmemset'.
43013         * modules/wmemset: New file.
43014         * lib/wchar.in.h (wmemset): New declaration.
43015         * lib/wmemset.c: New file.
43016         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
43017         * m4/wmemset.m4: New file.
43018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
43019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
43020         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
43021         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
43022         * doc/posix-functions/wmemset.texi: Mention the new module.
43024 2011-02-05  Bruno Haible  <bruno@clisp.org>
43026         New module 'wmemmove'.
43027         * modules/wmemmove: New file.
43028         * lib/wchar.in.h (wmemmove): New declaration.
43029         * lib/wmemmove.c: New file.
43030         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
43031         * m4/wmemmove.m4: New file.
43032         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
43033         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
43034         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
43035         HAVE_WMEMMOVE.
43036         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
43037         * doc/posix-functions/wmemmove.texi: Mention the new module.
43039 2011-02-05  Bruno Haible  <bruno@clisp.org>
43041         New module 'wmemcpy'.
43042         * modules/wmemcpy: New file.
43043         * lib/wchar.in.h (wmemcpy): New declaration.
43044         * lib/wmemcpy.c: New file.
43045         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
43046         * m4/wmemcpy.m4: New file.
43047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
43048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
43049         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
43050         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
43051         * doc/posix-functions/wmemcpy.texi: Mention the new module.
43053 2011-02-05  Bruno Haible  <bruno@clisp.org>
43055         New module 'wmemcmp'.
43056         * modules/wmemcmp: New file.
43057         * lib/wchar.in.h (wmemcmp): New declaration.
43058         * lib/wmemcmp.c: New file.
43059         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
43060         * m4/wmemcmp.m4: New file.
43061         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
43062         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
43063         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
43064         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
43065         * doc/posix-functions/wmemcmp.texi: Mention the new module.
43067 2011-02-07  Jim Meyering  <meyering@redhat.com>
43069         di-set, ino-map: new modules, from coreutils
43070         * lib/di-set.c: New file.
43071         * lib/di-set.h: Likewise.
43072         * lib/ino-map.c: Likewise.
43073         * lib/ino-map.h: Likewise.
43074         * modules/di-set: Likewise.
43075         * modules/di-set-tests: Likewise.
43076         * modules/ino-map: Likewise.
43077         * modules/ino-map-tests: Likewise.
43078         * tests/test-di-set.c: Likewise.
43079         * tests/test-ino-map.c: Likewise.
43081 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
43083         getloadavg: merge minor changes from Emacs
43085         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
43086         (getloadavg): Use memset, not bzero.
43088         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
43089         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
43090         clash (bug#86).
43092 2010-11-14  Bruno Haible  <bruno@clisp.org>
43094         Allow multiple gnulib generated replacements to coexist.
43095         * lib/getopt.in.h (struct option): Avoid identical redefinition.
43096         * lib/inttypes.in.h (imaxdiv_t): Likewise.
43097         * lib/langinfo.in.h (nl_item): Likewise.
43098         * lib/math.in.h (_NaN, NAN): Likewise.
43099         * lib/netdb.in.h (struct addrinfo): Likewise.
43100         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
43101         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
43102         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
43103         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
43104         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
43105         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
43106         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
43107         pthread_mutexattr_init, pthread_mutexattr_settype,
43108         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
43109         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
43110         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
43111         pthread_spin_trylock, pthread_spin_unlock): Likewise.
43112         * lib/sched.in.h (struct sched_param): Likewise.
43113         * lib/se-selinux.in.h (security_class_t, security_context_t,
43114         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
43115         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
43116         lsetfilecon, fsetfilecon, security_check_context,
43117         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
43118         Likewise.
43119         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
43120         Likewise.
43121         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
43122         _gl_function_taking_int_returning_void_t, union sigval,
43123         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
43124         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
43125         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
43126         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
43127         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
43128         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
43129         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
43130         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
43131         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
43132         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
43133         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
43134         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
43135         socklen_t, rpl_fd_isset): Likewise.
43136         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
43137         * lib/sys_time.in.h (struct timeval): Likewise.
43138         * lib/sys_times.in.h (struct tms): Likewise.
43139         * lib/sys_utsname.in.h (struct utsname):
43140         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
43141         * lib/unistd.in.h (getpagesize): Likewise.
43142         * lib/wchar.in.h (mbstate_t): Likewise.
43143         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43144         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
43145         towlower, towupper): Likewise.
43146         Reported by Sam Steingold <sds@gnu.org>.
43148 2011-02-05  Eric Blake  <eblake@redhat.com>
43150         unsetenv: work around Haiku issues
43151         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
43152         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
43154 2010-12-30  Bruce Korb  <bkorb@gnu.org>
43156         libposix: avoid calling error() within libposix
43157         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
43158         is defined.
43160 2011-02-05  Eric Blake  <eblake@redhat.com>
43162         strerror_r-posix: port to cygwin
43163         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
43164         implementation.
43165         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
43166         * tests/test-strerror_r.c (main): Fix test.
43167         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
43168         issue.
43170 2011-02-05  Bruno Haible  <bruno@clisp.org>
43172         New module 'wmemchr'.
43173         * modules/wmemchr: New file.
43174         * lib/wchar.in.h (wmemchr): New declaration.
43175         * lib/wmemchr.c: New file.
43176         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
43177         * m4/wmemchr.m4: New file.
43178         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
43179         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
43180         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
43181         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
43182         * doc/posix-functions/wmemchr.texi: Mention the new module.
43184 2011-02-04  Eric Blake  <eblake@redhat.com>
43186         fdopendir: detect FreeBSD bug
43187         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
43188         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
43190 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43192         stdbool: do not define HAVE_STDBOOL_H
43193         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
43194         AC_HEADER_STDBOOL.  All uses changed.  Do not define
43195         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
43196         imported from the latest Autoconf git.  It was motivated by Emacs,
43197         which uses gnulib but does not need HAVE_STDBOOL_H.
43199 2011-02-04  Bruno Haible  <bruno@clisp.org>
43201         wcsnrtombs: Prepare for new module wwcsnrtombs.
43202         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
43203         * lib/wcsnrtombs.c: Include it.
43204         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
43206         wcsrtombs: Prepare for new module wwcsrtombs.
43207         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
43208         * lib/wcsrtombs.c: Include it.
43209         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
43211         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
43212         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
43213         * lib/mbsnrtowcs.c: Include it.
43214         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
43216         mbsrtowcs: Prepare for new module mbsrtowwcs.
43217         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
43218         * lib/mbsrtowcs.c: Include it.
43219         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
43221 2011-02-04  Bruno Haible  <bruno@clisp.org>
43223         vasnprintf: Reduce use of malloc for small format strings.
43224         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
43225         (arguments): Add room for the first 7 arguments.
43226         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
43227         (char_directives, u8_directives, u16_directives, u32_directives): Add
43228         room for the first 7 directives.
43229         * lib/printf-parse.c: Include <string.h>.
43230         (PRINTF_PARSE): Change memory handling code so that it uses the first
43231         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
43232         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
43233         Reported by Pádraig Brady <P@draigbrady.com>.
43235 2011-01-31  Eric Blake  <eblake@redhat.com>
43237         dup2: work around Haiku bug
43238         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
43239         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
43240         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43241         * tests/test-dup2.c (main): Enhance test.
43243 2011-01-31  Simon Josefsson  <simon@josefsson.org>
43245         doc: off_t is not available in eglibc 2.11.2 stdio.h.
43246         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
43247         declared by eglibc 2.11.2.
43248         * lib/stdio.in.h: Likewise.
43250 2011-01-31  Eric Blake  <eblake@redhat.com>
43252         ignore-value: add missing test dependency
43253         * tests/test-ignore-value.c: Revert previous change; stdio.h
43254         provides off_t.
43255         * modules/ignore-value-tests (Depends-on): Add missing dependency.
43257 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
43259         mktime: clarify long_int width checking
43260         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
43261         the top level, to make it clearer that the assumption about
43262         long_int width is being checked.  See
43263         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
43265 2011-01-30  Simon Josefsson  <simon@josefsson.org>
43267         ignore-value: Fix self-test.
43268         * tests/test-ignore-value.c: Include sys/types.h for off_t.
43270 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43272         TYPE_MAXIMUM: avoid theoretically undefined behavior
43273         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
43274         negative number, which the C Standard says has undefined behavior.
43275         In practice this is not a problem, but might as well do it by the book.
43276         Reported by Rich Felker and Eric Blake; see
43277         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
43278         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
43279         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43281         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
43282         * m4/stdint.m4 (gl_STDINT_H): Likewise.
43283         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
43285         mktime: #undef mktime before #defining it
43286         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
43288         mktime: systematically normalize tm_isdst comparisons
43289         * lib/mktime.c (isdst_differ): New function.
43290         (__mktime_internal): Use it systematically for all isdst comparisons.
43291         This completes the fix for libc BZ #6723, and removes the need for
43292         normalizing tm_isdst.  See
43293         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
43294         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
43296         mktime: fix some integer overflow issues and sidestep the rest
43298         This was prompted by a bug report by Benjamin Lindner for MinGW
43299         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
43300         His bug is due to signed integer overflow (0 - INT_MIN), and I
43301         I scanned through mktime.c looking for other integer overflow
43302         problems, fixing all the bugs I found.
43304         Although the C Standard says the resulting code is still not safe
43305         in the presence of integer overflow, in practice it should be good
43306         enough for all real-world two's-complement implementations, except
43307         for debugging environments that deliberately trap on integer
43308         overflow (e.g., gcc -ftrapv).
43310         * lib/mktime.c (WRAPV): New macro.
43311         (SHR): Also check that long_int and time_t shift right in the
43312         usual way, before using the fast-but-unportable method.
43313         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
43314         used.  The code already assumed two's complement, so there's
43315         no need to test for alternatives.  All uses removed.
43316         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
43317         the C standard.  Problem reported by Rich Felker in
43318         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
43319         (twos_complement_arithmetic): Also check long_int and time_t.
43320         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
43321         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
43322         (__mktime_internal): Avoid integer overflow with unary subtraction
43323         in two instances where -1 - X is an adequate replacement for -X,
43324         since the calculations are approximate.
43326 2011-01-29  Eric Blake  <eblake@redhat.com>
43328         mktime: avoid infinite loop
43329         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
43330         type; behavior is still undefined but portable to all known targets.
43331         Reported by Rich Felker.
43333 2011-01-29  Simon Josefsson  <simon@josefsson.org>
43335         rename, unlink, same-inode: Relicense.
43336         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
43337         * modules/unlink (License): Likewise.
43338         * modules/same-inode (License): Likewise.
43340 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43342         mktime: avoid problems on NetBSD 5 / i386
43343         * lib/mktime.c (long_int): New type.  This works around a problem
43344         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
43345         but time_t is 64 bits, and where I expect the existing code is
43346         wrong in some cases.
43347         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
43348         (ydhms_diff): Bring back the compile-time check for wide-enough
43349         year and yday.
43351         mktime: fix misspelling in comment
43352         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
43353         This merges all recent glibc changes of importance.
43355 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43357         move-if-change: cope with concurrent mv of identical file.
43358         * build-aux/move-if-change (CMPPROG): Accept environment
43359         variable as an override for `cmp'.
43360         (usage): Document CMPPROG.
43361         Adjust comparison to drop stdout.  Cope with failure of mv if
43362         the target file exists and is identical to the source, for
43363         parallel builds.
43364         Report from H.J. Lu against binutils in PR binutils/12283.
43366 2011-01-28  Bruce Korb  <bkorb@gnu.org>
43368         * users.txt: Mention sharutils.
43370 2011-01-28  Simon Josefsson  <simon@josefsson.org>
43372         * users.txt: Mention OATH Toolkit.
43374 2011-01-27  Bruno Haible  <bruno@clisp.org>
43376         Prepare for supporting FreeBSD 10.
43377         * build-aux/config.libpath: Remove handling of freebsd1*.
43379 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
43381         Prepare for supporting FreeBSD 10.
43382         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
43383         match FreeBSD 10.0.
43385 2011-01-27  Bruno Haible  <bruno@clisp.org>
43387         vma-iter, get-rusage-as: Add OpenBSD support.
43388         * modules/vma-iter (configure.ac): Test for mquery.
43389         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
43390         * lib/vma-iter.c: Include <sys/mman.h>.
43391         (vma_iterate): Add an implementation based on mquery().
43392         * lib/resource-ext.h (get_rusage_as): Update comments.
43393         * lib/get-rusage-as.c: Likewise.
43394         * lib/get-rusage-data.c: Likewise.
43396 2011-01-26  Karl Berry  <karl@gnu.org>
43398         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
43399         variables to make it easier to override the makeinfo program used.
43401 2011-01-26  Eric Blake  <eblake@redhat.com>
43403         fcntl: work around Haiku F_DUPFD bugs
43404         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
43405         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
43406         cloexec bit on duplication.
43407         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
43409 2011-01-26  Bruno Haible  <bruno@clisp.org>
43411         Enable memory leak tests on AIX.
43412         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
43413         * tests/test-fprintf-posix3.c (main): Likewise.
43415 2011-01-26  Bruno Haible  <bruno@clisp.org>
43417         Tests for module 'get-rusage-data'.
43418         * modules/get-rusage-data-tests: New file.
43419         * tests/test-get-rusage-data.c: New file.
43421         New module 'get-rusage-data'.
43422         * lib/resource-ext.h (get_rusage_data): New declaration.
43423         * lib/get-rusage-data.c: New file.
43424         * modules/get-rusage-data: New file.
43426 2011-01-25  Bruno Haible  <bruno@clisp.org>
43428         get-rusage-as: Allow for easier testing.
43429         * lib/resource-ext.h (get_rusage_as): Add comment.
43430         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
43431         (main): New function for interactive testing.
43433 2011-01-25  Bruno Haible  <bruno@clisp.org>
43435         vma-iter: Treat Haiku like BeOS.
43436         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
43437         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
43439 2011-01-25  Eric Blake  <eblake@redhat.com>
43441         c-stack: fix regression on cygwin when libsigsegv is present
43442         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
43444 2011-01-24  Bruno Haible  <bruno@clisp.org>
43446         vma-iter: Avoid empty intervals.
43447         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
43448         on an empty interval.
43450 2011-01-24  Jim Meyering  <meyering@redhat.com>
43452         u64: remove unnecessary #include
43453         * lib/u64.h: Don't include <stddef.h>.  It was not used.
43455 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43457         Allow the user to avoid the HAVE_RAW_DECL_* macros.
43458         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
43460 2011-01-23  Bruno Haible  <bruno@clisp.org>
43462         New module 'vma-iter'.
43463         * lib/vma-iter.h: New file.
43464         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
43465         * modules/vma-iter: New file.
43466         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
43467         for get_rusage_as_via_iterator.
43468         (vma_iterate_callback): New function.
43469         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
43470         * modules/get-rusage-as (Depends-on): Add vma-iter.
43472 2011-01-23  Bruno Haible  <bruno@clisp.org>
43474         uninorm: Tweak includes.
43475         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43476         Reported by Jim Meyering.
43478 2011-01-23  Bruno Haible  <bruno@clisp.org>
43480         get-rusage-as: Improve on NetBSD.
43481         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43482         /proc, like on FreeBSD.
43484 2011-01-23  Jim Meyering  <meyering@redhat.com>
43486         xreadlink.h: remove unnecessary #include
43487         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43489         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43490         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43492 2011-01-23  Bruno Haible  <bruno@clisp.org>
43494         get-rusage-as: Fix bug.
43495         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43496         original limit when aborting the first loop.
43498 2011-01-23  Bruno Haible  <bruno@clisp.org>
43500         wctype: Ensure valid C syntax.
43501         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43502         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43504 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43506         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43507         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43508         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43509         as they are needed only for configure's test case.
43510         This removes two unnecessary symbols from config.h.
43512         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43513         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43515         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43516         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43517         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43518         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43519         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43520         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43521         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43522         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43523         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43524         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43525         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43526         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43527         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43528         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43529         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43531 2011-01-21  Eric Blake  <eblake@redhat.com>
43533         maintainer-makefile: work with older git for submodule check
43534         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43535         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43536         Reported by Matthias Bolte.
43538         bootstrap: minor portability fixes
43539         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43540         (usage): Omit leading capital and trailing . on help phrases, per
43541         GNU Coding Standards.
43542         (check_versions, top level): Prefix messages with script name.
43544 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43546         bootstrap: support --no-git option
43547         * build-aux/bootstrap: Add --no-git option, to be used when
43548         --gnulib-srcdir points to the exact desired checkout.
43550 2011-01-21  Eric Blake  <eblake@redhat.com>
43552         strerror_r-posix: work with glibc 2.13
43553         * lib/strerror_r.c (strerror_r): Fix return type.
43555 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43556             Bruno Haible  <bruno@clisp.org>
43558         uN_strstr: New unit tests.
43559         * modules/unistr/u8-strstr-tests: New file.
43560         * modules/unistr/u16-strstr-tests: New file.
43561         * modules/unistr/u32-strstr-tests: New file.
43562         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43563         * tests/unistr/test-u8-strstr.c: New file.
43564         * tests/unistr/test-u16-strstr.c: New file.
43565         * tests/unistr/test-u32-strstr.c: New file.
43567 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43568             Bruno Haible  <bruno@clisp.org>
43570         Make uN_strstr functions O(n) worst-case.
43571         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43572         16-bit and 32-bit unit cases, use the unibyte algorithm from
43573         lib/mbsstr.c.
43574         * lib/unistr/u8-strstr.c: Include <string.h>.
43575         (UNIT_IS_UINT8_T): New macro.
43576         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43577         (U_STRLEN, U_STRNLEN): New macros.
43578         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43579         (U_STRLEN, U_STRNLEN): New macros.
43580         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43581         (configure.ac): Update required libunistring version.
43582         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43583         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43584         malloca.
43585         (configure.ac): Update required libunistring version.
43586         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43587         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43588         malloca.
43589         (configure.ac): Update required libunistring version.
43591 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43592             Bruno Haible  <bruno@clisp.org>
43594         Prepare for faster uN_strstr functions.
43595         * lib/str-kmp.h: Support definable UNITs.
43596         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43597         needle_len argument.
43598         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43599         * lib/mbscasestr.c (mbscasestr): Likewise.
43601 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43603         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43604         * tests/test-malloca.c (main): Unset the environment variable
43605         to greatly speed up the test.
43606         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43607         * modules/malloca-tests: Depend on unsetenv.
43609 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43611         ignore-value: remove stdint dependency
43612         * lib/ignore-value.h: Remove <stdint.h>
43613         * modules/ignore-value: Remove stdint dependency.
43615 2011-01-21  Jim Meyering  <meyering@redhat.com>
43617         maint.mk: adjust variable name to be consistent with other gl_ vars
43618         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43619         to be lower case.
43621 2011-01-20  Jim Meyering  <meyering@redhat.com>
43623         maint.mk: make "check" depend on public-submodule-commit by default
43624         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43626 2011-01-20  Bruno Haible  <bruno@clisp.org>
43628         mbfile, mbiter: Complete change from 2008-12-21.
43629         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43630         * m4/mbiter.m4 (gl_MBITER): Likewise.
43632 2011-01-20  Jim Meyering  <meyering@redhat.com>
43634         init.sh: insert space between each function name and "()"
43635         * tests/init.sh: Make it a little easier to see that a function's
43636         name is "warn_", and not "warn" when looking at the first part of
43637         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43639 2011-01-20  Jim Meyering  <meyering@redhat.com>
43641         mountlist: clean up code formatting
43642         * lib/mountlist.c (read_file_system_list): Split a long line,
43643         correct bracing style, use NULL in place of "(struct statfs *)0",
43644         don't parenthesize return value, add spaces around "=" and after
43645         ";-in-for-stmt".
43647 2011-01-14  Markus Duft  <mduft@gentoo.org>
43649         mountlist: add support for Interix
43650         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43651         Apply statvfs to all entries of /dev/fs.
43652         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43653         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43655 2011-01-20  Jim Meyering  <meyering@redhat.com>
43657         maint.mk: improve the public-submodule-commit rule
43658         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43659         to suppress printing of its commands... unless V=1.
43660         Add git submodule's --quiet option to suppress printing of e.g.,
43661         "Entering gnulib" output.
43662         "cd" into $(srcdir) before running git submodule.
43664 2011-01-20  Bruno Haible  <bruno@clisp.org>
43666         include_next: Fix bug introduced on 2011-01-18.
43667         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43668         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43669         ac_cv_header_... variable if the second argument is not 'check'.
43670         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43671         gl_NEXT_HEADERS_INTERNAL.
43673 2011-01-20  Bruno Haible  <bruno@clisp.org>
43675         Allow the user to avoid the GNULIB_TEST_* macros.
43676         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43677         Suggested by Paul Eggert.
43679 2011-01-14  Jim Meyering  <meyering@redhat.com>
43681         bootstrap: avoid failure when there is no .gitmodules file
43682         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43683         has been assigned to, even when its value is the empty string.
43684         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43685         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43686         Reported by John W. Eaton <jwe@gnu.org>.
43688 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43690         assume <ctype.h>, ..., <time.h> exist
43691         For years gnulib has been assuming the existence of the headers
43692         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43693         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43694         them, since they don't appear to be needed.
43695         * README (Portability guidelines): Document this.
43696         * lib/flock.c: Assume <fcntl.h> exists.
43697         * lib/regex_internal.h: Assume <locale.h> exists.
43698         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43699         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43700         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43701         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43702         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43703         * m4/regex.m4 (gl_REGEX): Likewise.
43704         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43705         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43706         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43707         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43708         * tests/test-argp.c: Likewise.
43709         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43711         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43712         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43713         AA_APPLE_UNIVERSAL_BUILD.  See
43714         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43715         * NEWS: Document this.
43717 2011-01-19  Eric Blake  <eblake@redhat.com>
43719         c-stack: assume stack overflow if SA_SIGINFO unsupported
43720         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43721         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43722         sigaction will work.
43723         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43724         behavior match Linux.
43725         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43727         stdbool-tests: accommodate Haiku
43728         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43730         binary-io: fix O_TEXT on Haiku
43731         * modules/binary-io (Depends-on): Add fcntl-h.
43732         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43733         than blindly undefining O_TEXT.
43734         Reported by Scott McCreary.
43736 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43738         include_next: do not check for standard headers like stddef.h
43740         I found this problem when modifying Emacs to use gnulib.
43741         I noticed that it added HAVE_STDDEF_H to config.h, even though
43742         gnulib always assumes <stddef.h> exists as per README and this
43743         symbol is unnecessary.
43744         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43745         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43746         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43747         faster for headers like stddef.h that are known to exist.
43748         (gl_CHECK_NEXT_HEADERS): Use it.
43749         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43750         rather than gl_CHECK_NEXT_HEADERS.
43751         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43752         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43754 2011-01-18  Eric Blake  <eblake@redhat.com>
43756         ansi-c++-opt: skip C++ dependency style if C++ is unused
43757         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43758         tests when we know C++ compilation is not desired.
43759         Reported by Scott McCreary.
43761 2011-01-18  Bruno Haible  <bruno@clisp.org>
43763         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43764         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43765         (main): Perform test also when getrlimit and setrlimit don't exist or
43766         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43767         limiting the address space size using setrlimit, compare the address
43768         space size before and after the test.
43769         * tests/test-dprintf-posix2.c: Likewise.
43770         * tests/test-fprintf-posix3.sh: Update skip messages.
43771         * tests/test-dprintf-posix2.sh: Likewise.
43772         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43773         * modules/dprintf-posix-tests (Depends-on): Likewise.
43774         Reported by Bruce Korb <bkorb@gnu.org> and
43775         Gary V. Vaughan <gary@gnu.org>.
43777 2011-01-18  Bruno Haible  <bruno@clisp.org>
43779         get-rusage-as: Improvement for Cygwin.
43780         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43781         areas that are merely reserved.
43783 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43785         strftime: remove dependencies on multibyte modules
43787         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43788         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43789         only if __osf__ is defined, and I suspect OSF doesn't need these
43790         other modules.  If my guess is wrong, we'll need to come up with a
43791         variant of strftime that doesn't need the multibyte modules.
43793         I discovered this problem when attempting modify Emacs to use the
43794         strftime module.  With the previous gnulib, this caused Emacs to
43795         need 31 new files, ranging from lib/config.charset to
43796         m4/wint_t.m4.  This was overkill and I expect would be offputting
43797         to the Emacs maintainers.  After this change, only 6 new files are
43798         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43799         stdbool.m4, and tm_gmtoff.m4.
43801         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43802         Suggested by Bruno Haible in
43803         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43804         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43805         and do not check for wchar.h.
43806         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43807         (Depends-on): Remove mbrlen, mbsinit, wchar.
43809 2011-01-18  Bruno Haible  <bruno@clisp.org>
43811         Tests for module 'get-rusage-as'.
43812         * modules/get-rusage-as-tests: New file.
43813         * tests/test-get-rusage-as.c: New file.
43815         New module 'get-rusage-as'.
43816         * modules/get-rusage-as: New file.
43817         * lib/resource-ext.h: New file.
43818         * lib/get-rusage-as.c: New file.
43820 2011-01-17  Eric Blake  <eblake@redhat.com>
43822         sigaction: relax license from LGPLv3+ to LGPLv2+
43823         * modules/sigaction (License): Relax to LGPLv2+.
43825 2011-01-14  Bruno Haible  <bruno@clisp.org>
43827         filemode: Make function declarations usable in C++ mode.
43828         * lib/filemode.h: Enclose function declarations in extern "C" block.
43829         Reported by John W. Eaton <jwe@gnu.org>.
43831 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43833         save-cwd: no longer include "xgetcwd.h"
43834         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43835         This avoids a compilation failure in projects that use save-cwd
43836         without also using the xgetcwd module.
43838 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43840         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43841         This is so that a program like Emacs, which needs only dtoastr,
43842         does not have to bother with distributing and compiling ftoastr
43843         and ldtoastr.
43844         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43845         * modules/dtoastr, modules/ldtoastr: New files.
43846         * modules/ftoastr: Now works just for 'float'.
43847         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43848         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43849         dtoastr.c, ldtoastr.c.
43851 2011-01-11  Jim Meyering  <meyering@redhat.com>
43853         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43854         There is no need to work around the lack of the fchdir function,
43855         since gnulib can now provide a replacement when required.
43856         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43857         * modules/save-cwd (Depends-on): Add fchdir.
43859 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43861         openat, save-cwd: avoid xmalloc
43863         This removes a direct (but undocumented) dependency of openat on
43864         xalloc, along with an indirect dependency via save-cwd.  It also
43865         removes a dependency of save-cwd on xgetcwd, and thereby
43866         indirectly on xalloc.  This change causes the openat substitute
43867         to fall back on save_cwd when memory is tight, and for save_cwd to
43868         fail instead of dying when memory is tight, but that's good enough.
43869         Problem and initial idea for fix reported by Bastien Roucaries in
43870         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43872         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43873         xalloc.h (for xmalloc).
43874         (openat_proc_name): Use malloc, not xmalloc.
43875         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43876         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43878         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43879         This avoids heap allocation for file names whose lengths are in
43880         the range 512..1023, with the upper bound increasing to at most
43881         4031 depending on the platform's PATH_MAX.  (We do not want
43882         pathmax.h here as it might supply a non-constant PATH_MAX.)
43883         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43884         Perhaps they should be moved to malloca.h?
43885         (OPENAT_BUFFER_SIZE): Use them.
43887 2011-01-10  Bruno Haible  <bruno@clisp.org>
43889         doc: Update users.txt.
43890         * users.txt: Add recutils.
43892 2011-01-09  Karl Berry  <karl@gnu.org>
43894         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43896         * doc/configmake.texi: New file.
43897         * doc/gnulib.texi: Include it.
43898         * modules/configmake: Move documentation from here.
43900 2011-01-09  Bruno Haible  <bruno@clisp.org>
43902         Update to Unicode 6.0.0.
43903         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43904         (get_lbp): Update for Unicode 6.0.0.
43905         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43906         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43907         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43908         U+11001, U+11038..U+11046. Remove U+06DE.
43909         (uc_width): Fix bounds of planes.
43910         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43911         lib/uniwidth/width.c.
43912         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43913         trailing whitespace removed.
43914         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43915         without comments, but with the original copyright notice.
43916         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43917         * lib/unicase/ignorable.h: Likewise.
43918         * lib/unicase/tocasefold.h: Likewise.
43919         * lib/unicase/tolower.h: Likewise.
43920         * lib/unicase/totitle.h: Likewise.
43921         * lib/unicase/toupper.h: Likewise.
43922         * lib/unictype/bidi_of.h: Likewise.
43923         * lib/unictype/blocks.h: Likewise.
43924         * lib/unictype/categ_C.h: Likewise.
43925         * lib/unictype/categ_Cn.h: Likewise.
43926         * lib/unictype/categ_L.h: Likewise.
43927         * lib/unictype/categ_Ll.h: Likewise.
43928         * lib/unictype/categ_Lm.h: Likewise.
43929         * lib/unictype/categ_Lo.h: Likewise.
43930         * lib/unictype/categ_Lu.h: Likewise.
43931         * lib/unictype/categ_M.h: Likewise.
43932         * lib/unictype/categ_Mc.h: Likewise.
43933         * lib/unictype/categ_Me.h: Likewise.
43934         * lib/unictype/categ_Mn.h: Likewise.
43935         * lib/unictype/categ_N.h: Likewise.
43936         * lib/unictype/categ_Nd.h: Likewise.
43937         * lib/unictype/categ_No.h: Likewise.
43938         * lib/unictype/categ_P.h: Likewise.
43939         * lib/unictype/categ_Po.h: Likewise.
43940         * lib/unictype/categ_S.h: Likewise.
43941         * lib/unictype/categ_Sc.h: Likewise.
43942         * lib/unictype/categ_Sk.h: Likewise.
43943         * lib/unictype/categ_Sm.h: Likewise.
43944         * lib/unictype/categ_So.h: Likewise.
43945         * lib/unictype/categ_of.h: Likewise.
43946         * lib/unictype/combining.h: Likewise.
43947         * lib/unictype/ctype_alnum.h: Likewise.
43948         * lib/unictype/ctype_alpha.h: Likewise.
43949         * lib/unictype/ctype_graph.h: Likewise.
43950         * lib/unictype/ctype_lower.h: Likewise.
43951         * lib/unictype/ctype_print.h: Likewise.
43952         * lib/unictype/ctype_punct.h: Likewise.
43953         * lib/unictype/ctype_upper.h: Likewise.
43954         * lib/unictype/decdigit.h: Likewise.
43955         * lib/unictype/digit.h: Likewise.
43956         * lib/unictype/numeric.h: Likewise.
43957         * lib/unictype/pr_alphabetic.h: Likewise.
43958         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43959         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43960         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43961         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43962         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43963         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43964         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43965         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43966         * lib/unictype/pr_case_ignorable.h: Likewise.
43967         * lib/unictype/pr_cased.h: Likewise.
43968         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43969         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43970         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43971         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43972         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43973         * lib/unictype/pr_combining.h: Likewise.
43974         * lib/unictype/pr_composite.h: Likewise.
43975         * lib/unictype/pr_currency_symbol.h: Likewise.
43976         * lib/unictype/pr_decimal_digit.h: Likewise.
43977         * lib/unictype/pr_deprecated.h: Likewise.
43978         * lib/unictype/pr_format_control.h: Likewise.
43979         * lib/unictype/pr_grapheme_base.h: Likewise.
43980         * lib/unictype/pr_grapheme_extend.h: Likewise.
43981         * lib/unictype/pr_grapheme_link.h: Likewise.
43982         * lib/unictype/pr_id_continue.h: Likewise.
43983         * lib/unictype/pr_id_start.h: Likewise.
43984         * lib/unictype/pr_ideographic.h: Likewise.
43985         * lib/unictype/pr_lowercase.h: Likewise.
43986         * lib/unictype/pr_math.h: Likewise.
43987         * lib/unictype/pr_numeric.h: Likewise.
43988         * lib/unictype/pr_other_alphabetic.h: Likewise.
43989         * lib/unictype/pr_other_id_continue.h: Likewise.
43990         * lib/unictype/pr_other_math.h: Likewise.
43991         * lib/unictype/pr_punctuation.h: Likewise.
43992         * lib/unictype/pr_sentence_terminal.h: Likewise.
43993         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43994         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43995         * lib/unictype/pr_unified_ideograph.h: Likewise.
43996         * lib/unictype/pr_uppercase.h: Likewise.
43997         * lib/unictype/pr_xid_continue.h: Likewise.
43998         * lib/unictype/pr_xid_start.h: Likewise.
43999         * lib/unictype/scripts.h: Likewise.
44000         * lib/unictype/scripts_byname.gperf: Likewise.
44001         * lib/unictype/sy_java_ident.h: Likewise.
44002         * lib/unigbrk/gbrkprop.h: Likewise.
44003         * lib/unilbrk/lbrkprop1.h: Likewise.
44004         * lib/unilbrk/lbrkprop2.h: Likewise.
44005         * lib/uninorm/decomposition-table2.h: Likewise.
44006         * lib/uniwbrk/wbrkprop.h: Likewise.
44007         * tests/unicase/test-cased.c: Likewise.
44008         * tests/unicase/test-ignorable.c: Likewise.
44009         * tests/unicase/test-uc_tolower.c: Likewise.
44010         * tests/unicase/test-uc_totitle.c: Likewise.
44011         * tests/unicase/test-uc_toupper.c: Likewise.
44012         * tests/unictype/test-categ_C.c: Likewise.
44013         * tests/unictype/test-categ_Cn.c: Likewise.
44014         * tests/unictype/test-categ_L.c: Likewise.
44015         * tests/unictype/test-categ_Ll.c: Likewise.
44016         * tests/unictype/test-categ_Lm.c: Likewise.
44017         * tests/unictype/test-categ_Lo.c: Likewise.
44018         * tests/unictype/test-categ_Lu.c: Likewise.
44019         * tests/unictype/test-categ_M.c: Likewise.
44020         * tests/unictype/test-categ_Mc.c: Likewise.
44021         * tests/unictype/test-categ_Me.c: Likewise.
44022         * tests/unictype/test-categ_Mn.c: Likewise.
44023         * tests/unictype/test-categ_N.c: Likewise.
44024         * tests/unictype/test-categ_Nd.c: Likewise.
44025         * tests/unictype/test-categ_No.c: Likewise.
44026         * tests/unictype/test-categ_P.c: Likewise.
44027         * tests/unictype/test-categ_Po.c: Likewise.
44028         * tests/unictype/test-categ_S.c: Likewise.
44029         * tests/unictype/test-categ_Sc.c: Likewise.
44030         * tests/unictype/test-categ_Sk.c: Likewise.
44031         * tests/unictype/test-categ_Sm.c: Likewise.
44032         * tests/unictype/test-categ_So.c: Likewise.
44033         * tests/unictype/test-ctype_alnum.c: Likewise.
44034         * tests/unictype/test-ctype_alpha.c: Likewise.
44035         * tests/unictype/test-ctype_graph.c: Likewise.
44036         * tests/unictype/test-ctype_lower.c: Likewise.
44037         * tests/unictype/test-ctype_print.c: Likewise.
44038         * tests/unictype/test-ctype_punct.c: Likewise.
44039         * tests/unictype/test-ctype_upper.c: Likewise.
44040         * tests/unictype/test-decdigit.h: Likewise.
44041         * tests/unictype/test-digit.h: Likewise.
44042         * tests/unictype/test-numeric.h: Likewise.
44043         * tests/unictype/test-pr_alphabetic.c: Likewise.
44044         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44045         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44046         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44047         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44048         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44049         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44050         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44051         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44052         * tests/unictype/test-pr_case_ignorable.c: Likewise.
44053         * tests/unictype/test-pr_cased.c: Likewise.
44054         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
44055         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
44056         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
44057         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
44058         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
44059         * tests/unictype/test-pr_combining.c: Likewise.
44060         * tests/unictype/test-pr_composite.c: Likewise.
44061         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44062         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44063         * tests/unictype/test-pr_deprecated.c: Likewise.
44064         * tests/unictype/test-pr_format_control.c: Likewise.
44065         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44066         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44067         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44068         * tests/unictype/test-pr_id_continue.c: Likewise.
44069         * tests/unictype/test-pr_id_start.c: Likewise.
44070         * tests/unictype/test-pr_ideographic.c: Likewise.
44071         * tests/unictype/test-pr_lowercase.c: Likewise.
44072         * tests/unictype/test-pr_math.c: Likewise.
44073         * tests/unictype/test-pr_numeric.c: Likewise.
44074         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44075         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44076         * tests/unictype/test-pr_other_math.c: Likewise.
44077         * tests/unictype/test-pr_punctuation.c: Likewise.
44078         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44079         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44080         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44081         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44082         * tests/unictype/test-pr_uppercase.c: Likewise.
44083         * tests/unictype/test-pr_xid_continue.c: Likewise.
44084         * tests/unictype/test-pr_xid_start.c: Likewise.
44085         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44086         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44087         changes.
44088         * lib/unictype/categ_Cc.h: Likewise.
44089         * lib/unictype/categ_Cf.h: Likewise.
44090         * lib/unictype/categ_Co.h: Likewise.
44091         * lib/unictype/categ_Cs.h: Likewise.
44092         * lib/unictype/categ_Lt.h: Likewise.
44093         * lib/unictype/categ_Nl.h: Likewise.
44094         * lib/unictype/categ_Pc.h: Likewise.
44095         * lib/unictype/categ_Pd.h: Likewise.
44096         * lib/unictype/categ_Pe.h: Likewise.
44097         * lib/unictype/categ_Pf.h: Likewise.
44098         * lib/unictype/categ_Pi.h: Likewise.
44099         * lib/unictype/categ_Ps.h: Likewise.
44100         * lib/unictype/categ_Z.h: Likewise.
44101         * lib/unictype/categ_Zl.h: Likewise.
44102         * lib/unictype/categ_Zp.h: Likewise.
44103         * lib/unictype/categ_Zs.h: Likewise.
44104         * lib/unictype/ctype_blank.h: Likewise.
44105         * lib/unictype/ctype_cntrl.h: Likewise.
44106         * lib/unictype/ctype_digit.h: Likewise.
44107         * lib/unictype/ctype_space.h: Likewise.
44108         * lib/unictype/ctype_xdigit.h: Likewise.
44109         * lib/unictype/mirror.h: Likewise.
44110         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44111         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44112         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44113         * lib/unictype/pr_bidi_control.h: Likewise.
44114         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44115         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44116         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44117         * lib/unictype/pr_bidi_pdf.h: Likewise.
44118         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44119         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44120         * lib/unictype/pr_dash.h: Likewise.
44121         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44122         * lib/unictype/pr_diacritic.h: Likewise.
44123         * lib/unictype/pr_extender.h: Likewise.
44124         * lib/unictype/pr_hex_digit.h: Likewise.
44125         * lib/unictype/pr_hyphen.h: Likewise.
44126         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44127         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44128         * lib/unictype/pr_ignorable_control.h: Likewise.
44129         * lib/unictype/pr_iso_control.h: Likewise.
44130         * lib/unictype/pr_join_control.h: Likewise.
44131         * lib/unictype/pr_left_of_pair.h: Likewise.
44132         * lib/unictype/pr_line_separator.h: Likewise.
44133         * lib/unictype/pr_logical_order_exception.h: Likewise.
44134         * lib/unictype/pr_non_break.h: Likewise.
44135         * lib/unictype/pr_not_a_character.h: Likewise.
44136         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44137         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44138         * lib/unictype/pr_other_id_start.h: Likewise.
44139         * lib/unictype/pr_other_lowercase.h: Likewise.
44140         * lib/unictype/pr_other_uppercase.h: Likewise.
44141         * lib/unictype/pr_paired_punctuation.h: Likewise.
44142         * lib/unictype/pr_paragraph_separator.h: Likewise.
44143         * lib/unictype/pr_pattern_syntax.h: Likewise.
44144         * lib/unictype/pr_pattern_white_space.h: Likewise.
44145         * lib/unictype/pr_private_use.h: Likewise.
44146         * lib/unictype/pr_quotation_mark.h: Likewise.
44147         * lib/unictype/pr_radical.h: Likewise.
44148         * lib/unictype/pr_soft_dotted.h: Likewise.
44149         * lib/unictype/pr_space.h: Likewise.
44150         * lib/unictype/pr_titlecase.h: Likewise.
44151         * lib/unictype/pr_variation_selector.h: Likewise.
44152         * lib/unictype/pr_white_space.h: Likewise.
44153         * lib/unictype/pr_zero_width.h: Likewise.
44154         * lib/unictype/sy_c_ident.h: Likewise.
44155         * lib/unictype/sy_c_whitespace.h: Likewise.
44156         * lib/unictype/sy_java_whitespace.h: Likewise.
44157         * lib/uninorm/composition-table.gperf: Likewise.
44158         * lib/uninorm/decomposition-table1.h: Likewise.
44159         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
44160         LB8.
44161         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44162         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44163         * modules/unictype/*: Bump version number of expected libunistring
44164         version.
44166 2011-01-09  Bruno Haible  <bruno@clisp.org>
44168         Update to Unicode 5.2.0.
44169         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
44170         trailing whitespace removed.
44172 2011-01-09  Bruno Haible  <bruno@clisp.org>
44174         New Unicode character properties, from Unicode 5.2.0.
44175         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
44176         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
44177         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
44178         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
44179         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
44180         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
44181         uc_is_property_cased, uc_is_property_case_ignorable,
44182         uc_is_property_changes_when_lowercased,
44183         uc_is_property_changes_when_uppercased,
44184         uc_is_property_changes_when_titlecased,
44185         uc_is_property_changes_when_casefolded,
44186         uc_is_property_changes_when_casemapped): New declarations.
44187         * lib/unictype/pr_byname.gperf: Add the new properties.
44188         * modules/unictype/property-byname (Depends-on): Depend on the new
44189         properties modules.
44190         * modules/unictype/property-all (Depends-on): Likewise.
44191         * MODULES.html.sh (Unicode string functions): Add
44192         unictype/property-case-ignorable, unictype/property-cased,
44193         unictype/property-changes-when-casefolded,
44194         unictype/property-changes-when-casemapped,
44195         unictype/property-changes-when-lowercased,
44196         unictype/property-changes-when-titlecased,
44197         unictype/property-changes-when-uppercased.
44199         New module 'unictype/property-changes-when-casemapped'.
44200         * modules/unictype/property-changes-when-casemapped: New file.
44201         * lib/unictype/pr_changes_when_casemapped.c: New file.
44202         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
44203         generated by gen-uni-tables.
44204         * modules/unictype/property-changes-when-casemapped-tests: New file.
44205         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
44206         automatically generated by gen-uni-tables.
44208         New module 'unictype/property-changes-when-casefolded'.
44209         * modules/unictype/property-changes-when-casefolded: New file.
44210         * lib/unictype/pr_changes_when_casefolded.c: New file.
44211         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
44212         generated by gen-uni-tables.
44213         * modules/unictype/property-changes-when-casefolded-tests: New file.
44214         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
44215         automatically generated by gen-uni-tables.
44217         New module 'unictype/property-changes-when-titlecased'.
44218         * modules/unictype/property-changes-when-titlecased: New file.
44219         * lib/unictype/pr_changes_when_titlecased.c: New file.
44220         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
44221         generated by gen-uni-tables.
44222         * modules/unictype/property-changes-when-titlecased-tests: New file.
44223         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
44224         automatically generated by gen-uni-tables.
44226         New module 'unictype/property-changes-when-uppercased'.
44227         * modules/unictype/property-changes-when-uppercased: New file.
44228         * lib/unictype/pr_changes_when_uppercased.c: New file.
44229         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
44230         generated by gen-uni-tables.
44231         * modules/unictype/property-changes-when-uppercased-tests: New file.
44232         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
44233         automatically generated by gen-uni-tables.
44235         New module 'unictype/property-changes-when-lowercased'.
44236         * modules/unictype/property-changes-when-lowercased: New file.
44237         * lib/unictype/pr_changes_when_lowercased.c: New file.
44238         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
44239         generated by gen-uni-tables.
44240         * modules/unictype/property-changes-when-lowercased-tests: New file.
44241         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
44242         automatically generated by gen-uni-tables.
44244         New module 'unictype/property-case-ignorable'.
44245         * modules/unictype/property-case-ignorable: New file.
44246         * lib/unictype/pr_case_ignorable.c: New file.
44247         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
44248         by gen-uni-tables.
44249         * modules/unictype/property-case-ignorable-tests: New file.
44250         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
44251         generated by gen-uni-tables.
44253         New module 'unictype/property-cased'.
44254         * modules/unictype/property-cased: New file.
44255         * lib/unictype/pr_cased.c: New file.
44256         * lib/unictype/pr_cased.h: New file, automatically generated by
44257         gen-uni-tables.
44258         * modules/unictype/property-cased-tests: New file.
44259         * tests/unictype/test-pr_cased.c: New file, automatically generated by
44260         gen-uni-tables.
44262 2011-01-09  Bruno Haible  <bruno@clisp.org>
44264         Update to Unicode 5.2.0.
44265         * lib/gen-uni-tables.c (output_predicate, output_category,
44266         output_combclass, output_bidi_category, output_decimal_digit_test,
44267         output_decimal_digit, output_digit_test, output_digit,
44268         output_numeric_test, output_numeric, output_mirror, output_scripts,
44269         output_scripts_byname, output_blocks, output_ident_category): Fix
44270         comment header.
44271         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
44272         get_wbp.
44273         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
44274         items.
44275         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
44276         Changes_When_Lowercased, Changes_When_Uppercased,
44277         Changes_When_Titlecased, Changes_When_Casefolded,
44278         Changes_When_Casemapped.
44279         (is_property_alphabetic, is_property_default_ignorable_code_point):
44280         Update for Unicode 5.2.0.
44281         (is_property_cased, is_property_case_ignorable,
44282         is_property_changes_when_lowercased,
44283         is_property_changes_when_uppercased,
44284         is_property_changes_when_titlecased,
44285         is_property_changes_when_casefolded,
44286         is_property_changes_when_casemapped): New functions.
44287         (output_properties): Output also the properties cased, case_ignorable,
44288         changes_when_lowercased, changes_when_uppercased,
44289         changes_when_titlecased, changes_when_casefolded,
44290         changes_when_casemapped.
44291         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
44292         Unicode TR#11 revision 17 -> 19.
44293         (LBP_CP): New enumeration value.
44294         (LBP_*): Adjust values accordingly.
44295         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44296         TR#14 revision 22 -> 24.
44297         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
44298         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
44299         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44300         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
44301         is_WBP_MIDLETTER.
44302         (output_composition_tables): Allow for 24 bits instead of 16 bits in
44303         the code1 and code2 of each composition rule.
44304         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
44305         * lib/unicase/ignorable.h: Likewise.
44306         * lib/unicase/tocasefold.h: Likewise.
44307         * lib/unicase/tolower.h: Likewise.
44308         * lib/unicase/totitle.h: Likewise.
44309         * lib/unicase/toupper.h: Likewise.
44310         * lib/unictype/bidi_of.h: Likewise.
44311         * lib/unictype/blocks.h: Likewise.
44312         * lib/unictype/categ_C.h: Likewise.
44313         * lib/unictype/categ_Cf.h: Likewise.
44314         * lib/unictype/categ_Cn.h: Likewise.
44315         * lib/unictype/categ_L.h: Likewise.
44316         * lib/unictype/categ_Ll.h: Likewise.
44317         * lib/unictype/categ_Lm.h: Likewise.
44318         * lib/unictype/categ_Lo.h: Likewise.
44319         * lib/unictype/categ_Lu.h: Likewise.
44320         * lib/unictype/categ_M.h: Likewise.
44321         * lib/unictype/categ_Mc.h: Likewise.
44322         * lib/unictype/categ_Mn.h: Likewise.
44323         * lib/unictype/categ_N.h: Likewise.
44324         * lib/unictype/categ_Nd.h: Likewise.
44325         * lib/unictype/categ_Nl.h: Likewise.
44326         * lib/unictype/categ_No.h: Likewise.
44327         * lib/unictype/categ_P.h: Likewise.
44328         * lib/unictype/categ_Pd.h: Likewise.
44329         * lib/unictype/categ_Po.h: Likewise.
44330         * lib/unictype/categ_S.h: Likewise.
44331         * lib/unictype/categ_Sc.h: Likewise.
44332         * lib/unictype/categ_So.h: Likewise.
44333         * lib/unictype/categ_of.h: Likewise.
44334         * lib/unictype/combining.h: Likewise.
44335         * lib/unictype/ctype_alnum.h: Likewise.
44336         * lib/unictype/ctype_alpha.h: Likewise.
44337         * lib/unictype/ctype_graph.h: Likewise.
44338         * lib/unictype/ctype_lower.h: Likewise.
44339         * lib/unictype/ctype_print.h: Likewise.
44340         * lib/unictype/ctype_punct.h: Likewise.
44341         * lib/unictype/ctype_upper.h: Likewise.
44342         * lib/unictype/decdigit.h: Likewise.
44343         * lib/unictype/digit.h: Likewise.
44344         * lib/unictype/numeric.h: Likewise.
44345         * lib/unictype/pr_alphabetic.h: Likewise.
44346         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44347         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44348         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44349         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44350         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44351         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44352         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44353         * lib/unictype/pr_combining.h: Likewise.
44354         * lib/unictype/pr_composite.h: Likewise.
44355         * lib/unictype/pr_currency_symbol.h: Likewise.
44356         * lib/unictype/pr_dash.h: Likewise.
44357         * lib/unictype/pr_decimal_digit.h: Likewise.
44358         * lib/unictype/pr_deprecated.h: Likewise.
44359         * lib/unictype/pr_diacritic.h: Likewise.
44360         * lib/unictype/pr_extender.h: Likewise.
44361         * lib/unictype/pr_grapheme_base.h: Likewise.
44362         * lib/unictype/pr_grapheme_extend.h: Likewise.
44363         * lib/unictype/pr_grapheme_link.h: Likewise.
44364         * lib/unictype/pr_id_continue.h: Likewise.
44365         * lib/unictype/pr_id_start.h: Likewise.
44366         * lib/unictype/pr_ideographic.h: Likewise.
44367         * lib/unictype/pr_ignorable_control.h: Likewise.
44368         * lib/unictype/pr_logical_order_exception.h: Likewise.
44369         * lib/unictype/pr_lowercase.h: Likewise.
44370         * lib/unictype/pr_numeric.h: Likewise.
44371         * lib/unictype/pr_other_alphabetic.h: Likewise.
44372         * lib/unictype/pr_punctuation.h: Likewise.
44373         * lib/unictype/pr_sentence_terminal.h: Likewise.
44374         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44375         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44376         * lib/unictype/pr_unified_ideograph.h: Likewise.
44377         * lib/unictype/pr_uppercase.h: Likewise.
44378         * lib/unictype/pr_xid_continue.h: Likewise.
44379         * lib/unictype/pr_xid_start.h: Likewise.
44380         * lib/unictype/pr_zero_width.h: Likewise.
44381         * lib/unictype/scripts.h: Likewise.
44382         * lib/unictype/scripts_byname.gperf: Likewise.
44383         * lib/unictype/sy_java_ident.h: Likewise.
44384         * lib/unigbrk/gbrkprop.h: Likewise.
44385         * lib/unilbrk/lbrkprop1.h: Likewise.
44386         * lib/unilbrk/lbrkprop2.h: Likewise.
44387         * lib/unilbrk/lbrktables.h: Likewise.
44388         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
44389         LBP_CP. Implement rule LB30.
44390         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
44391         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
44392         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
44393         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
44394         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
44395         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
44396         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
44397         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
44398         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
44399         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
44400         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
44401         bits instead of 16 bits in the code1 and code2 of each composition
44402         rule.
44403         (uc_composition): Update for Unicode 5.2.0.
44404         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
44405         * lib/uninorm/decomposition-table2.h: Likewise.
44406         * lib/uniwbrk/wbrkprop.h: Likewise.
44407         * tests/unicase/test-cased.c: Likewise.
44408         * tests/unicase/test-ignorable.c: Likewise.
44409         * tests/unicase/test-uc_tolower.c: Likewise.
44410         * tests/unicase/test-uc_totitle.c: Likewise.
44411         * tests/unicase/test-uc_toupper.c: Likewise.
44412         * tests/unictype/test-categ_C.c: Likewise.
44413         * tests/unictype/test-categ_Cf.c: Likewise.
44414         * tests/unictype/test-categ_Cn.c: Likewise.
44415         * tests/unictype/test-categ_L.c: Likewise.
44416         * tests/unictype/test-categ_Ll.c: Likewise.
44417         * tests/unictype/test-categ_Lm.c: Likewise.
44418         * tests/unictype/test-categ_Lo.c: Likewise.
44419         * tests/unictype/test-categ_Lu.c: Likewise.
44420         * tests/unictype/test-categ_M.c: Likewise.
44421         * tests/unictype/test-categ_Mc.c: Likewise.
44422         * tests/unictype/test-categ_Mn.c: Likewise.
44423         * tests/unictype/test-categ_N.c: Likewise.
44424         * tests/unictype/test-categ_Nd.c: Likewise.
44425         * tests/unictype/test-categ_Nl.c: Likewise.
44426         * tests/unictype/test-categ_No.c: Likewise.
44427         * tests/unictype/test-categ_P.c: Likewise.
44428         * tests/unictype/test-categ_Pd.c: Likewise.
44429         * tests/unictype/test-categ_Po.c: Likewise.
44430         * tests/unictype/test-categ_S.c: Likewise.
44431         * tests/unictype/test-categ_Sc.c: Likewise.
44432         * tests/unictype/test-categ_So.c: Likewise.
44433         * tests/unictype/test-ctype_alnum.c: Likewise.
44434         * tests/unictype/test-ctype_alpha.c: Likewise.
44435         * tests/unictype/test-ctype_graph.c: Likewise.
44436         * tests/unictype/test-ctype_lower.c: Likewise.
44437         * tests/unictype/test-ctype_print.c: Likewise.
44438         * tests/unictype/test-ctype_punct.c: Likewise.
44439         * tests/unictype/test-ctype_upper.c: Likewise.
44440         * tests/unictype/test-decdigit.h: Likewise.
44441         * tests/unictype/test-digit.h: Likewise.
44442         * tests/unictype/test-numeric.h: Likewise.
44443         * tests/unictype/test-pr_alphabetic.c: Likewise.
44444         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44445         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44446         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44447         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44448         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44449         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44450         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44451         * tests/unictype/test-pr_combining.c: Likewise.
44452         * tests/unictype/test-pr_composite.c: Likewise.
44453         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44454         * tests/unictype/test-pr_dash.c: Likewise.
44455         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44456         * tests/unictype/test-pr_deprecated.c: Likewise.
44457         * tests/unictype/test-pr_diacritic.c: Likewise.
44458         * tests/unictype/test-pr_extender.c: Likewise.
44459         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44460         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44461         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44462         * tests/unictype/test-pr_id_continue.c: Likewise.
44463         * tests/unictype/test-pr_id_start.c: Likewise.
44464         * tests/unictype/test-pr_ideographic.c: Likewise.
44465         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44466         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44467         * tests/unictype/test-pr_lowercase.c: Likewise.
44468         * tests/unictype/test-pr_numeric.c: Likewise.
44469         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44470         * tests/unictype/test-pr_punctuation.c: Likewise.
44471         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44472         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44473         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44474         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44475         * tests/unictype/test-pr_uppercase.c: Likewise.
44476         * tests/unictype/test-pr_xid_continue.c: Likewise.
44477         * tests/unictype/test-pr_xid_start.c: Likewise.
44478         * tests/unictype/test-pr_zero_width.c: Likewise.
44479         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44480         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44481         changed behaviour: line breaking is now disallowed between a letter
44482         or '=' and '('.
44483         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44484         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44485         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44486         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44487         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44488         lib/uniwidth/width.c.
44489         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44490         without comments, but with the original copyright notice.
44491         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44492         changes.
44493         * lib/unictype/categ_Cc.h: Likewise.
44494         * lib/unictype/categ_Co.h: Likewise.
44495         * lib/unictype/categ_Cs.h: Likewise.
44496         * lib/unictype/categ_Lt.h: Likewise.
44497         * lib/unictype/categ_Me.h: Likewise.
44498         * lib/unictype/categ_Pc.h: Likewise.
44499         * lib/unictype/categ_Pe.h: Likewise.
44500         * lib/unictype/categ_Pf.h: Likewise.
44501         * lib/unictype/categ_Pi.h: Likewise.
44502         * lib/unictype/categ_Ps.h: Likewise.
44503         * lib/unictype/categ_Sk.h: Likewise.
44504         * lib/unictype/categ_Sm.h: Likewise.
44505         * lib/unictype/categ_Z.h: Likewise.
44506         * lib/unictype/categ_Zl.h: Likewise.
44507         * lib/unictype/categ_Zp.h: Likewise.
44508         * lib/unictype/categ_Zs.h: Likewise.
44509         * lib/unictype/ctype_blank.h: Likewise.
44510         * lib/unictype/ctype_cntrl.h: Likewise.
44511         * lib/unictype/ctype_digit.h: Likewise.
44512         * lib/unictype/ctype_space.h: Likewise.
44513         * lib/unictype/ctype_xdigit.h: Likewise.
44514         * lib/unictype/mirror.h: Likewise.
44515         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44516         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44517         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44518         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44519         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44520         * lib/unictype/pr_bidi_control.h: Likewise.
44521         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44522         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44523         * lib/unictype/pr_bidi_pdf.h: Likewise.
44524         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44525         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44526         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44527         * lib/unictype/pr_format_control.h: Likewise.
44528         * lib/unictype/pr_hex_digit.h: Likewise.
44529         * lib/unictype/pr_hyphen.h: Likewise.
44530         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44531         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44532         * lib/unictype/pr_iso_control.h: Likewise.
44533         * lib/unictype/pr_join_control.h: Likewise.
44534         * lib/unictype/pr_left_of_pair.h: Likewise.
44535         * lib/unictype/pr_line_separator.h: Likewise.
44536         * lib/unictype/pr_math.h: Likewise.
44537         * lib/unictype/pr_non_break.h: Likewise.
44538         * lib/unictype/pr_not_a_character.h: Likewise.
44539         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44540         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44541         * lib/unictype/pr_other_id_continue.h: Likewise.
44542         * lib/unictype/pr_other_id_start.h: Likewise.
44543         * lib/unictype/pr_other_lowercase.h: Likewise.
44544         * lib/unictype/pr_other_math.h: Likewise.
44545         * lib/unictype/pr_other_uppercase.h: Likewise.
44546         * lib/unictype/pr_paired_punctuation.h: Likewise.
44547         * lib/unictype/pr_paragraph_separator.h: Likewise.
44548         * lib/unictype/pr_pattern_syntax.h: Likewise.
44549         * lib/unictype/pr_pattern_white_space.h: Likewise.
44550         * lib/unictype/pr_private_use.h: Likewise.
44551         * lib/unictype/pr_quotation_mark.h: Likewise.
44552         * lib/unictype/pr_radical.h: Likewise.
44553         * lib/unictype/pr_soft_dotted.h: Likewise.
44554         * lib/unictype/pr_space.h: Likewise.
44555         * lib/unictype/pr_titlecase.h: Likewise.
44556         * lib/unictype/pr_variation_selector.h: Likewise.
44557         * lib/unictype/pr_white_space.h: Likewise.
44558         * lib/unictype/sy_c_ident.h: Likewise.
44559         * lib/unictype/sy_c_whitespace.h: Likewise.
44560         * lib/unictype/sy_java_whitespace.h: Likewise.
44561         * modules/uni*/*: Bump version number of expected libunistring version.
44562         Reported by Simon Josefsson.
44564 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44566         useless-if-before-free: fix typo in --help and make the internal,
44567         automatic version date update process work once again.
44568         --help output contained a NUL character instead of the
44569         backslash-zero that was intended.  Also, the "must lie within
44570         the first 8 lines" line is on line 9, and hence not getting
44571         automatically updated.
44572         * build-aux/useless-if-before-free: Fix the former by adding a
44573         backslash, and the latter by condensing the three lines of what-it-does
44574         to a single line, leaving one line of slack for the future.
44576 2011-01-09  Bruno Haible  <bruno@clisp.org>
44578         uniwidth/width: Fix width of U+1D173..U+1D17A.
44579         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44580         symbolic_width, output_width_property_test): New functions.
44581         (main): Invoke output_nonspacing_property, output_width_property_test.
44582         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44583         U+1D173..U+1D17A.
44584         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44585         1.
44586         * modules/uniwidth/*: Bump version number of expected libunistring
44587         version.
44588         * modules/unilbrk/*: Likewise.
44590 2011-01-08  Bruno Haible  <bruno@clisp.org>
44592         uninorm tests: Preserve copyright of Unicode data file.
44593         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44594         Mention modifications.
44596 2011-01-08  Bruno Haible  <bruno@clisp.org>
44598         gen-uni-tables: Prepare for Unicode 5.2.0.
44599         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44600         (debug_output_lbp, output_lbp): Update.
44602 2011-01-08  Bruno Haible  <bruno@clisp.org>
44604         unilbrk: Clarify gen-uni-tables.c code.
44605         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44606         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44607         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44609 2011-01-07  Bruno Haible  <bruno@clisp.org>
44611         strtod: Restore errno when successfully parsing Infinity or NaN.
44612         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44613         restore the original errno.
44615 2011-01-07  Bruno Haible  <bruno@clisp.org>
44617         remove test: Avoid failure on HP-UX 11.
44618         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44620 2011-01-07  Bruno Haible  <bruno@clisp.org>
44622         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44623         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44624         error code.
44626 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44628         ignore-value: fixup comments, and add Eric Blake
44629         as an author since he rewrote the macros.
44630         * lib/ignore-value.h (ignore_value):  State that
44631         we now support aggregates.  Also specify exactly
44632         when the GCC warn_unused_result feature was added.
44634 2011-01-06  Eric Blake  <eblake@redhat.com>
44636         ignore-value: support aggregate types
44637         * lib/ignore-value.h (ignore_value): Provide separate gcc
44638         definition.
44639         * modules/ignore-value-tests: New test module.
44640         * tests/test-ignore-value.c: New test.
44642         maint.mk: improve sc_prohibit_strcmp regex
44643         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44644         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44645         definition of STRNEQ.
44647         signal: work around Haiku issue with SIGBUS
44648         * lib/siglist.h: Add comment.
44649         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44650         strsignal's favoring of SIGSEGV.
44651         * tests/test-signal.c (main): Avoid test failure.
44652         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44653         Reported by Scott McCreary.
44655         maint.mk: add pre-release check to ensure submodule commits are public
44656         * top/maint.mk (public-submodule-commit): New rule.
44657         (submodule-checks): New variable.
44658         (alpha beta stable): Depend on the variable.
44660 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44661         and Jim Meyering  <meyering@redhat.com>
44663         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44664         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44665         (ATTRIBUTE_DEPRECATED): Define.
44666         (_ignore_case): New function.
44667         (ignore_value): New macro, to replace the old function.
44668         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44669         * modules/ignore-value (Depends-on): Add stdint.
44671 2011-01-04  Eric Blake  <eblake@redhat.com>
44673         doc: regenerate INSTALL
44674         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44675         @firstparagraphindent support, now that autoconf dropped it.
44676         (INSTALL_PRELUDE): Reinstate old macro.
44677         * doc/install.texi: Resync from autoconf.
44678         * doc/INSTALL: Reflect recent autoconf update.
44679         * doc/INSTALL.ISO: Likewise.
44680         * doc/INSTALL.UTF-8: Likewise.
44681         Reported by Karl Berry.
44683 2011-01-04  Bruce Korb  <address@hidden>
44685         git-version-gen: avoid a sub-shell
44686         * build-aux/git-version-gen: Redirect stderr in `...` via
44687         "exec 2>...", rather than via an added sub-shell.
44689 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44691         git-version-gen: use (...) rather than sh -c '...'
44692         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44693         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44695 2011-01-03  Jim Meyering  <meyering@redhat.com>
44697         git-version-gen: convert leading TABs to spaces
44698         * build-aux/git-version-gen: Expand leading TABs.
44700         git-version-gen: handle failed "git rev-list"
44701         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44702         from git and proceeding as if it had succeeded but printed no SHA1
44703         checksums, suppress the diagnostic and handle the failure.
44704         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44706         git-version-gen: include command name in one more diagnostic
44707         * build-aux/git-version-gen: When the required .tarball-version file
44708         was missing or unreadable, you might see the diagnostic from "cat",
44709         but no trace of the name of the invoking script.  Now, you still see
44710         the diagnostic from cat, but also get one from "git-version-gen: ".
44711         Inspired by a patch from Bruce Korb.
44713         update-copyright: adjust test to match changed code
44714         * tests/test-update-copyright.sh: Change test's expected output
44715         to match new actual output.
44717 2011-01-02  Bruno Haible  <bruno@clisp.org>
44719         getlogin_r: Avoid test failure on HP-UX 11.
44720         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44721         ERANGE when the second argument is zero.
44722         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44723         portability problem.
44725 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44727         * build-aux/update-copyright: doc Simon's changes
44729 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44731         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44732         environment variable.
44734 2011-01-02  Bruno Haible  <bruno@clisp.org>
44736         unigbrk: Avoid gcc warnings.
44737         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44738         unused variable.
44739         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44740         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44741         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44742         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44743         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44744         Change type of first argument to 'const char *'.
44745         (main): Remove unused variable.
44746         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44747         type of first argument to 'const char *'.
44748         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44749         Likewise.
44750         (main): Change type of variable 's'.
44751         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44752         to 'int'.
44754 2011-01-02  Bruno Haible  <bruno@clisp.org>
44756         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44757         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44758         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44759         bug.
44760         * lib/pwrite.c: Undo 2010-12-31 patch.
44761         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44763 2011-01-02  Bruno Haible  <bruno@clisp.org>
44765         pread: Fix test whether it works.
44766         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44768 2011-01-02  Bruno Haible  <bruno@clisp.org>
44770         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44771         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44772         ends in "6". Don't require a specific month name. Try also the locale
44773         names found on HP-UX 11 and Solaris 7.
44775 2011-01-02  Bruno Haible  <bruno@clisp.org>
44777         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44778         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44779         C linkage.
44780         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44782 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44784         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44785         for consistency, since the "cluster" term is not used elsewhere.
44786         * lib/unigbrk.in.h: Update name.
44787         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44788         * lib/unigbrk/u16-grapheme-next.c: Update name.
44789         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44790         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44791         * lib/unigbrk/u32-grapheme-next.c: Update name.
44792         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44793         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44794         * lib/unigbrk/u8-grapheme-next.c: Update name.
44795         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44796         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44797         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44798         Suggested by Bruno Haible.
44800 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44802         Remove module 'u8-grapheme-len' as too redundant with
44803         'u8-grapheme-next'.
44804         * modules/unigbrk/u8-grapheme-len: Delete file.
44805         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44806         * lib/unigbrk.in.h: Remove prototype for deleted function.
44807         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44808         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44810         Remove module 'u16-grapheme-len' as too redundant with
44811         'u16-grapheme-next'.
44812         * modules/unigbrk/u16-grapheme-len: Delete file.
44813         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44814         * lib/unigbrk.in.h: Remove prototype for deleted function.
44815         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44816         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44818         Remove module 'u32-grapheme-len' as too redundant with
44819         'u32-grapheme-next'.
44820         * modules/unigbrk/u32-grapheme-len: Delete file.
44821         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44822         * lib/unigbrk.in.h: Remove prototype for deleted function.
44823         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44824         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44826         Suggested by Bruno Haible.
44828 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44830         * unigbrk.in.h: Fix typo: "ben" => "been".
44831         Reported by Bruno Haible.
44833 2011-01-01  Jim Meyering  <meyering@redhat.com>
44835         maint: update almost all copyright ranges to include 2011
44836         Run the new "make update-copyright" rule.
44838 2011-01-01  Jim Meyering  <meyering@redhat.com>
44840         maint: update-copyright: exempt doc/INSTALL*
44841         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44842         since they are generated.  Suggested by Bruno Haible.
44844 2011-01-01  Jim Meyering  <meyering@redhat.com>
44846         maint: refine the update-copyright rule
44847         * Makefile (update-copyright): Also exclude any file that includes
44848         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44849         code that merely generates the comment.
44851 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44853         New module 'u8-grapheme-len'.
44854         * modules/unigbrk/u8-grapheme-len: New file.
44855         * modules/unigbrk/u8-grapheme-len-tests: New file.
44856         * lib/unigbrk.in.h: Add prototype for new function.
44857         * lib/unigbrk/u8-grapheme-len.c: New file.
44858         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44860         New module 'u16-grapheme-len'.
44861         * modules/unigbrk/u16-grapheme-len: New file.
44862         * modules/unigbrk/u16-grapheme-len-tests: New file.
44863         * lib/unigbrk.in.h: Add prototype for new function.
44864         * lib/unigbrk/u16-grapheme-len.c: New file.
44865         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44867         New module 'u32-grapheme-len'.
44868         * modules/unigbrk/u32-grapheme-len: New file.
44869         * modules/unigbrk/u32-grapheme-len-tests: New file.
44870         * lib/unigbrk.in.h: Add prototype for new function.
44871         * lib/unigbrk/u32-grapheme-len.c: New file.
44872         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44874         New module 'u8-grapheme-next'.
44875         * modules/unigbrk/u8-grapheme-next: New file.
44876         * modules/unigbrk/u8-grapheme-next-tests: New file.
44877         * lib/unigbrk.in.h: Add prototype for new function.
44878         * lib/unigbrk/u8-grapheme-next.c: New file.
44879         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44881         New module 'u16-grapheme-next'.
44882         * modules/unigbrk/u16-grapheme-next: New file.
44883         * modules/unigbrk/u16-grapheme-next-tests: New file.
44884         * lib/unigbrk.in.h: Add prototype for new function.
44885         * lib/unigbrk/u16-grapheme-next.c: New file.
44886         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44888         New module 'u32-grapheme-next'.
44889         * modules/unigbrk/u32-grapheme-next: New file.
44890         * modules/unigbrk/u32-grapheme-next-tests: New file.
44891         * lib/unigbrk.in.h: Add prototype for new function.
44892         * lib/unigbrk/u32-grapheme-next.c: New file.
44893         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44895         New module 'u8-grapheme-prev'.
44896         * modules/unigbrk/u8-grapheme-prev: New file.
44897         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44898         * lib/unigbrk.in.h: Add prototype for new function.
44899         * lib/unigbrk/u8-grapheme-prev.c: New file.
44900         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44902         New module 'u16-grapheme-prev'.
44903         * modules/unigbrk/u16-grapheme-prev: New file.
44904         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44905         * lib/unigbrk.in.h: Add prototype for new function.
44906         * lib/unigbrk/u16-grapheme-prev.c: New file.
44907         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44909         New module 'u32-grapheme-prev'.
44910         * modules/unigbrk/u32-grapheme-prev: New file.
44911         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44912         * lib/unigbrk.in.h: Add prototype for new function.
44913         * lib/unigbrk/u32-grapheme-prev.c: New file.
44914         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44916         New module 'u8-grapheme-breaks'.
44917         * modules/unigbrk/u8-grapheme-breaks: New file.
44918         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44919         * lib/unigbrk.in.h: Add prototype for new function.
44920         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44921         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44923         New module 'u16-grapheme-breaks'.
44924         * modules/unigbrk/u16-grapheme-breaks: New file.
44925         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44926         * lib/unigbrk.in.h: Add prototype for new function.
44927         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44928         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44930         New module 'u32-grapheme-breaks'.
44931         * modules/unigbrk/u32-grapheme-breaks: New file.
44932         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44933         * lib/unigbrk.in.h: Add prototype for new function.
44934         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44935         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44937         New module 'ulc-grapheme-breaks'.
44938         * modules/unigbrk/ulc-grapheme-breaks: New file.
44939         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44940         * m4/locale-ar.m4: New file.
44941         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44942         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44943         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44945 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44947         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44948         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44949         modified how this file was generated before I initially submitted
44950         the module, but failed to regenerate it.  This meant that several
44951         of the level2 entries were wrong.
44952         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44953         Remove the division-by-2 that is folded into the table now that
44954         gbrkprop.h has been regenerated properly.  Now -1 entries are
44955         handled correctly.
44957         New module 'unigbrk/uc-gbrk-prop-tests'.
44958         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44959         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44960         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44961         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44963 2011-01-01  Bruno Haible  <bruno@clisp.org>
44965         Avoid use of hexadecimal escapes.
44966         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44967         instead of hexadecimal escapes.
44969 2011-01-01  Jim Meyering  <meyering@redhat.com>
44971         maint: new rule to update copyright year ranges
44972         * Makefile (update-copyright): New rule.
44974         maint: indent with TABs in Makefile
44975         * Makefile: Expand leading sequences of spaces to TABs
44977         version-etc: update the copyright year it reports
44978         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44980 2010-12-31  Bruno Haible  <bruno@clisp.org>
44982         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44983         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44984         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44985         zero.
44987 2010-12-31  Bruno Haible  <bruno@clisp.org>
44989         pwrite: Work around HP-UX 11.11 bug.
44990         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44991         works and set REPLACE_PWRITE if not.
44992         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44993         function.
44994         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44996 2010-12-31  Bruno Haible  <bruno@clisp.org>
44998         pread: Work around HP-UX 11 bugs.
44999         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
45000         and set REPLACE_PREAD if not.
45001         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
45003 2010-12-31  Eric Blake  <eblake@redhat.com>
45005         nl_langinfo: fix YESEXPR on Irix 6.5
45006         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
45007         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
45008         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
45009         it.
45011 2010-12-31  Bruno Haible  <bruno@clisp.org>
45013         iconv: Document HP-UX 11 bug.
45014         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
45016 2010-12-31  Bruno Haible  <bruno@clisp.org>
45018         ldexpl: Fix link error on HP-UX 11.
45019         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
45020         LDEXPL_LIBM, using $ISNANL_LIBM.
45022 2010-12-31  Eric Blake  <eblake@redhat.com>
45024         ftello: avoid compilation failure with SunStudio c89
45025         * lib/ftello.c (ftello): Use lseek, not llseek.
45027         tests: avoid failing coreutils tests on cygwin
45028         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
45029         (create_exe_shims_): Return 0 when skipping.
45031 2010-12-31  Bruno Haible  <bruno@clisp.org>
45033         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
45034         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
45036 2010-12-31  Bruno Haible  <bruno@clisp.org>
45038         waitpid: Fix link error in C++ mode.
45039         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
45041 2010-12-31  Bruno Haible  <bruno@clisp.org>
45043         isnan: Use GCC built-ins when possible.
45044         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
45045         __builtin_isnan.
45046         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
45047         (isnan): Define using GCC built-ins for GCC >= 4.0.
45049 2010-12-31  Bruno Haible  <bruno@clisp.org>
45051         isnand: Fix mistake.
45052         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
45053         __builtin_isnand.
45055 2010-12-31  Bruno Haible  <bruno@clisp.org>
45057         open: Avoid C++ error on HP-UX 11.
45058         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
45060 2010-12-31  Bruno Haible  <bruno@clisp.org>
45062         time_r: Add missing declarations on HP-UX 11.
45063         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
45064         instead of HAVE_LOCALTIME_R.
45065         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
45066         HAVE_LOCALTIME_R always.
45067         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
45068         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
45069         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
45070         HAVE_LOCALTIME_R.
45071         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
45072         * doc/posix-functions/localtime_r.texi: Likewise.
45074 2010-12-29  Eric Blake  <eblake@redhat.com>
45076         mountlist: tweak previous commit
45077         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
45078         Reported by Paul Eggert.
45080         mountlist: fix local drive detection on cygwin
45081         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
45082         that works for cygwin.
45084 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45086         ftoastr, snprintf: ftoastr + snprintf module
45087         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
45088         since the snprintf module now should be good enough here.
45089         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
45090         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
45091         and gl_MODULE_INDICATOR([snprintf]), but the former enables
45092         GNULIB_SNPRINTF only for the test directory, and the latter
45093         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
45094         seems to suffice by itself.
45096 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45098         alloca: one step towards thread-safety
45099         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
45100         need for a static variable.  All callers changed.  This does not
45101         make the alloca replacement thread-safe, but it's one step.
45103         tests: minor indenting change
45104         * tests/init.sh: Sync from coreutils housekeeping patch
45105         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
45106         to keep lines within 80 columns.
45108 2010-12-28  Jim Meyering  <meyering@redhat.com>
45110         regex: don't infloop on persistent failing calloc
45111         * lib/regexec.c (build_trtable): Return failure indication upon
45112         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
45113         In glibc, this was fixed for version 2.13:
45114         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
45116 2010-12-28  Bruno Haible  <bruno@clisp.org>
45117             Paul Eggert <eggert@cs.ucla.edu>
45119         linkat: Make implementation robust against system behaviour variations.
45120         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
45121         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
45122         way, and to -2 if it needs a generic runtime test.
45123         * lib/linkat.c (solaris_optimized_link_immediate,
45124         solaris_optimized_link_follow): New functions.
45125         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
45126         (check_same_link): Use it.
45128 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
45130         New module 'unigbrk/base'.
45131         * modules/unigbrk/base: New file.
45132         * lib/unigbrk.in.h: New file.
45134         New module 'unigbrk/uc-gbrk-prop'.
45135         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
45136         * modules/unigbrk/uc-gbrk-prop: New file.
45137         * lib/unigbrk/gbrkprop.h: New file.
45138         * lib/unigbrk/uc-gbrk-prop.c: New file.
45140         New module 'unigbrk/uc-is-grapheme-break'.
45141         * modules/unigbrk/uc-is-grapheme-break: New file.
45142         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
45143         * lib/unigbrk/uc-is-grapheme-break.c: New file.
45144         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
45145         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
45146         * tests/unigbrk/GraphemeBreakTest.txt: New file.
45148         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
45150 2010-12-27  Bruno Haible  <bruno@clisp.org>
45152         linkat test: Avoid failure on Solaris 11 2010-11.
45153         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
45155 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45157         utimens: work around glibc rounding bug on more platforms
45158         * lib/utimens.c (fdutimens): Work around rounding bug even if
45159         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
45160         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
45162 2010-12-27  Bruno Haible  <bruno@clisp.org>
45164         select tests: Improve comments.
45165         * tests/test-select.c (do_select): Add comments.
45167 2010-12-27  Bruno Haible  <bruno@clisp.org>
45169         select tests: Safer way of handling timeout.
45170         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
45171         at every invocation.
45173 2010-12-27  Bruno Haible  <bruno@clisp.org>
45175         select tests: Use 'bool' where appropriate.
45176         * tests/test-select.c (connect_to_socket): Change argument type to
45177         'bool'.
45179 2010-12-27  Bruno Haible  <bruno@clisp.org>
45181         select tests: Use existing modules.
45182         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
45183         (configure.ac): Don't test for unistd.h.
45184         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
45185         declared in <unistd.h>.
45187 2010-12-27  Bruno Haible  <bruno@clisp.org>
45189         mbrtowc: Work around a Solaris 7 bug.
45190         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
45191         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
45192         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
45193         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
45194         MBRTOWC_NULL_ARG1_BUG.
45195         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
45196         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
45197         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
45198         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
45200 2010-12-27  Jim Meyering  <meyering@redhat.com>
45202         read-file.c: tweak syntax
45203         * lib/read-file.c (fread_file): Remove space after "*" in function
45204         definitions.
45206 2010-12-27  Bruno Haible  <bruno@clisp.org>
45208         times test: Avoid gcc warnings on OSF/1.
45209         * tests/test-times.c (main): Cast printf arguments from clock_t to
45210         'long int'.
45212 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45214         utimens: work around glibc rounding bug on older Linux kernels
45215         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
45216         on Linux with a glibc whose utimes might not work, then work
45217         around a longstanding glibc bug involving rounding rather than
45218         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
45219         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45221 2010-12-26  Bruno Haible  <bruno@clisp.org>
45223         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
45224         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
45225         _GL_CXXALIAS_SYS.
45226         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45228 2010-12-26  Bruno Haible  <bruno@clisp.org>
45230         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
45231         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
45232         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45233         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
45234         looking for the declaration.
45235         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45236         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
45237         problem.
45238         * doc/posix-functions/inet_pton.texi: Likewise.
45240 2010-12-26  Bruno Haible  <bruno@clisp.org>
45242         arpa_inet: Use the common idioms with C++ support.
45243         * lib/arpa_inet.in.h: Include c++defs.h.
45244         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
45245         support.
45246         * modules/arpa_inet (Depends-on): Add c++defs.
45247         (Makefile.am): Substitute the contents of c++defs.h.
45248         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
45249         * modules/arpa_inet-c++-tests: New file.
45250         * tests/test-arpa_inet-c++.cc: New file.
45252 2010-12-25  Bruno Haible  <bruno@clisp.org>
45254         Fix more C++ link errors on Solaris 8.
45255         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
45256         $(LIB_EACCESS).
45257         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
45258         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
45259         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
45260         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
45261         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
45263 2010-12-25  Bruno Haible  <bruno@clisp.org>
45265         printf-posix: Fix link error when a non-GCC compiler is used.
45266         * lib/stdio.in.h (printf): When not using GCC, override printf
45267         correctly.
45268         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45270 2010-12-25  Bruno Haible  <bruno@clisp.org>
45272         strerror_r-posix: Update doc.
45273         * doc/posix-functions/strerror_r.texi: Update doc about the return
45274         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
45276 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45278         utimens: simplify the logic of the previous change
45279         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
45280         This should not affect whether the test succeeds or fails.
45282         utimens: configure better on hosts with NFS clock skew
45283         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
45284         uses the clock of the local host.  It might use the clock of the
45285         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
45286         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45288 2010-12-25  Bruno Haible  <bruno@clisp.org>
45290         ptsname test: Avoid failure on Solaris.
45291         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
45292         open a pseudo-terminal; don't use BSD-style ptys.
45293         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
45295 2010-12-25  Bruno Haible  <bruno@clisp.org>
45297         ptsname: Avoid ERANGE failure on some systems.
45298         * lib/ptsname.c (buffer): Increase size.
45300 2010-12-25  Bruno Haible  <bruno@clisp.org>
45302         rename, renameat: Avoid test failures at NFS mounted locations.
45303         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
45304         so that subsequent mkdir calls succeed.
45306 2010-12-25  Bruno Haible  <bruno@clisp.org>
45308         iswblank: Fix C++ link error on Solaris 8.
45309         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
45310         _GL_FUNCDECL_SYS.
45312 2010-12-25  Bruno Haible  <bruno@clisp.org>
45314         unistd: Fix C++ link error on Solaris 8.
45315         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
45317 2010-12-25  Bruno Haible  <bruno@clisp.org>
45319         readlink doc: Mention an old glibc bug.
45320         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
45322 2010-12-25  Bruno Haible  <bruno@clisp.org>
45324         fcntl-h: Fix for use of C++ on glibc systems.
45325         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
45326         also on glibc systems in C++ mode.
45327         Reported by Gary V. Vaughan <gary@gnu.org>.
45329 2010-12-25  Bruno Haible  <bruno@clisp.org>
45331         roundl-ieee: Make it work on OSF/1 5.1 with cc.
45332         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
45334 2010-12-25  Bruno Haible  <bruno@clisp.org>
45336         truncl-ieee: Make it work on OSF/1 5.1 with cc.
45337         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
45338         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
45339         test whether truncl works according to ISO C 99 with IEC 60559.
45340         * m4/truncl-ieee.m4: New file.
45341         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
45342         m4/signbit.m4.
45343         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
45345 2010-12-25  Bruno Haible  <bruno@clisp.org>
45347         ceill-ieee: Make it work on OSF/1 5.1 with cc.
45348         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
45349         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
45350         test whether ceill works according to ISO C 99 with IEC 60559.
45351         * m4/ceill-ieee.m4: New file.
45352         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
45353         m4/signbit.m4.
45354         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
45356 2010-12-25  Bruno Haible  <bruno@clisp.org>
45358         Ensure all prerequisites of <wchar.h> are included.
45359         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
45360         before <wchar.h>.
45361         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
45362         gl_MBRLEN_NUL_RETVAL): Likewise.
45363         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45364         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
45365         AC_FUNC_MBRTOWC): Likewise.
45366         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45367         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45368         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45369         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45370         Likewise.
45371         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45372         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
45373         (gl_WCHAR_H): Improve comments.
45374         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
45376 2010-12-25  Bruno Haible  <bruno@clisp.org>
45378         strtok_r: Fix C syntax error in autoconf macro.
45379         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
45380         characters in test program.
45382 2010-12-24  Bruno Haible  <bruno@clisp.org>
45384         ceil, trunc, round: Fix gcc warnings.
45385         * lib/ceil.c (MIN): Undefine before redefining.
45386         * lib/trunc.c (MIN): Likewise.
45387         * lib/round.c (MIN): Likewise.
45388         Include <math.h> first.
45390 2010-12-24  Bruno Haible  <bruno@clisp.org>
45392         select tests: Avoid failures on OSF/1 5.1.
45393         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
45394         failure of closing the last socket; it may fail with ECONNRESET.
45396 2010-12-24  Eric Blake  <eblake@redhat.com>
45398         stdint: avoid HP-UX 10.20 preprocessor bug
45399         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
45400         than #if.
45401         * tests/test-floor2.c (main): Likewise.
45402         Reported by Peter O'Gorman.
45404         pipe: make obsoletion transition easier
45405         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
45406         * modules/pipe (Files): Include revived file.
45407         (Include): Drop reference, to mirror getdate's behavior.
45409 2010-12-24  Bruno Haible  <bruno@clisp.org>
45411         sys_socket: Hide mismatch of declarations on NonStop Kernel.
45412         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
45413         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
45414         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45416 2010-12-24  Bruno Haible  <bruno@clisp.org>
45418         gethostname: Ensure declaration on NonStop Kernel.
45419         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
45420         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45422 2010-12-24  Bruno Haible  <bruno@clisp.org>
45424         sys_select: Ensure all necessary types on NonStop Kernel.
45425         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
45426         include <sys/time.h>.
45427         * doc/posix-headers/sys_select.texi: Mention that it's missing on
45428         NonStop Kernel.
45429         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45431 2010-12-24  Bruno Haible  <bruno@clisp.org>
45433         sys_select: Remove unneeded include.
45434         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
45435         have <sys/select.h>.
45437 2010-12-24  Bruno Haible  <bruno@clisp.org>
45439         gethostname: Provide a fallback for HOST_NAME_MAX.
45440         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
45441         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
45442         instead.
45443         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45445 2010-12-24  Bruno Haible  <bruno@clisp.org>
45447         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
45448         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
45449         (SA_RESTART): Likewise.
45450         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45452 2010-12-24  Bruno Haible  <bruno@clisp.org>
45454         signal: Define NSIG.
45455         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
45456         * tests/test-signal.c (nsig): New variable.
45457         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45459 2010-12-24  Bruno Haible  <bruno@clisp.org>
45461         rename, renameat: Avoid test failures on OSF/1 5.1.
45462         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
45463         alternative error codes.
45464         * tests/test-renameat.c (main): Likewise.
45466 2010-12-24  Bruno Haible  <bruno@clisp.org>
45468         *printf: Detect large precisions bug on Solaris 10/SPARC.
45469         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
45470         by Paul Eggert.
45471         * tests/test-snprintf-posix.h (test_function): Add this test code here
45472         too.
45473         * tests/test-sprintf-posix.h (test_function): Likewise.
45474         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45475         * tests/test-vasprintf-posix.c (test_function): Likewise.
45476         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45477         around by gnulib.
45478         * doc/posix-functions/printf.texi: Likewise.
45479         * doc/posix-functions/snprintf.texi: Likewise.
45480         * doc/posix-functions/sprintf.texi: Likewise.
45481         * doc/posix-functions/vfprintf.texi: Likewise.
45482         * doc/posix-functions/vprintf.texi: Likewise.
45483         * doc/posix-functions/vsnprintf.texi: Likewise.
45484         * doc/posix-functions/vsprintf.texi: Likewise.
45485         * doc/posix-functions/dprintf.texi: Undo last commit.
45486         * doc/posix-functions/vdprintf.texi: Likewise.
45488 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45490         tests: port test-fdutimensat.c to Solaris 8
45491         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45492         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45493         On Solaris 8, it fails with errno == ENOSYS, because there is no
45494         futimens (so it can't use the fd), and there is no lutimens (so it
45495         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45497         vsnprintf: make more consistent with snprintf; doc fixes
45499         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45500         the byte count return problem was promoted from the snprintf-posix
45501         to the snprintf module.
45502         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45503         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45504         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45505         * tests/test-snprintf.c (main): Check the byte count returned.
45506         * tests/test-vsnprintf.c (main): Likewise.
45508 2010-12-23  Eric Blake  <eblake@redhat.com>
45510         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45511         * modules/sigpipe (License): Relax license.
45513 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45515         doc: document Solaris printf bug with large float precisions
45516         * doc/posix-functions/dprintf.texi (dprintf):
45517         * doc/posix-functions/fprintf.texi (fprintf):
45518         * doc/posix-functions/printf.texi (printf):
45519         * doc/posix-functions/snprintf.texi (snprintf):
45520         * doc/posix-functions/sprintf.texi (sprintf):
45521         * doc/posix-functions/vdprintf.texi (vdprintf):
45522         * doc/posix-functions/vfprintf.texi (vfprintf):
45523         * doc/posix-functions/vprintf.texi (vprintf):
45524         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45525         * doc/posix-functions/vsprintf.texi (vsprintf):
45526         Mention that these functions mishandle large floating point
45527         precisions on Solaris 10.  The same bug is also present in Solaris
45528         8, and I assume earlier.  This causes "cd gnulib-tests; make
45529         check" to fail on Solaris 8 (and I assume, later) when building
45530         the latest coreutils, in test-vasprintf-posix's call to
45531         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45532         the wide flavors (e.g., wprintf) so this patch just updates the
45533         documentation for the narrow ones.
45535         test-posixtm.c: add two tests
45536         * tests/test-posixtm.c: Add two tests, to highlight the
45537         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45538         around this bug; this is merely to document it.
45540 2010-12-22  Bruno Haible  <bruno@clisp.org>
45542         getlogin_r: Work around portability problem on OSF/1.
45543         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45544         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45545         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45546         test for a truncated result.
45547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45548         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45549         * modules/getlogin_r (Depends-on): Add memchr.
45550         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45552 2010-12-22  Bruno Haible  <bruno@clisp.org>
45554         ptsname: Avoid test failure on OSF/1 5.1.
45555         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45556         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45557         (same_slave): New function.
45558         (main): Use it to compare ptsname's result with the expected file name.
45560 2010-12-22  Bruno Haible  <bruno@clisp.org>
45562         Port extended stdio modules to HP NonStop Kernel.
45563         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45564         macros.
45565         * lib/fbufmode.c: Update comments.
45566         * lib/fflush.c: Likewise.
45567         * lib/fpurge.c: Likewise.
45568         * lib/freadable.c: Likewise.
45569         * lib/freadahead.c: Likewise.
45570         * lib/freading.c: Likewise.
45571         * lib/freadptr.c: Likewise.
45572         * lib/freadseek.c: Likewise.
45573         * lib/fseeko.c: Likewise.
45574         * lib/fseterr.c: Likewise.
45575         * lib/fwritable.c: Likewise.
45576         * lib/fwriting.c: Likewise.
45577         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45579 2010-12-22  Bruno Haible  <bruno@clisp.org>
45581         ttyname_r: Work around bug on OSF/1 5.1.
45582         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45583         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45584         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45585         present.
45586         * lib/ttyname_r.c (ttyname_r): Update comments.
45588 2010-12-22  Bruno Haible  <bruno@clisp.org>
45590         round: Implement result sign according to IEEE 754.
45591         * lib/round.c (MIN, MINUS_ZERO): New macros.
45592         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45593         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45594         * tests/test-round-ieee.c (main): Likewise.
45595         * tests/test-roundl-ieee.c (main): Likewise.
45597         trunc: Implement result sign according to IEEE 754.
45598         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45599         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45600         * tests/test-trunc2.c: Include minus-zero.h.
45601         (MINUS_ZERO): New macro.
45602         (trunc_reference): Keep in sync with lib/trunc.c.
45603         * tests/test-truncf2.c: Include minus-zero.h.
45604         (MINUS_ZERO): New macro.
45605         (truncf_reference): Keep in sync with lib/trunc.c.
45606         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45607         * tests/test-trunc-ieee.c (main): Likewise.
45608         * tests/test-truncl-ieee.c (main): Likewise.
45610         ceil: Implement result sign according to IEEE 754.
45611         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45612         (FUNC): Return -0.0 for -1 < x < 0.
45613         * tests/test-ceil2.c: Include minus-zero.h.
45614         (MINUS_ZERO): New macro.
45615         (ceil_reference): Keep in sync with lib/ceil.c.
45616         * tests/test-ceilf2.c: Include minus-zero.h.
45617         (MINUS_ZERO): New macro.
45618         (ceilf_reference): Keep in sync with lib/ceil.c.
45619         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45620         * tests/test-ceil-ieee.c (main): Likewise.
45621         * tests/test-ceill-ieee.c (main): Likewise.
45623         floor: Implement result sign according to IEEE 754.
45624         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45625         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45626         * tests/test-floorf2.c (floorf_reference): Likewise.
45627         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45628         * tests/test-floor-ieee.c (main): Likewise.
45629         * tests/test-floorl-ieee.c (main): Likewise.
45631 2010-12-22  Bruno Haible  <bruno@clisp.org>
45633         getaddrinfo: Update doc.
45634         * doc/posix-functions/gai_strerror.texi: Return type is also different
45635         on AIX and HP-UX.
45637 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45639         getaddrinfo, inet_ntop: Update doc for Solaris.
45640         * doc/posix-functions/gai_strerror.texi: Return type is also an
45641         issue on Solaris 9 and earlier.
45642         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45643         on Solaris 10 and earlier.
45645 2010-12-21  Bruno Haible  <bruno@clisp.org>
45647         New module 'roundl-ieee'.
45648         * modules/roundl-ieee: New file.
45649         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45650         test whether roundl works according to ISO C 99 with IEC 60559.
45651         * m4/roundl-ieee.m4: New file.
45652         * modules/roundl-ieee-tests: New file.
45653         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45654         * tests/test-roundl.c (main): Remove signbit tests.
45655         * modules/roundl-tests (Depends-on): Remove signbit.
45656         * doc/posix-functions/roundl.texi: Mention the new module.
45658 2010-12-21  Bruno Haible  <bruno@clisp.org>
45660         New module 'truncl-ieee'.
45661         * modules/truncl-ieee: New file.
45662         * modules/truncl-ieee-tests: New file.
45663         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45664         * tests/test-truncl.c (main): Remove signbit tests.
45665         * modules/truncl-tests (Depends-on): Remove signbit.
45666         * doc/posix-functions/truncl.texi: Mention the new module.
45668 2010-12-21  Bruno Haible  <bruno@clisp.org>
45670         New module 'ceill-ieee'.
45671         * modules/ceill-ieee: New file.
45672         * modules/ceill-ieee-tests: New file.
45673         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45674         * tests/test-ceill.c (main): Remove signbit tests.
45675         * modules/ceill-tests (Depends-on): Remove signbit.
45676         * doc/posix-functions/ceill.texi: Mention the new module.
45678 2010-12-21  Bruno Haible  <bruno@clisp.org>
45680         New module 'floorl-ieee'.
45681         * modules/floorl-ieee: New file.
45682         * modules/floorl-ieee-tests: New file.
45683         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45684         * tests/test-floorl.c (main): Remove signbit tests.
45685         * modules/floorl-tests (Depends-on): Remove signbit.
45686         * doc/posix-functions/floorl.texi: Mention the new module.
45688 2010-12-21  Bruno Haible  <bruno@clisp.org>
45690         New module 'round-ieee'.
45691         * modules/round-ieee: New file.
45692         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45693         whether round works according to ISO C 99 with IEC 60559.
45694         * m4/round-ieee.m4: New file.
45695         * modules/round-ieee-tests: New file.
45696         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45697         * tests/test-round1.c (main): Remove signbit tests.
45698         * modules/round-tests (Depends-on): Remove 'signbit'.
45699         * doc/posix-functions/round.texi: Mention the new module.
45701 2010-12-21  Bruno Haible  <bruno@clisp.org>
45703         New module 'trunc-ieee'.
45704         * modules/trunc-ieee: New file.
45705         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45706         whether trunc works according to ISO C 99 with IEC 60559.
45707         * m4/trunc-ieee.m4: New file.
45708         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45710         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45711         * modules/trunc-ieee-tests: New file.
45712         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45713         * tests/test-trunc1.c (main): Remove signbit tests.
45714         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45715         * doc/posix-functions/trunc.texi: Mention the new module.
45717 2010-12-21  Bruno Haible  <bruno@clisp.org>
45719         New module 'ceil-ieee'.
45720         * modules/ceil-ieee: New file.
45721         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45722         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45723         ISO C 99 with IEC 60559.
45724         * m4/ceil-ieee.m4: New file.
45725         * modules/ceil (Files): Add lib/ceil.c.
45726         (Depends-on): Add 'float'.
45727         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45728         * lib/math.in.h (ceil): New declaration.
45729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45730         REPLACE_CEIL.
45731         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45732         * modules/ceil-ieee-tests: New file.
45733         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45734         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45735         * doc/posix-functions/ceil.texi: Mention the new module.
45737 2010-12-21  Bruno Haible  <bruno@clisp.org>
45739         New module 'floor-ieee'.
45740         * modules/floor-ieee: New file.
45741         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45742         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45743         ISO C 99 with IEC 60559.
45744         * m4/floor-ieee.m4: New file.
45745         * modules/floor (Files): Add lib/floor.c.
45746         (Depends-on): Add 'float'.
45747         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45748         * lib/math.in.h (floor): New declaration.
45749         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45750         REPLACE_FLOOR.
45751         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45752         * modules/floor-ieee-tests: New file.
45753         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45754         * tests/test-math-c++.cc: Check the signature of 'floor'.
45755         * doc/posix-functions/floor.texi: Mention the new module.
45757 2010-12-21  Bruno Haible  <bruno@clisp.org>
45759         New module 'roundf-ieee'.
45760         * modules/roundf-ieee: New file.
45761         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45762         test whether roundf works according to ISO C 99 with IEC 60559.
45763         * m4/roundf-ieee.m4: New file.
45764         * modules/roundf-ieee-tests: New file.
45765         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45766         * tests/test-roundf1.c (main): Remove signbit tests.
45767         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45768         * doc/posix-functions/roundf.texi: Mention the new module.
45770 2010-12-21  Bruno Haible  <bruno@clisp.org>
45772         New module 'truncf-ieee'.
45773         * modules/truncf-ieee: New file.
45774         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45775         test whether truncf works according to ISO C 99 with IEC 60559.
45776         * m4/truncf-ieee.m4: New file.
45777         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45778         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45779         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45780         * modules/truncf-ieee-tests: New file.
45781         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45782         * tests/test-truncf1.c (main): Remove signbit tests.
45783         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45784         * doc/posix-functions/truncf.texi: Mention the new module.
45786 2010-12-21  Bruno Haible  <bruno@clisp.org>
45788         New module 'ceilf-ieee'.
45789         * modules/ceilf-ieee: New file.
45790         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45791         test whether ceilf works according to ISO C 99 with IEC 60559.
45792         * m4/ceilf-ieee.m4: New file.
45793         * modules/ceilf-ieee-tests: New file.
45794         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45795         * tests/test-ceilf1.c (main): Remove signbit tests.
45796         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45797         * doc/posix-functions/ceilf.texi: Mention the new module.
45799 2010-12-21  Bruno Haible  <bruno@clisp.org>
45801         New module 'floorf-ieee'.
45802         * modules/floorf-ieee: New file.
45803         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45804         test whether floorf works according to ISO C 99 with IEC 60559.
45805         * m4/floorf-ieee.m4: New file.
45806         * modules/floorf-ieee-tests: New file.
45807         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45808         * tests/test-floorf1.c (main): Remove signbit tests.
45809         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45810         * doc/posix-functions/floorf.texi: Mention the new module.
45812 2010-12-21  Bruno Haible  <bruno@clisp.org>
45814         Support for minus zero in autoconf macros.
45815         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45816         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45817         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45818         * tests/minus-zero.h: Update comments.
45820 2010-12-21  Bruno Haible  <bruno@clisp.org>
45822         Tests for module 'ceil'.
45823         * modules/ceil-tests: New file.
45824         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45825         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45827 2010-12-21  Bruno Haible  <bruno@clisp.org>
45829         Tests for module 'floor'.
45830         * modules/floor-tests: New file.
45831         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45832         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45834 2010-12-21  Bruno Haible  <bruno@clisp.org>
45836         math: Fix indentation.
45837         * lib/math.in.h (floorf): Fix indentation.
45839 2010-12-21  Bruno Haible  <bruno@clisp.org>
45841         Fix cross-compilation guesses on Solaris.
45842         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45843         not match "solaris2.10".
45844         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45845         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45846         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45848 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45850         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45851         This fixes a problem observed with the latest coreutils snapshot
45852         that caused a test to fail on Solaris 8.  src/csplit.c's call
45853         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45854         earlier, instead of returning the number of bytes that would have
45855         been generated; this causes csplit to incorrectly report memory
45856         exhaustion.
45857         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45858         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45859         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45860         comments to match.
45861         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45862         Fix typo in matching older versions of Solaris: "solaris2.10"
45863         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45864         only for guessing while cross-compiling.
45865         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45867 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45869         ftoastr: fix comment again
45870         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45871         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45872         Also, simplify example a bit by using flags = 0.
45874 2010-12-20  Bruno Haible  <bruno@clisp.org>
45876         round*, trunc*: Update documentation regarding glibc.
45877         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45878         * doc/posix-functions/round.texi: Likewise.
45879         * doc/posix-functions/roundl.texi: Likewise.
45880         * doc/posix-functions/truncf.texi: Likewise.
45881         * doc/posix-functions/trunc.texi: Likewise.
45882         * doc/posix-functions/truncl.texi: Likewise.
45884 2010-12-20  Bruno Haible  <bruno@clisp.org>
45886         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45887         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45888         * doc/posix-functions/round.texi: Likewise.
45889         * doc/posix-functions/roundl.texi: Likewise.
45891 2010-12-20  Bruno Haible  <bruno@clisp.org>
45893         ttyname_r: Add missing declaration on HP-UX 11.
45894         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45895         HAVE_TTYNAME_R.
45896         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45897         declared. Set HAVE_TTYNAME_R always.
45898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45899         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45900         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45901         HAVE_TTYNAME_R.
45902         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45904 2010-12-20  Bruno Haible  <bruno@clisp.org>
45906         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45907         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45908         * doc/posix-functions/getlogin_r.texi: Likewise.
45909         * tests/test-getlogin.c: Include <errno.h>.
45910         (main): Avoid test failure on HP-UX 11.11.
45911         * tests/test-getlogin_r.c (main): Likewise.
45913 2010-12-20  Bruno Haible  <bruno@clisp.org>
45915         getlogin_r: Add missing declaration on HP-UX 11.
45916         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45917         declared also when it exists as a function.
45918         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45920 2010-12-20  Bruno Haible  <bruno@clisp.org>
45922         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45923         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45924         through wcrtomb.
45926 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45928         ftoastr: fix comment
45929         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45930         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45932 2010-12-19  Bruno Haible  <bruno@clisp.org>
45934         isnan: Ensure it is a macro.
45935         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45936         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45937         Solaris.
45939 2010-12-19  Bruno Haible  <bruno@clisp.org>
45941         ldexpl test: Fix link error on OSF/1 5.1.
45942         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45944 2010-12-19  Bruno Haible  <bruno@clisp.org>
45946         wctype: Make it work in C++ mode on OSF/1 5.1.
45947         * lib/wctype.in.h (iswblank): Declare but not define here.
45948         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45949         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45950         * modules/wctype (Files): Add lib/iswblank.c.
45952 2010-12-19  Bruno Haible  <bruno@clisp.org>
45954         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45955         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45956         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45958 2010-12-19  Bruno Haible  <bruno@clisp.org>
45960         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45961         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45962         _POSIX_PII_SOCKET.
45963         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45964         * doc/posix-functions/recvfrom.texi: Likewise.
45965         * doc/posix-functions/send.texi: Likewise.
45966         * doc/posix-functions/sendto.texi: Likewise.
45968 2010-12-19  Bruno Haible  <bruno@clisp.org>
45970         tcgetsid: Add missing declaration on OSF/1 5.1.
45971         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45972         HAVE_TCGETSID.
45973         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45974         Don't set HAVE_TCGETSID.
45975         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45976         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45977         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45978         HAVE_TCGETSID.
45979         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45981 2010-12-19  Bruno Haible  <bruno@clisp.org>
45983         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45984         * lib/stdio.in.h: During the include_next statement, let recursive
45985         includes of this file include only the system header file.
45987 2010-12-19  Bruno Haible  <bruno@clisp.org>
45989         iconv_open: Fix regression from 2010-12-04.
45990         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45991         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45993 2010-12-19  Bruno Haible  <bruno@clisp.org>
45995         stdbool test: Avoid a gcc warning.
45996         * tests/test-stdbool.c (main): Fail if e1 is false.
45997         Reported by Jim Meyering.
45999 2010-12-19  Jim Meyering  <meyering@redhat.com>
46001         setenv: restore to working order
46002         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
46003         mistakenly removed.
46004         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
46005         HAVE_SETENV.
46006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
46007         HAVE_SETENV.
46009 2010-12-19  Bruno Haible  <bruno@clisp.org>
46011         Document some different function declarations on OSF/1 5.1.
46012         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
46013         * doc/posix-functions/inet_ntop.texi: Likewise.
46014         * doc/posix-functions/gethostname.texi: Likewise.
46015         * lib/unistd.in.h (gethostname): Update comment.
46017 2010-12-19  Bruno Haible  <bruno@clisp.org>
46019         doc: Mention vasprintf-posix module.
46020         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
46021         the 'vasprintf-posix' module.
46022         * doc/glibc-functions/vasprintf.texi: Likewise.
46024 2010-12-19  Bruno Haible  <bruno@clisp.org>
46026         unsetenv: Add missing declaration on OSF/1 5.1.
46027         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
46028         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
46029         Don't set HAVE_UNSETENV. In the test program, set _BSD.
46030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
46031         not HAVE_UNSETENV.
46032         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
46033         HAVE_UNSETENV.
46034         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
46036 2010-12-19  Bruno Haible  <bruno@clisp.org>
46038         setenv: Add missing declaration on OSF/1 5.1.
46039         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
46040         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
46041         declared. Don't set HAVE_SETENV.
46042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
46043         not HAVE_SETENV.
46044         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
46045         HAVE_SETENV.
46046         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
46048 2010-12-19  Bruno Haible  <bruno@clisp.org>
46050         nl_langinfo tests: Avoid gcc warning.
46051         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
46053 2010-12-19  Bruno Haible  <bruno@clisp.org>
46055         mknod: Avoid error in C++ mode on OSF/1 with GCC.
46056         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
46057         _GL_CXXALIAS_SYS.
46059 2010-12-19  Bruno Haible  <bruno@clisp.org>
46061         stdbool: Relax test.
46062         * tests/test-stdbool.c (e): Don't require that casts from a variable's
46063         address to 'bool' work in static initializer, for compilers other than
46064         GCC.
46066 2010-12-19  Bruno Haible  <bruno@clisp.org>
46068         ftello: Add missing declaration on OSF/1 5.1.
46069         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
46070         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
46071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
46072         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
46073         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
46075 2010-12-19  Bruno Haible  <bruno@clisp.org>
46077         fseeko: Add missing declaration on OSF/1 5.1.
46078         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
46079         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
46080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
46081         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
46082         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
46084 2010-12-19  Bruno Haible  <bruno@clisp.org>
46086         fchdir: Add missing declaration on OSF/1 5.1.
46087         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
46088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
46089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
46090         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
46091         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
46093 2010-12-19  Bruno Haible  <bruno@clisp.org>
46095         relocatable-prog-wrapper: Separate from relocatable-prog.
46096         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
46097         uninstall-relocwrapper rule here.
46098         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
46099         Reported by Ian Beckwith <ianb@erislabs.net>.
46101 2010-12-19  Bruno Haible  <bruno@clisp.org>
46103         unistr/u8-mbsnlen: Add missing dependency.
46104         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
46105         Reported by Ian Beckwith <ianb@erislabs.net>.
46107 2010-12-19  Bruno Haible  <bruno@clisp.org>
46109         iconv: Make it possible again to use this module without 'iconv-h'.
46110         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
46111         if it is not defined.
46112         Reported by Ian Beckwith <ianb@erislabs.net>.
46114 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46116         acl: port to Solaris 8 when copying from tmpfs to ufs
46117         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
46118         error number.  Problem observed on Solaris 8 with latest
46119         coreutils, with "mv A B", where A is on a tmpfs file system and B
46120         is on a ufs file system.  This caused coreutils' mv/part-symlink
46121         test to fail.
46123         tests: set fail=0 at start
46124         * tests/init.sh (setup_): Move fail=0 initialization here ...
46125         (mktempd_): ... from here, so that tests can rely on fail being
46126         set to 0 initially.  This fixes a problem in coreutils; see:
46127         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
46129 2010-12-18  Bruno Haible  <bruno@clisp.org>
46131         memmem-simple: Stylistic changes.
46132         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
46133         Fix preprocessor directive indentation.
46135 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46137         memmem, memmem-simple: reorganize and expand empty needle check
46138         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
46139         functional checks to memmem-simple so that one has a fully functional
46140         memmem by using just this module.
46141         Restrict the performance only check to the memmem module.
46142         Also expand the empty needle check to ensure the correct
46143         pointer is returned, not just a non NULL pointer.
46144         * doc/glibc-functions/memmem.texi: Rearrange the portability
46145         documentation to correlate with the rearranged checks.
46146         Clarify exactly how the memmem and memmem-simple modules
46147         relate to each other.
46149 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46150             Bruno Haible  <bruno@clisp.org>
46152         Improve cross-compilation guesses for uClibc.
46153         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
46154         that uClibc does not have the glibc bug.
46155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
46156         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
46158 2010-12-14  Eric Blake  <eblake@redhat.com>
46160         configmake: provide fallbacks for oldest supported autotools
46161         * m4/configmake.m4: New file.
46162         * modules/configmake (Files): Ship it.
46163         (configure.ac): Use it to guarantee fallbacks.
46165 2010-12-13  Pádraig Brady  <P@draigBrady.com>
46167         read-file: Improve handling of large files
46168         * lib/read-file.c (fread_file): Minimize realloc()s
46169         for regular files, and better manage sizes around SIZE_MAX.
46171 2010-12-13  Eric Blake  <eblake@redhat.com>
46173         cloexec, fcntl: relax license
46174         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
46175         consent from all contributors.
46176         * modules/fcntl (License): Likewise.
46178 2010-12-10  Bruno Haible  <bruno@clisp.org>
46180         Tests for module 'pipe-posix'.
46181         * modules/pipe-posix-tests: New file.
46182         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
46184 2010-12-10  Bruno Haible  <bruno@clisp.org>
46186         pipe-posix: Make it work in C++ mode.
46187         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
46188         (pipe): Use common idiom, not a macro definition.
46189         * lib/pipe.c: New file.
46190         * m4/pipe.m4: New file.
46191         * modules/pipe-posix (Description): Enhance.
46192         (Files): Add lib/pipe.c, m4/pipe.m4.
46193         (configure.ac): Invoke gl_FUNC_PIPE.
46194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
46195         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
46196         * tests/test-unistd-c++.cc: Check the signature of pipe.
46198 2010-12-10  Bruno Haible  <bruno@clisp.org>
46200         Rename module 'pipe' to 'spawn-pipe'.
46201         * modules/spawn-pipe: New file, renamed from modules/pipe.
46202         (Files, configure.ac, Makefile.am): Update.
46203         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
46204         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
46205         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
46206         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
46207         "spawn-pipe.h" instead of "pipe.h".
46208         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
46209         to gl_SPAWN_PIPE.
46210         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
46211         (Files, Makefile.am): Update.
46212         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
46213         Update.
46214         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
46215         Include "spawn-pipe.h" instead of "pipe.h".
46216         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
46217         * lib/javacomp.c: Likewise.
46218         * lib/javaversion.c: Likewise.
46219         * lib/pipe-filter-gi.c: Likewise.
46220         * lib/pipe-filter-ii.c: Likewise.
46221         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
46222         * modules/javacomp (Depends-on): Likewise.
46223         * modules/javaversion (Depends-on): Likewise.
46224         * modules/pipe-filter-gi (Depends-on): Likewise.
46225         * modules/pipe-filter-ii (Depends-on): Likewise.
46226         * MODULES.html.sh (Executing programs): Update.
46227         * NEWS: Mention the change.
46229 2010-12-10  Eric Blake  <eblake@redhat.com>
46231         pipe-posix: new module
46232         * modules/pipe-posix: New file.
46233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
46234         (gl_UNISTD_H): Check for declaration.
46235         * modules/unistd (Makefile.am): Substitute it.
46236         * lib/unistd.in.h (pipe): Provide it for mingw.
46237         * doc/posix-functions/pipe.texi (pipe): Update documentation.
46238         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
46240 2010-12-07  Bruno Haible  <bruno@clisp.org>
46242         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
46243         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
46244         u8_strcmp_gnu.
46245         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
46247 2010-12-06  Bruno Haible  <bruno@clisp.org>
46249         Update internal documentation.
46250         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
46252 2010-12-04  Bruno Haible  <bruno@clisp.org>
46254         Put more information about failed tests into the test return codes.
46255         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
46256         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
46257         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46258         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
46259         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
46260         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46261         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46262         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46263         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
46264         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
46265         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
46266         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46267         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
46268         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46269         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
46270         returns a bit mask.
46271         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
46272         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
46273         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
46274         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
46275         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46276         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
46277         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
46278         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46279         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
46280         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
46281         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46282         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
46283         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46284         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
46285         * m4/link.m4 (gl_FUNC_LINK): Likewise.
46286         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
46287         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
46288         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
46289         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46290         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
46291         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46292         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
46293         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
46294         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
46295         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
46296         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46297         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
46298         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
46299         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
46300         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
46301         gl_PRINTF_PRECISION): Likewise.
46302         * m4/regex.m4 (gl_REGEX): Likewise.
46303         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46304         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
46305         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
46306         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
46307         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46308         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46309         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
46310         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
46311         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46312         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46313         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
46314         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46315         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
46316         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46317         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
46318         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
46319         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
46320         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
46321         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46322         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
46323         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
46324         enumerated value.
46325         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
46327 2010-12-04  Bruno Haible  <bruno@clisp.org>
46329         Update for Solaris 11 2010-11.
46330         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
46331         Express, released in November 2010.
46333 2010-12-04  Bruno Haible  <bruno@clisp.org>
46335         nproc: Relax license.
46336         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
46337         and Paul Eggert.
46338         Requested by Ludovic Courtès <ludo@gnu.org>.
46340 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46342         utimecmp: fine-grained src to nearby coarse-grained dest
46344         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
46345         and the source is on a file system with higher-resolution time
46346         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
46347         not work, and the time stamps are close together, the algorithm to
46348         determine the exact resolution from the read-back mtime was buggy:
46349         it had a "!=" where it should have had an "==".  This bug has been
46350         in the code ever since it was introduced to gnulib.
46351         Problem reported by Dan Jacobson in
46352         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
46354 2010-11-30  Bruno Haible  <bruno@clisp.org>
46356         strerror_r-posix: Fix autoconf test.
46357         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
46359 2010-11-28  Bruno Haible  <bruno@clisp.org>
46360             Paul Eggert  <eggert@cs.ucla.edu>
46362         Tests for module 'getdomainname'.
46363         * modules/getdomainname-tests: New file.
46364         * tests/test-getdomainname.c: New file, based on
46365         tests/test-gethostname.c.
46367 2010-11-28  Bruno Haible  <bruno@clisp.org>
46368             Paul Eggert  <eggert@cs.ucla.edu>
46370         getdomainname: Use the system function when possible.
46371         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
46372         (getdomainname): Replace if needed. Provide the declaration if it is
46373         missing. Don't use _GL_CXXALIAS_SYS_CAST.
46374         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
46375         (getdomainname): When the system has getdomainname, call the system
46376         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
46377         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
46378         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
46379         found in libnsl. Look for the declaration also in <netdb.h>. Replace
46380         the function if its second argument is of type 'int' or if it is found
46381         in libnsl.
46382         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
46383         <sys/systeminfo.h> and sysinfo().
46384         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
46385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46386         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
46387         HAVE_GETDOMAINNAME.
46388         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
46389         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
46390         * doc/glibc-functions/getdomainname.texi: Document the problems with
46391         the getdomainname declaration.
46393 2010-11-28  Bruno Haible  <bruno@clisp.org>
46395         sys_socket: Ensure ss_family field on AIX.
46396         * lib/sys_socket.in.h (ss_family): New macro definition.
46397         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
46398         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
46399         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46400         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46401         * modules/sys_socket (Makefile.am): Substitute
46402         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46403         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
46405 2010-11-27  Bruno Haible  <bruno@clisp.org>
46407         readline: Improve configure output.
46408         * m4/readline.m4 (gl_FUNC_READLINE): Make the
46409         "checking for readline..." result understandable.
46411 2010-11-27  Bruno Haible  <bruno@clisp.org>
46413         *printf-posix: Detect a bug on Solaris 10/x86.
46414         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
46415         for floating-point output.
46416         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
46417         directive.
46418         * tests/test-snprintf-posix.h (test_function): Likewise.
46419         * tests/test-sprintf-posix.h (test_function): Likewise.
46420         * tests/test-vasprintf-posix.c (test_function): Likewise.
46421         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
46422         * doc/posix-functions/printf.texi: Likewise.
46423         * doc/posix-functions/snprintf.texi: Likewise.
46424         * doc/posix-functions/sprintf.texi: Likewise.
46425         * doc/posix-functions/vfprintf.texi: Likewise.
46426         * doc/posix-functions/vprintf.texi: Likewise.
46427         * doc/posix-functions/vsnprintf.texi: Likewise.
46428         * doc/posix-functions/vsprintf.texi: Likewise.
46429         * doc/glibc-functions/obstack_printf.texi: Likewise.
46430         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46432 2010-11-27  Bruno Haible  <bruno@clisp.org>
46434         Fix link error when module libunistring-optional is in use.
46435         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
46436         * modules/striconveha-tests (Makefile.am): Likewise.
46438 2010-11-27  Bruno Haible  <bruno@clisp.org>
46440         regex: Mention link dependencies.
46441         * modules/regex (Link): New section.
46442         * modules/rpmatch (Link): Likewise.
46443         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
46445 2010-11-27  Bruno Haible  <bruno@clisp.org>
46447         ftoastr: Fix compilation error on Solaris.
46448         * lib/ftoastr.c: Include <config.h>.
46450 2010-11-27  Bruno Haible  <bruno@clisp.org>
46452         getloadavg: Update documentation.
46453         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
46455 2010-11-27  Bruno Haible  <bruno@clisp.org>
46457         sys_socket: Fix test whether the functions are declared.
46458         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
46459         not <sys/select.h>.
46461 2010-11-27  Bruno Haible  <bruno@clisp.org>
46463         getpass: Make sure to get system declaration on some platforms.
46464         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
46465         gl_USE_SYSTEM_EXTENSIONS.
46466         * modules/getpass (Depends-on): Add extensions.
46468 2010-11-26  Bruno Haible  <bruno@clisp.org>
46470         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46471         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46472         'iconv' module is present.
46473         (ICONV_CONST): New macro.
46474         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46475         ICONV_CONST.
46476         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46477         set ICONV_CONST.
46478         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46479         here.
46480         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46481         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46482         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46483         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46484         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46485         present.
46487 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46489         ftoastr: comment fix
46490         * lib/ftoastr.c: "little" -> "little or no" in comment
46492 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46494         stdint: port to GCC 4.3 + OSX + Octave
46495         On this platform, stdint.h is buggy and defines int64_t to long
46496         long int.  The replacement defined it to long int, causing
46497         problems with C++ style name mangling.  Instead, trust the system
46498         definition if INT64_MAX is defined, and likewise for the unsigned
46499         variant.   Problem reported by Jarno Rajahalme in
46500         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46501         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46502         and don't mess with int64_t and INT64_MAX in this case.
46503         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46505 2010-11-24  Bruno Haible  <bruno@clisp.org>
46507         doc: Corrections regarding MacOS X 10.4 and 10.5.
46508         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46509         MacOS X.
46510         Reported by Simon Josefsson.
46512 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46514         Uninstall ".bin" files installed by relocwrapper.
46515         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46516         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46517         unless it is already there.
46519 2010-11-21  Bruno Haible  <bruno@clisp.org>
46521         Update for NetBSD 5.0.
46522         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46523         NetBSD; the test fails on NetBSD 5.0.
46524         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46525         about NetBSD.
46527 2010-11-21  Bruno Haible  <bruno@clisp.org>
46529         Update for HP-UX 11.23 and HP-UX 11.31.
46530         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46531         HP-UX.
46533 2010-11-21  Bruno Haible  <bruno@clisp.org>
46535         Update for MacOS X 10.5.
46536         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46537         MacOS X; the test fails on MacOS X 10.5.8.
46538         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46539         about MacOS X.
46541 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46543         bootstrap: add bootstrap_sync option.
46544         See discussion at
46545         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46546         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46547         * build-aux/bootstrap: Accept --bootstrap-sync to update
46548         bootstrap if it is not identical to the local gnulib's
46549         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46550         enable this by default.  Accept --no-bootstrap-sync to disable
46551         it.
46553 2010-11-20  Bruno Haible  <bruno@clisp.org>
46555         Ensure that <features.h> is included before __GLIBC__ is tested.
46556         * lib/printf-parse.h: Include <features.h>.
46557         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46558         Reported by Mike Frysinger <vapier@gentoo.org>.
46560         Ensure that <features.h> is included before __GLIBC__ is tested.
46561         * lib/wchar.in.h: Include <features.h>.
46562         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46563         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46564         Reported by Mike Frysinger <vapier@gentoo.org>.
46566         Ensure that <features.h> is included before __GLIBC__ is tested.
46567         * lib/arpa_inet.in.h: Include <features.h>.
46568         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46569         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46570         Reported by Mike Frysinger <vapier@gentoo.org>.
46572         Ensure that <features.h> is included before __GLIBC__ is tested.
46573         * build-aux/link-warning.h: Include <features.h>.
46574         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46575         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46576         Reported by Mike Frysinger <vapier@gentoo.org>.
46578         Ensure that <features.h> is included before __GLIBC__ is tested.
46579         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46580         Reported by Mike Frysinger <vapier@gentoo.org>.
46582 2010-11-20  Bruno Haible  <bruno@clisp.org>
46584         memmem: Fix autoconf test.
46585         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46587 2010-11-20  Bruno Haible  <bruno@clisp.org>
46589         Port to uClibc.
46590         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46591         * lib/fcntl.in.h: Likewise.
46592         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46593         * lib/mbrtowc.c (mbrtowc): Likewise.
46594         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46595         * lib/strerror_r.c: Likewise.
46596         * lib/unistr/u8-strnlen.c: Likewise.
46597         * lib/vasnprintf.c (decimal_point_char): Likewise.
46598         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46599         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46601         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46602         * tests/test-sigaction.c (handler, main): Likewise.
46603         * lib/freading.h: Treat uClibc like a non-glibc platform.
46604         * lib/freading.c: Likewise.
46605         * lib/gettext.h: Likewise.
46606         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46607         Likewise.
46608         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46609         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46610         * lib/propername.c (proper_name_utf8): Likewise.
46611         * lib/spawn.in.h: Likewise.
46612         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46613         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46614         mem_cd_iconveh_internal): Likewise.
46615         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46616         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46617         strstr, strcasestr): Likewise.
46618         * lib/unicodeio.c (unicode_to_mb): Likewise.
46619         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46620         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46621         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46622         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46623         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46624         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46625         * lib/unistr/u8-stpncpy.c: Likewise.
46626         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46627         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46628         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46629         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46630         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46631         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46632         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46633         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46634         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46635         Likewise.
46636         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46637         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46638         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46639         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46640         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46641         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46642         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46643         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46644         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46645         * tests/test-striconveha.c (main): Likewise.
46646         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46647         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46648         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46649         * doc/posix-functions/getline.texi: Likewise.
46650         Reported by Mike Frysinger <vapier@gentoo.org>.
46652 2010-11-20  Bruno Haible  <bruno@clisp.org>
46654         nproc: Fix condition.
46655         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46656         HAVE_PTHREAD_AFFINITY_NP.
46658 2010-11-20  Bruno Haible  <bruno@clisp.org>
46660         Fix a comment.
46661         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46663 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46665         ftoastr: don't assume snprintf
46666         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46667         Implement a subset of snprintf here, by using sprintf safely.
46668         * modules/ftoastr (Depends-on): Remove snprintf.
46670 2010-11-19  Jim Meyering  <meyering@redhat.com>
46672         test-rename.h: fix compilation failure
46673         * tests/test-rename.h (test_rename): Add omitted "}".
46675 2010-11-17  Jim Meyering  <meyering@redhat.com>
46677         maint.mk: add a URL discussing the no-@acronym policy
46678         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46680 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46682         ftoastr: depend on snprintf, improve comments
46683         * lib/ftoastr.c: Also mention Loitsch's draft.
46684         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46685         needed in the current implementation, but it might simplify
46686         speeding up the code later.
46687         * modules/ftoastr: Depend on snprintf; this improves portability.
46688         Suggested by Bruno Haible in the same email.
46690         ftoastr: port to hosts lacking strtof and strtold
46691         Problem reported by Bruno Haible in
46692         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46693         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46694         environment and strtold (and presumably strtof) are not available.
46695         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46696         (configure.ac): Require gl_C99_STRTOLD.
46698 2010-11-18  Bruno Haible  <bruno@clisp.org>
46700         c-strtold: Avoid link error on AIX 7.
46701         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46702         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46703         (gl_C_STRTOLD): Test whether strtold_l exists.
46704         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46706 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46708         intprops: new macro INT_BITS_STRLEN_BOUND
46709         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46710         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46711         not exposed.  Also, it uses a slightly tighter bound than before;
46712         though this makes no practical difference, we might as well be as
46713         tight as we easily can.
46715         ftoastr: new module, for lossless conversion of floats to short strings
46716         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46717         * modules/ftoastr: New files.
46719 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46721         bootstrap: port to Solaris sed
46722         * build-aux/bootstrap (get_version): Port to Solaris sed.
46723         See Ralf Wildenhues's note in
46724         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46726 2010-11-14  Jim Meyering  <meyering@redhat.com>
46728         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46729         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46730         and move definition closer to sole use.
46732 2010-11-13  Jim Meyering  <meyering@redhat.com>
46734         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46735         Now we require at least autoconf-2.59, which means the work-around
46736         is no longer needed.
46737         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46738         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46739         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46740         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46741         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46743 2010-11-13  Bruno Haible  <bruno@clisp.org>
46745         rename, renameat: Avoid test failures at NFS mounted locations.
46746         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46747         functions.
46748         (test_rename): Use assert_nonexistent.
46749         * tests/test-rename.c: Include <dirent.h>.
46750         * tests/test-renameat.c: Likewise.
46751         Reported by Gary V. Vaughan <gary@gnu.org>.
46753         rename, renameat: Document Linux bug with NFS
46754         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46755         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46756         * doc/posix-functions/renameat.texi: Likewise.
46757         Suggested by Eric Blake.
46759 2010-11-13  Bruno Haible  <bruno@clisp.org>
46761         rename test: Add comments.
46762         * tests/test-rename.h (test_rename): Add structure and comments.
46764 2010-11-13  Eric Blake  <eblake@redhat.com>
46766         maintainer-makefile: cover a few more files
46767         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46768         scripts generated within C files, for libvirt.
46770 2010-11-13  Bruno Haible  <bruno@clisp.org>
46772         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46773         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46774         character, return the number of bytes that belong together, not always
46775         1.
46776         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46777         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46778         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46779         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46780         number of bytes of an invalid character.
46781         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46782         (main): Invoke it.
46783         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46784         results.
46785         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46786         malformed byte sequences.
46787         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46788         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46789         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46790         Reported by Ben Pfaff and Paolo Bonzini.
46792 2010-11-13  Bruno Haible  <bruno@clisp.org>
46794         openat: Work around glibc bug with fchownat() and empty file names.
46795         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46796         (gl_FUNC_FCHOWNAT): Invoke it.
46797         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46798         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46799         Reported by Gary V. Vaughan <gary@gnu.org>.
46801 2010-11-13  Bruno Haible  <bruno@clisp.org>
46803         openat: Ensure autoconf macro ordering.
46804         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46805         gl_USE_SYSTEM_EXTENSIONS.
46806         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46808 2010-11-13  Bruno Haible  <bruno@clisp.org>
46810         Update comments.
46811         * lib/unistr/u8-check.c: Update file name in comments.
46812         * lib/unistr/u8-mblen.c: Likewise.
46813         * lib/unistr/u8-prev.c: Likewise.
46814         * lib/unistr/u8-strmblen.c: Likewise.
46815         * lib/unistr/u8-strmbtouc.c: Likewise.
46817 2010-11-13  Jim Meyering  <meyering@redhat.com>
46819         tests: avoid test failure on Solaris 10 due to lack of PATH export
46820         * tests/test-update-copyright.sh: Don't forget to export PATH.
46822         init.sh: ensure that IFS is defined, just in case...
46823         * tests/init.sh (setup_): Ensure that IFS is defined,
46824         so that saving and restoring it works as expected.  This
46825         appears to be useful at least for an old version of dash
46826         from a long time ago (RH 6).  See here for details:
46827         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46829         maint.mk: tighten "test a == b" check
46830         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46831         test to files that contain something like #!/bin/sh.
46832         Without this, coreutils would get two false positives in
46833         the comments of C source files.
46835 2010-11-12  Eric Blake  <eblake@redhat.com>
46837         bootstrap: fix typo in previous attempt
46838         * build-aux/bootstrap (buildreq): Correct the grouping.
46839         Reported by Paul Eggert.
46841         maintainer-makefile: prohibit test x == x
46842         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46843         Based on a report by Matthias Bolte.
46845         bootstrap: allow FreeBSD gzip
46846         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46847         which has no '.' and goes to stderr.
46848         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46849         Reported by Matthias Bolte.
46851         maintainer-makefile: check for i18n setup
46852         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46853         will likely work.
46855 2010-11-12  Bruno Haible  <bruno@clisp.org>
46857         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46858         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46859         * lib/nanosleep.c (nanosleep): Likewise.
46861 2010-11-11  Bruno Haible  <bruno@clisp.org>
46863         fcntl-h: Fix for use of C++ on glibc systems.
46864         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46865         also on glibc systems in C++ mode.
46866         Reported by Gary V. Vaughan <gary@gnu.org>.
46868 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46870         mknod: avoid false failure with dash
46871         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46873 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46875         unlink: Fix "is it should" typo in diagnostic.
46876         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46877         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46879 2010-11-11  Bruno Haible  <bruno@clisp.org>
46881         Tests for module 'strerror_r-posix'.
46882         * modules/strerror_r-posix-tests: New file.
46883         * tests/test-strerror_r.c: New file.
46884         * tests/test-string-c++.cc: Check the signature of strerror_r.
46886         New module 'strerror_r-posix'.
46887         * lib/string.in.h (strerror_r): New declaration.
46888         * lib/strerror_r.c: New file.
46889         * m4/strerror_r.m4: New file.
46890         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46891         of strerror_r.
46892         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46893         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46894         * modules/strerror_r-posix: New file.
46895         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46896         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46897         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46898         portability problems.
46900 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46902         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46903         line is also considered for output. Quoted function name in shell
46904         command, so temporary files for functions like MyClass::operator()
46905         are removed correctly without errors.
46907 2010-11-09  Bruno Haible  <bruno@clisp.org>
46909         * doc/posix-functions/strerror.texi: List more failing platforms.
46911         * doc/posix-functions/strerror.texi: Add a comment.
46913 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46915         fdopendir: fix bug on MacOS X when low on file descriptors
46917         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46918         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46919         All callers changed.
46920         (fdopendir): Invoke save_cwd at the top level, not after using
46921         multiple dup() calls to use up file descriptors.  Then retry
46922         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46923         less than the maximum number of open file descriptors, because
46924         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46925         on Mac OS X 10.6.4 for tar 1.24
46926         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46927         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46928         and for tar 1.25
46929         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46931 2010-11-07  Bruno Haible  <bruno@clisp.org>
46933         vasnprintf: Support I flag on glibc systems.
46934         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46935         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46936         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46937         snprintf function.
46938         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46939         glibc systems.
46940         * tests/test-vasnprintf-posix3.c: New file.
46941         * modules/vasnprintf-posix-tests (Files): Add it.
46942         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46944 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46946         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46947         * MODULES.html.sh: For compiler warnings, use name
46948         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46950 2010-11-05  Eric Blake  <eblake@redhat.com>
46952         ceil, floor: avoid spurious failure with icc
46953         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46954         [denormals-as-zero] when optimizing without -mieee-fp option.
46955         * tests/test-floorf2.c (floorf_reference): Likewise.
46956         * tests/test-ceilf1.c (dummy): New function.
46957         (main): Use it to outsmart icc's optimization.
46958         * tests/test-floorf1.c (dummy, main): Likewise.
46960         tests: require working signbit
46961         * modules/ceilf-tests (Depends-on): Add signbit.
46962         * modules/ceill-tests (Depends-on): Likewise.
46963         * modules/floorf-tests (Depends-on): Likewise.
46964         * modules/floorl-tests (Depends-on): Likewise.
46965         * modules/round-tests (Depends-on): Likewise.
46966         * modules/roundf-tests (Depends-on): Likewise.
46967         * modules/roundl-tests (Depends-on): Likewise.
46968         * modules/trunc-tests (Depends-on): Likewise.
46969         * modules/truncf-tests (Depends-on): Likewise.
46970         * modules/truncl-tests (Depends-on): Likewise.
46972         strtod: work around icc bug
46973         * lib/strtod.c (minus_zero): Define to working value.
46974         (strtod): Use it to avoid icc bug.
46976         copysign: enhance tests
46977         * modules/copysign-tests (Files): Add minus-zero.h.
46978         * tests/test-copysign.c (main): Also test zeros.
46980 2010-11-04  Eric Blake  <eblake@redhat.com>
46982         ceil, floor, round, trunc: enhance tests of -0
46983         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46984         * tests/test-ceill.c (main): Likewise.
46985         * tests/test-floorf1.c (main): Likewise.
46986         * tests/test-floorl.c (main): Likewise.
46987         * tests/test-round1.c (main): Likewise.
46988         * tests/test-roundf1.c (main): Likewise.
46989         * tests/test-roundl.c (main): Likewise.
46990         * tests/test-trunc1.c (main): Likewise.
46991         * tests/test-truncf1.c (main): Likewise.
46992         * tests/test-truncl.c (main): Likewise.
46994 2010-11-04  Eric Blake  <eblake@redhat.com>
46996         frexp, tests: work around ICC bug with -zero
46997         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46998         works with more compilers.
46999         * tests/minus-zero.h: New file.
47000         * modules/ceilf-tests (Files): Include it.
47001         * modules/ceill-tests (Files): Likewise.
47002         * modules/floorf-tests (Files): Likewise.
47003         * modules/floorl-tests (Files): Likewise.
47004         * modules/frexp-nolibm-tests (Files): Likewise.
47005         * modules/frexp-tests (Files): Likewise.
47006         * modules/frexpl-nolibm-tests (Files): Likewise.
47007         * modules/frexpl-tests (Files): Likewise.
47008         * modules/isnan-tests (Files): Likewise.
47009         * modules/isnand-nolibm-tests (Files): Likewise.
47010         * modules/isnand-tests (Files): Likewise.
47011         * modules/isnanf-nolibm-tests (Files): Likewise.
47012         * modules/isnanf-tests (Files): Likewise.
47013         * modules/isnanl-nolibm-tests (Files): Likewise.
47014         * modules/isnanl-tests (Files): Likewise.
47015         * modules/round-tests (Files): Likewise.
47016         * modules/roundf-tests (Files): Likewise.
47017         * modules/roundl-tests (Files): Likewise.
47018         * modules/ldexpl-tests (Files): Likewise.
47019         * modules/signbit-tests (Files): Likewise.
47020         * modules/snprintf-posix-tests (Files): Likewise.
47021         * modules/sprintf-posix-tests (Files): Likewise.
47022         * modules/strtod-tests (Files): Likewise.
47023         * modules/trunc-tests (Files): Likewise.
47024         * modules/truncf-tests (Files): Likewise.
47025         * modules/truncl-tests (Files): Likewise.
47026         * modules/vsnprintf-posix-tests (Files): Likewise.
47027         * modules/vsprintf-posix-tests (Files): Likewise.
47028         * modules/vasnprintf-posix-tests (Files): Likewise.
47029         * modules/vasprintf-posix-tests (Files): Likewise.
47030         * tests/test-ceilf1.c (main): Use it.
47031         * tests/test-ceill.c (main): Likewise.
47032         * tests/test-floorf1.c (main): Likewise.
47033         * tests/test-floorl.c (main): Likewise.
47034         * tests/test-frexp.c (main): Likewise.
47035         * tests/test-frexpl.c (main): Likewise.
47036         * tests/test-isnan.c (main): Likewise.
47037         * tests/test-isnand.h (main): Likewise.
47038         * tests/test-isnanf.h (main): Likewise.
47039         * tests/test-isnanl.h (main): Likewise.
47040         * tests/test-ldexpl.c (main): Likewise.
47041         * tests/test-round.c (main): Likewise.
47042         * tests/test-roundf.c (main): Likewise.
47043         * tests/test-roundl.c (main): Likewise.
47044         * tests/test-signbit.c (test_signbitf, test_signbitd)
47045         (test_signbitl): Likewise.
47046         * tests/test-snprintf-posix.h (test_function): Likewise.
47047         * tests/test-sprintf-posix.h (test_function): Likewise.
47048         * tests/test-strtod.c (main): Likewise.
47049         * tests/test-trunc1.c (main): Likewise.
47050         * tests/test-truncf1.c (main): Likewise.
47051         * tests/test-truncl.c (main): Likewise.
47053         isnanl: work around icc bug
47054         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
47056 2010-11-03  Eric Blake  <eblake@redhat.com>
47058         tests: fix compiler warnings
47059         * tests/test-getopt.h (test_getopt): Fix condition.
47060         * tests/test-getopt_long.h (test_getopt_long): Likewise.
47061         * tests/test-pipe2.c (main): Likewise.
47062         * tests/test-quotearg-simple.c (main): Avoid icc warning.
47064         utimens: fix broken m4 test
47065         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
47067 2010-10-28  Bruno Haible  <bruno@clisp.org>
47069         posix_spawn*, getdtablesize: Relax license.
47070         * modules/posix_spawn (License): Change to LGPLv2+.
47071         * modules/posix_spawnp (License): Likewise.
47072         * modules/posix_spawn-internal (License): Likewise.
47073         * modules/posix_spawnattr_init (License): Likewise.
47074         * modules/posix_spawnattr_getflags (License): Likewise.
47075         * modules/posix_spawnattr_setflags (License): Likewise.
47076         * modules/posix_spawnattr_getpgroup (License): Likewise.
47077         * modules/posix_spawnattr_setpgroup (License): Likewise.
47078         * modules/posix_spawnattr_getschedparam (License): Likewise.
47079         * modules/posix_spawnattr_setschedparam (License): Likewise.
47080         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
47081         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
47082         * modules/posix_spawnattr_getsigdefault (License): Likewise.
47083         * modules/posix_spawnattr_setsigdefault (License): Likewise.
47084         * modules/posix_spawnattr_getsigmask (License): Likewise.
47085         * modules/posix_spawnattr_setsigmask (License): Likewise.
47086         * modules/posix_spawnattr_destroy (License): Likewise.
47087         * modules/posix_spawn_file_actions_init (License): Likewise.
47088         * modules/posix_spawn_file_actions_addclose (License): Likewise.
47089         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
47090         * modules/posix_spawn_file_actions_addopen (License): Likewise.
47091         * modules/posix_spawn_file_actions_destroy (License): Likewise.
47092         * modules/getdtablesize (License): Likewise.
47093         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
47095 2010-10-26  Bruno Haible  <bruno@clisp.org>
47097         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
47098         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
47099         Cygwin and mingw.
47100         Suggested by Eric Blake.
47102 2010-10-26  Bruno Haible  <bruno@clisp.org>
47104         stdio: Work around compilation error due to renameat() on Solaris 10.
47105         * lib/stdio.in.h: Include <unistd.h> on Solaris.
47106         * lib/renameat.c: Don't include <unistd.h> here.
47107         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
47108         Reported by Paul Eggert and Eric Blake.
47110 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47112         renameat: port to Solaris 10, which declares renameat in unistd.h
47114         * lib/renameat.c: Include unistd.h before stdio.h, because
47115         Solaris 10 declares renameat in unistd.h.  Problem encountered
47116         when building GNU tar 1.24 on Solaris 10.
47118 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47120         fdopendir: fix C89 compilation
47121         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
47122         compilers.
47124 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
47126         inttostr: simplify by removing unnecessary redundancy
47127         * lib/anytostr.c: Don't include verify.h.
47128         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
47129         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
47130         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
47131         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
47132         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
47133         Likewise.
47134         * modules/inttostr (Depends-on): Remove 'verify'.
47136 2010-10-23  Bruno Haible  <bruno@clisp.org>
47138         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
47139         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
47140         Reported by Eric Blake.
47142 2010-10-23  Bruno Haible  <bruno@clisp.org>
47144         Tests: Fix LOCALE_JA on MirBSD 10.
47145         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
47146         to an UTF-8 locale.
47147         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
47148         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47149         Reported by Eric Blake.
47151 2010-10-21  Bruno Haible  <bruno@clisp.org>
47153         nl_langinfo test: Avoid test failure on NetBSD 5.
47154         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
47155         Reported by Eric Blake.
47157 2010-10-21  Eric Blake  <eblake@redhat.com>
47159         c-stack: work around libsigsegv 2.8 bug
47160         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
47161         overflow on at least PowerPC64.
47163 2010-10-17  Bruno Haible  <bruno@clisp.org>
47165         userspec: Drop redundant file.
47166         * modules/userspec (Files): Remove lib/inttostr.h.
47168 2010-10-17  Bruno Haible  <bruno@clisp.org>
47170         nl_langinfo tests: Silence some warnings.
47171         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
47172         Reported by Jim Meyering.
47174 2010-10-17  Bruno Haible  <bruno@clisp.org>
47176         Make use of GCC's attribute __alloc_size__.
47177         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
47178         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
47179         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
47180         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
47181         __alloc_size__.
47182         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47183         Suggested by Jim Meyering.
47185 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
47187         bootstrap: anchor .gitignore entries.
47188         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
47189         with...
47190         (insert_vc_ignore): ... this new function, which prepends `/' to
47191         all .gitignore entries before passing them to
47192         insert_sorted_if_absent.
47194 2010-10-16  Bruno Haible  <bruno@clisp.org>
47196         nextafter: Fix configure check.
47197         * modules/nextafter (configure.ac): Correct expected prototype.
47199 2010-10-16  Bruno Haible  <bruno@clisp.org>
47201         termios: Update documentation.
47202         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
47204 2010-10-16  Bruno Haible  <bruno@clisp.org>
47206         tests: Make them compile with TinyCC.
47207         * tests/test-strstr.c (main): Remove parentheses around array
47208         initializer.
47210 2010-10-15  Eric Blake  <eblake@redhat.com>
47212         ignore-value: make header idempotent
47213         * lib/ignore-value.h: Add double-inclusion guards.
47214         Reported by Stefan Berger.
47216 2010-10-15  Jim Meyering  <meyering@redhat.com>
47218         GNUmakefile: handle "stable" target, not "major"
47219         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
47220         lists in maint.mk and announce-gen.  Without this, "make stable"
47221         would fail to ensure that $(VERSION) is up to date.
47223 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
47225         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
47226         & co.
47228 2010-10-14  Bruno Haible  <bruno@clisp.org>
47230         vasnprintf: Don't set errno to 0.
47231         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
47232         block that sets it to 0.
47233         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
47235 2010-10-14  Bruno Haible  <bruno@clisp.org>
47237         socketlib: Fix.
47238         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
47239         gl_PREREQ_SYS_H_WINSOCK2.
47240         Reported by Ian Beckwith <ianb@erislabs.net>.
47242 2010-10-13  Jim Meyering  <meyering@redhat.com>
47244         test-select-stdin.c: avoid warn_unused_result warnings
47245         * tests/test-select-stdin.c: Include "macros.h".
47246         ASSERT that read and fflush succeed.
47248 2010-10-13  Jim Meyering  <meyering@redhat.com>
47250         git-version-gen: do require git-VC'd files in cwd
47251         * build-aux/git-version-gen: Reject a git version string
47252         if there are no commits associated with the current directory.
47253         This avoids an unlikely false-positive (unrelated dir whose parent
47254         repository also contains a tag matching v*), as pointed out
47255         by Giuseppe Scrivano in
47256         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
47258 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47260         argv-iter: omit nonconforming declaration
47261         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
47262         enum arg_iter_err declaration, which doesn't conform to C99.
47263         Solaris 10 cc warns about this.
47265 2010-10-13  Eric Blake  <eblake@redhat.com>
47267         termios: fix compilation on mingw
47268         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
47269         (gl_TERMIOS_H): Adjust it on mingw.
47270         * modules/termios (Makefile.am): Substitute new key.
47271         * lib/termios.in.h (includes): Make include_next conditional.
47272         * doc/posix-headers/termios.texi (termios.h): Update
47273         documentation.
47274         Reported by Daniel P. Berrange.
47276 2010-10-13  Jim Meyering  <meyering@redhat.com>
47278         git-version-gen: don't require that .git/ be in the current dir
47279         * build-aux/git-version-gen: Adjust this script so that it works
47280         when run from any working directory beneath the top-level .git/-
47281         containing directory.  Inspired by a patch from Giuseppe Scrivano,
47282         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
47284         test-select: avoid warn_unused_result warnings
47285         * tests/test-select.c: Include "macros.h".
47286         ASSERT that each call to read, write, and pipe succeeds.
47287         While not technically required, also check each "close".
47288         * modules/select-tests (Files): Add tests/macros.h.
47290         test-symlinkat: remove declaration of unused local
47291         * tests/test-symlinkat.c (main): Remove unused local, "buf".
47293         test-inttostr: avoid shadowing warnings
47294         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
47295         and use malloc rather than the stack for the same reason as
47296         mentioned in the comment justifying the other allocation.
47298 2010-10-11  Bruno Haible  <bruno@clisp.org>
47300         stdlib: Allow multiple gnulib generated replacements to coexist.
47301         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
47302         Reported by Sam Steingold <sds@gnu.org>.
47304 2010-10-11  Jim Meyering  <meyering@redhat.com>
47306         fix a documentation typo
47307         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
47309 2010-10-11  Eric Blake  <eblake@redhat.com>
47311         futimens: work around Solaris 11 bug
47312         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
47313         * tests/test-futimens.h (test_futimens): Enhance, rather than
47314         weaken test.
47315         * doc/posix-functions/futimens.texi (futimens): Document the bug.
47317 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47319         Indentation.
47320         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
47321         higher-level operators more to the left.
47323 2010-10-11  Jim Meyering  <meyering@redhat.com>
47325         test-futimens: avoid unwarranted test failure on Solaris 5.11
47326         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
47327         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
47328         because it tries to dereference the NULL name argument.
47330 2010-10-11  Bruno Haible  <bruno@clisp.org>
47332         Indentation.
47333         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
47334         indentation.
47336 2010-10-11  Jim Meyering  <meyering@redhat.com>
47338         spawn.in.h: make indentation consistent with parentheses
47339         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
47340         Make indentation consistent with parentheses.
47342 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
47344         Fix mismatched parens in previous commit
47345         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
47346         parens.
47348 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47350         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
47352         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
47353         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
47354         * lib/malloca.c: Include "verify.h".
47355         (verify1): Remove, replacing with a verify call.
47356         * lib/relocwrapper.c (verify1): Likewise.
47357         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
47358         Likewise.
47359         * modules/malloca (Depends-on): Add 'verify'.
47360         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
47361         * modules/vasnprintf (Depends-on): Add 'verify'.
47362         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47363         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47364         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47365         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47366         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47367         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47368         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47370         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
47372         Formerly the style was sometimes 2*X - 1, because the C standard
47373         was wrongly thought to disallow ?: in integral constant expressions.
47374         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
47375         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
47376         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
47377         * lib/stdint.in.h (_verify_intmax_size): Likewise.
47378         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
47379         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
47380         verify that time_t cannot be floating.
47382 2010-10-08  Eric Blake  <eblake@redhat.com>
47384         time: enforce recent POSIX ruling that time_t is integral
47385         * lib/time.in.h (__time_t_must_be_integral): Detect any
47386         problematic systems, allowing the rest of gnulib to assume POSIX.
47388 2010-10-08  Jim Meyering  <meyering@redhat.com>
47390         fdopendir: fix a bug on systems lacking openat and /proc support
47391         OpenBSD 4.7 is one such system.  The most noticeable effect was
47392         failure of any application making nontrivial use of fts: rm, du,
47393         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
47394           ./rm: traversal failed: `a': Bad file descriptor
47395         Debugging that, you see that even though FD 6 was closed just
47396         prior to the opendir call in fd_clone_opendir, its resulting
47397         dir->dd_fd was 8, rather than the expected value of 6:
47399         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
47400         93                close (fd);
47401         (gdb) n
47402         94                dir = fd_clone_opendir (dupfd);
47403         (gdb) n
47404         95                saved_errno = errno;
47405         (gdb) p dir->dd_fd
47406         $11 = 8
47408         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
47409         The problem is that on OpenBSD, fd_clone_opendir has to resort
47410         to using the old-style save/restore CWD mechanism, due to its
47411         lack of openat/proc support, and *that* would steal the FD (6)
47412         that opendir was supposed to use.
47414         The fix is to squirrel away the desired FD so that save_cwd uses a
47415         different one, and then free the dest FD right before calling opendir.
47416         That guarantees opendir will use the required file descriptor.
47418         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
47420 2010-10-08  Bruno Haible  <bruno@clisp.org>
47422         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
47423         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
47425 2010-10-08  Bruno Haible  <bruno@clisp.org>
47427         nanosleep: Make replacement POSIX compliant.
47428         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
47429         is out of range.
47430         Reported by Jim Meyering.
47432 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47434         bootstrap: add hook for altering gnulib.mk, for Bison
47435         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
47436         the Bison bootstrapping process can rewrite file names and variables
47437         in this file before later parts of 'bootstrap' use the file.
47438         Bison wants to include lib/gnulib.mk from the top-level makefile,
47439         so it needs the file names in this file to be relative to the top
47440         level, not relative to lib; plus it needs variable names to be
47441         rewritten.
47442         (slurp): Use the new function.
47444         bootstrap: reformat for readability
47445         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
47447 2010-10-08  Eric Blake  <eblake@redhat.com>
47449         docs: update cygwin progress
47450         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
47451         1.7.7.
47452         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
47453         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
47454         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
47455         * doc/posix-functions/carg.texi (carg): Likewise.
47456         * doc/posix-functions/cargf.texi (cargf): Likewise.
47457         * doc/posix-functions/casin.texi (casin): Likewise.
47458         * doc/posix-functions/casinf.texi (casinf): Likewise.
47459         * doc/posix-functions/casinh.texi (casinh): Likewise.
47460         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
47461         * doc/posix-functions/catan.texi (catan): Likewise.
47462         * doc/posix-functions/catanf.texi (catanf): Likewise.
47463         * doc/posix-functions/catanh.texi (catanh): Likewise.
47464         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
47465         * doc/posix-functions/ccos.texi (ccos): Likewise.
47466         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
47467         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
47468         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
47469         * doc/posix-functions/cexp.texi (cexp): Likewise.
47470         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47471         * doc/posix-functions/cimag.texi (cimag): Likewise.
47472         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47473         * doc/posix-functions/clog.texi (clog): Likewise.
47474         * doc/posix-functions/clogf.texi (clogf): Likewise.
47475         * doc/posix-functions/conj.texi (conj): Likewise.
47476         * doc/posix-functions/conjf.texi (conjf): Likewise.
47477         * doc/posix-functions/cpow.texi (cpow): Likewise.
47478         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47479         * doc/posix-functions/cproj.texi (cproj): Likewise.
47480         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47481         * doc/posix-functions/creal.texi (creal): Likewise.
47482         * doc/posix-functions/crealf.texi (crealf): Likewise.
47483         * doc/posix-functions/csin.texi (csin): Likewise.
47484         * doc/posix-functions/csinf.texi (csinf): Likewise.
47485         * doc/posix-functions/csinh.texi (csinh): Likewise.
47486         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47487         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47488         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47489         * doc/posix-functions/ctan.texi (ctan): Likewise.
47490         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47491         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47492         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47493         * doc/posix-headers/complex.texi (complex.h): Likewise.
47495 2010-10-07  Jim Meyering  <meyering@redhat.com>
47497         parse-datetime: avoid compilation failure on OpenBSD 4.7
47498         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47499         This works around a compilation failure on OpenBSD 4.7:
47500         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47502 2010-10-07  Eric Blake  <eblake@redhat.com>
47504         docs: update cygwin progress
47505         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47506         1.7.6.
47507         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47508         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47509         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47510         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47511         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47512         Likewise.
47513         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47514         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47515         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47516         Likewise.
47517         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47518         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47519         Likewise.
47520         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47521         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47522         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47523         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47524         Likewise.
47525         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47526         Likewise.
47527         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47529         docs: update parse-datetime history
47530         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47531         documentation of this function's history and alternatives.
47533         cygwin: use more robust version check
47534         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47535         exclude an eventual cygwin 1.9.1.
47536         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47537         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47538         (gl_FUNC_STRCASESTR): Likewise.
47539         Reported by Bruno Haible.
47541 2010-10-06  Bruno Haible  <bruno@clisp.org>
47543         string, sys_select: Avoid #including large headers unless necessary.
47544         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47545         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47546         OSF/1, BeOS, Haiku.
47547         Reported by Jim Meyering.
47549 2010-10-05  Eric Blake  <eblake@redhat.com>
47551         memmem, strstr, strcasestr: fix bug with long periodic needle
47552         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47553         periodic needle having false positive.
47554         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47555         and cygwin 1.7.7.
47556         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47557         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47558         (gl_FUNC_STRCASESTR): Likewise.
47559         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47560         * tests/test-memmem.c (main): Expose the bug.
47561         * tests/test-strcasestr.c (main): Likewise.
47562         * tests/test-strstr.c (main): Likewise.
47563         * tests/test-c-strcasestr.c (main): Likewise.
47564         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47565         * doc/posix-functions/strstr.texi (strstr): Likewise.
47566         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47567         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47569 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47571         parse-datetime: do some more renaming
47572         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47573         parse_datetime, not get_date.  Mention the renaming.
47574         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47575         in comments.
47576         * m4/bison.m4: Likewise.
47578 2010-10-05  Eric Blake  <eblake@redhat.com>
47580         parse-datetime: better name than get_date
47581         * NEWS: Reword the deprecation notice.
47582         * modules/get_date: Rename to modules/parse-datetime.
47583         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47584         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47585         * lib/get_date.y: Rename to lib/parse-datetime.y.
47586         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47587         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47588         * doc/getdate.texi: Provide fallback wrapper.
47589         * lib/getdate.h: Move guts, and wrap...
47590         * lib/parse-datetime.h: ...new file.
47591         * lib/parse-datetime.y (get_date): Rename...
47592         (parse_datetime): ...to this.
47593         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47594         (gl_PARSE_DATETIME): ...to this.
47595         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47596         documentation.
47597         * modules/getdate (Files): Provide fallback docs and header.
47598         (Notice, Depends-on): Update references.
47599         * tests/test-parse-datetime.c: Likewise.
47600         * DEPENDENCIES: Likewise.
47601         * MODULES.html.sh (Date and time <time.h>): Likewise.
47602         * doc/parse-datetime.texi (Date input formats)
47603         (Authors of parse_datetime): Likewise.
47604         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47605         (Include): Likewise.
47606         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47607         * gnulib-tool: Likewise.
47608         * m4/bison.m4 (gl_BISON): Likewise.
47609         Suggested by Bruno Haible.
47611 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47613         more ports to Solaris tr, which needs [] around ranges
47614         * gnulib-tool: Solaris tr needs [] around ranges.
47615         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47616         * tests/test-pipe-filter-gi1.c (main): Likewise.
47617         * tests/test-pipe-filter-ii1.c (main): Likewise.
47619 2010-10-05  Eric Blake  <eblake@redhat.com>
47621         bootstrap: fix Solaris regression
47622         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47623         around ranges.
47624         Reported by Pádraig Brady.
47626         bootstrap: work with pkg-config
47627         * build-aux/bootstrap (check_versions): Also transliterate - in
47628         prerequisite name.
47629         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47630         prerequisites that were already found, to avoid confusion.
47631         Reported by Justin Clift.
47633         faccessat: remove unused wrappers
47634         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47635         presence of these wrappers dragged in -lgen on Solaris.
47636         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47638 2010-10-05  Jim Meyering  <meyering@redhat.com>
47640         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47641         * Makefile (sc_pragma_columns): New syntax-check rule.
47643 2010-10-04  Bruno Haible  <bruno@clisp.org>
47645         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47646         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47647         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47648         Reported by Bruce Korb and Eric Blake.
47650 2010-10-04  Bruno Haible  <bruno@clisp.org>
47652         threadlib: Make option --with-libpth-prefix work.
47653         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47654         use $LIBPTH, not just -lpth.
47656 2010-10-04  Bruno Haible  <bruno@clisp.org>
47658         Avoid line length limitation from HP NonStop system header files.
47659         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47660         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47661         * lib/ctype.in.h: Likewise.
47662         * lib/dirent.in.h: Likewise.
47663         * lib/errno.in.h: Likewise.
47664         * lib/fcntl.in.h: Likewise.
47665         * lib/float.in.h: Likewise.
47666         * lib/getopt.in.h: Likewise.
47667         * lib/iconv.in.h: Likewise.
47668         * lib/inttypes.in.h: Likewise.
47669         * lib/langinfo.in.h: Likewise.
47670         * lib/locale.in.h: Likewise.
47671         * lib/math.in.h: Likewise.
47672         * lib/netdb.in.h: Likewise.
47673         * lib/netinet_in.in.h: Likewise.
47674         * lib/poll.in.h: Likewise.
47675         * lib/pthread.in.h: Likewise.
47676         * lib/pty.in.h: Likewise.
47677         * lib/sched.in.h: Likewise.
47678         * lib/se-selinux.in.h: Likewise.
47679         * lib/search.in.h: Likewise.
47680         * lib/signal.in.h: Likewise.
47681         * lib/spawn.in.h: Likewise.
47682         * lib/stdarg.in.h: Likewise.
47683         * lib/stddef.in.h: Likewise.
47684         * lib/stdint.in.h: Likewise.
47685         * lib/stdio.in.h: Likewise.
47686         * lib/stdlib.in.h: Likewise.
47687         * lib/string.in.h: Likewise.
47688         * lib/strings.in.h: Likewise.
47689         * lib/sys_file.in.h: Likewise.
47690         * lib/sys_ioctl.in.h: Likewise.
47691         * lib/sys_select.in.h: Likewise.
47692         * lib/sys_socket.in.h: Likewise.
47693         * lib/sys_stat.in.h: Likewise.
47694         * lib/sys_time.in.h: Likewise.
47695         * lib/sys_times.in.h: Likewise.
47696         * lib/sys_utsname.in.h: Likewise.
47697         * lib/sys_wait.in.h: Likewise.
47698         * lib/sysexits.in.h: Likewise.
47699         * lib/termios.in.h: Likewise.
47700         * lib/time.in.h: Likewise.
47701         * lib/unistd.in.h: Likewise.
47702         * lib/wchar.in.h: Likewise.
47703         * lib/wctype.in.h: Likewise.
47704         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47705         * modules/ctype (Makefile.am): Likewise.
47706         * modules/dirent (Makefile.am): Likewise.
47707         * modules/errno (Makefile.am): Likewise.
47708         * modules/fcntl-h (Makefile.am): Likewise.
47709         * modules/float (Makefile.am): Likewise.
47710         * modules/getopt-posix (Makefile.am): Likewise.
47711         * modules/iconv-h (Makefile.am): Likewise.
47712         * modules/inttypes (Makefile.am): Likewise.
47713         * modules/langinfo (Makefile.am): Likewise.
47714         * modules/locale (Makefile.am): Likewise.
47715         * modules/math (Makefile.am): Likewise.
47716         * modules/netdb (Makefile.am): Likewise.
47717         * modules/netinet_in (Makefile.am): Likewise.
47718         * modules/poll-h (Makefile.am): Likewise.
47719         * modules/pthread (Makefile.am): Likewise.
47720         * modules/pty (Makefile.am): Likewise.
47721         * modules/sched (Makefile.am): Likewise.
47722         * modules/search (Makefile.am): Likewise.
47723         * modules/selinux-h (Makefile.am): Likewise.
47724         * modules/signal (Makefile.am): Likewise.
47725         * modules/spawn (Makefile.am): Likewise.
47726         * modules/stdarg (Makefile.am): Likewise.
47727         * modules/stddef (Makefile.am): Likewise.
47728         * modules/stdint (Makefile.am): Likewise.
47729         * modules/stdio (Makefile.am): Likewise.
47730         * modules/stdlib (Makefile.am): Likewise.
47731         * modules/string (Makefile.am): Likewise.
47732         * modules/strings (Makefile.am): Likewise.
47733         * modules/sys_file (Makefile.am): Likewise.
47734         * modules/sys_ioctl (Makefile.am): Likewise.
47735         * modules/sys_select (Makefile.am): Likewise.
47736         * modules/sys_socket (Makefile.am): Likewise.
47737         * modules/sys_stat (Makefile.am): Likewise.
47738         * modules/sys_time (Makefile.am): Likewise.
47739         * modules/sys_times (Makefile.am): Likewise.
47740         * modules/sys_utsname (Makefile.am): Likewise.
47741         * modules/sys_wait (Makefile.am): Likewise.
47742         * modules/sysexits (Makefile.am): Likewise.
47743         * modules/termios (Makefile.am): Likewise.
47744         * modules/time (Makefile.am): Likewise.
47745         * modules/unistd (Makefile.am): Likewise.
47746         * modules/wchar (Makefile.am): Likewise.
47747         * modules/wctype (Makefile.am): Likewise.
47749 2010-10-04  Bruno Haible  <bruno@clisp.org>
47751         read-file tests: Avoid a test failure on NonStop Kernel.
47752         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47753         a regular file.
47754         Reported by Joachim Schmitz <schmitz@hp.com>.
47756 2010-10-03  Bruno Haible  <bruno@clisp.org>
47758         gnulib-tool: Fixes for --create-testdir with --libtool.
47759         * gnulib-tool (func_get_automake_snippet): Don't augment
47760         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47761         an executable.
47762         (func_create_testdir): Handle module 'alloca' like func_import.
47763         Reported by Bruce Korb <bruce.korb@gmail.com>.
47765 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47767         Avoid some lines longer than 80 characters.
47768         * lib/stdint.in.h: Break long comment lines.
47769         * lib/math.in.h: Likewise.
47770         (_GL_NUM_UINT_WORDS): New macro, for readability.
47771         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47772         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47773         * lib/stdlib.in.h: Likewise.
47774         * lib/spawn.in.h: Likewise.
47775         * lib/sys_socket.in.h: Update an URL.
47776         * lib/sys_stat.in.h: Break long line.
47778 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47780         Improve pmccabe2html.
47781         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47782         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47783         when the sources change. Remove the line in the HTML about "Used
47784         ranges" (which implied that there might be other unused ranges),
47785         rename "Resume" to "Summary" (easier to understand for more users).
47786         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47787         styles, and some unnecessary blank lines.
47789 2010-10-03  Bruno Haible  <bruno@clisp.org>
47790             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47792         acl: Add support for ACLs on NonStop Kernel.
47793         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47794         Check whether the function aclsort() exists.
47795         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47796         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47797         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47798         (acl_nontrivial [HAVE_ACLSORT]: New function.
47799         (file_has_acl): Implement for NonStop Kernel.
47800         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47801         (qset_acl): Implement for NonStop Kernel.
47802         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47803         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47804         (main): Implement for NonStop Kernel.
47805         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47806         Kernel. Handle this flavor.
47807         * tests/test-set-mode-acl.sh: Likewise.
47808         * tests/test-copy-acl.sh: Likewise.
47809         * tests/test-copy-file.sh: Likewise.
47811 2010-10-03  Bruno Haible  <bruno@clisp.org>
47813         Info about ACLs on NonStop Kernel.
47814         * doc/acl-resources.txt: Add info about NonStop Kernel.
47815         References by Joachim Schmitz <schmitz@hp.com>.
47817 2010-10-02  Bruno Haible  <bruno@clisp.org>
47819         Define missing EDQUOT on NonStop Kernel.
47820         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47821         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47822         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47823         missing.
47824         * doc/posix-headers/errno.texi: Mention the NSK bug.
47825         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47826         Reported by Joachim Schmitz <schmitz@hp.com>.
47828 2010-10-02  Bruno Haible  <bruno@clisp.org>
47830         Update doc for POSIX:2008.
47831         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47832         Update URL of POSIX specification.
47834 2010-10-02  Bruno Haible  <bruno@clisp.org>
47836         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47837         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47838         from gnulib, not from Automake.
47840 2010-10-02  Bruno Haible  <bruno@clisp.org>
47842         New module 'system-posix'.
47843         * modules/system-posix: New file.
47844         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47845         module is present.
47846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47847         GNULIB_SYSTEM_POSIX.
47848         * modules/stdlib (Depends-on): Remove sys_wait.
47849         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47850         * doc/posix-functions/system.texi: Mention the new module.
47851         * doc/posix-headers/stdlib.texi: Likewise.
47852         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47853         define test_sys_wait_macros to a no-op.
47854         Reported by Sam Steingold <sds@gnu.org>.
47856 2010-09-30  Bruno Haible  <bruno@clisp.org>
47858         More renaming from 'getdate' to 'get_date'.
47859         * doc/get_date.texi: Renamed from doc/getdate.texi.
47860         * modules/get_date (Files): Update.
47861         * MODULES.html.sh (Date and time <time.h>): Update.
47862         * DEPENDENCIES: Update.
47863         * gnulib-tool: Update comment.
47864         * m4/bison.m4 (gl_BISON): Likewise.
47865         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47867 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47869         bootstrap: support ACLOCAL_FLAGS during aclocal
47870         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47871         can add additional -I dir for third-party .m4 files.
47873 2010-09-30  Eric Blake  <eblake@redhat.com>
47875         bootstrap: use glibtoolize on MacOS
47876         * build-aux/bootstrap (check_versions): Convert libtool into
47877         libtoolize.
47878         (tool search): Move libtool check earlier, and look for
47879         glibtoolize for MacOS.
47880         (gnulib_tool_options): Auto-add --libtool when appropriate.
47881         Reported by Justin Clift.
47883         poll: fix typo that broke test on MacOS
47884         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47885         Reported by Justin Clift.
47887         getdate: rename to get_date
47888         Note: getdate.h is not renamed, to minimize client impact.
47889         * modules/getdate: Mark obsolete.  Move old contents...
47890         * modules/get_date: ...to new module name.
47891         * modules/getdate-tests: Move...
47892         * modules/get_date-tests: ...here.
47893         * m4/getdate.m4: Move...
47894         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47895         * lib/getdate.y: Move...
47896         * lib/get_date.y: ...here.
47897         * tests/test-getdate.c: Move...
47898         * tests/test-get_date.c: ...here.
47899         * doc/posix-functions/getdate.texi (getdate): Update name.
47900         * NEWS: Mention the change.
47902 2010-09-29  Bruno Haible  <bruno@clisp.org>
47904         Separate the module 'waitpid' from the module 'sys_wait'.
47905         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47906         present.
47907         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47908         gl_MODULE_INDICATOR_FOR_TESTS.
47909         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47910         * modules/sys_wait (Depends-on): Remove waitpid.
47911         (Makefile.am): Substitute GNULIB_WAITPID.
47912         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47913         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47914         signature only if the 'waitpid' module is present.
47915         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47916         * NEWS: Mention the change.
47917         * modules/grantpt (Depends-on): Add waitpid.
47918         * modules/wait-process (Depends-on): Likewise.
47920 2010-09-29  Bruno Haible  <bruno@clisp.org>
47922         More tests for module 'sys_wait'.
47923         * modules/sys_wait-c++-tests: New file.
47924         * tests/test-sys_wait-c++.cc: New file.
47925         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47926         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47928 2010-09-29  Bruno Haible  <bruno@clisp.org>
47930         New module 'waitpid'.
47931         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47932         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47933         Don't include <process.h>.
47934         (waitpid): Declare only, using modern idiom.
47935         * m4/waitpid.m4: New file.
47936         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47937         * modules/waitpid: New file.
47938         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47939         (Makefile.am): Update.
47940         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47942 2010-09-28  Bruno Haible  <bruno@clisp.org>
47944         poll: Assume ANSI C.
47945         * lib/poll.c (poll): Use an ANSI C declaration.
47947 2010-09-28  Bruno Haible  <bruno@clisp.org>
47949         poll-h: Create poll.h on all platforms.
47950         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47951         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47952         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47953         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47954         (gl_REPLACE_POLL_H): Don't set POLL_H.
47955         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47956         * modules/poll-h (Depends-on): Add include_next.
47957         (Makefile.am): Create poll.h unconditionally. Substitute also
47958         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47960 2010-09-28  Bruno Haible  <bruno@clisp.org>
47962         Tests for module 'poll-h'.
47963         * modules/poll-h-c++-tests: New file.
47964         * tests/test-poll-h-c++.cc: New file.
47966         Tests for module 'poll-h'.
47967         * modules/poll-h-tests: New file.
47968         * tests/test-poll-h.c: New file.
47970 2010-09-28  Bruno Haible  <bruno@clisp.org>
47972         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47973         * modules/poll-h (Depends-on): Add 'extensions'.
47975 2010-09-28  Bruno Haible  <bruno@clisp.org>
47977         New module 'poll-h'.
47978         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47979         (poll): Use modern idiom.
47980         * modules/poll-h: New file.
47981         * modules/poll (Files): Remove lib/poll.in.h.
47982         (Depends-on): Add poll-h.
47983         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47984         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47985         * m4/poll_h.m4: New file.
47986         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47987         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47988         and invoke gl_REPLACE_POLL_H.
47989         * lib/poll.c: Use common idiom.
47990         * tests/test-poll.c: Likewise.
47991         * doc/posix-headers/poll.texi: Mention the poll-h module.
47992         Suggested by Eric Blake.
47994 2010-09-26  Bruno Haible  <bruno@clisp.org>
47996         sys_wait: Implement WSTOPSIG.
47997         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47998         Reported by Simon Josefsson.
48000 2010-09-26  Simon Josefsson  <simon@josefsson.org>
48002         stdlib, sys_wait: Avoid compilation error on mingw.
48003         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
48005 2010-09-26  Bruno Haible  <bruno@clisp.org>
48007         stdlib tests: Avoid code duplication.
48008         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
48009         * modules/sys_wait-tests (Files): Likewise.
48010         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
48011         * tests/test-stdlib.c: Include test-sys_wait.h.
48012         (main): Invoke test_sys_wait_macros.
48013         * tests/test-sys_wait.c: Include test-sys_wait.h.
48014         (main): Invoke test_sys_wait_macros.
48016 2010-09-25  Simon Josefsson  <simon@josefsson.org>
48018         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
48019         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
48020         sure Windows sockets are working before calling getaddrinfo.
48021         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
48022         * doc/gnulib.texi (Windows sockets): Fix typo.
48024 2010-09-25  Bruno Haible  <bruno@clisp.org>
48026         Tests for module 'regex-quote'.
48027         * modules/regex-quote-tests: New file.
48028         * tests/test-regex-quote.c: New file.
48030         New module 'regex-quote'.
48031         * lib/regex-quote.h: New file.
48032         * lib/regex-quote.c: New file.
48033         * modules/regex-quote: New file.
48034         Suggested by Reuben Thomas <rrt@sc3d.org>.
48036 2010-09-24  Bruno Haible  <bruno@clisp.org>
48038         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
48039         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
48041 2010-09-23  Bruno Haible  <bruno@clisp.org>
48043         setenv: Relax license.
48044         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
48045         Blake.
48046         Requested by Eric Blake.
48048 2010-09-22  Bruno Haible  <bruno@clisp.org>
48050         termios: Relax license.
48051         * modules/termios (License): Change to LGPLv2+.
48052         Requested by Eric Blake.
48054 2010-09-22  Bruno Haible  <bruno@clisp.org>
48056         threadlib: Allow the package to change the default to 'no'.
48057         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
48058         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
48059         Reported by Paul Eggert.
48061 2010-09-22  Pádraig Brady  <P@draigbrady.com>
48062             Bruno Haible  <bruno@clisp.org>
48064         Fix endless loop in mbmemcasecoll.
48065         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
48066         byte.
48067         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
48069 2010-09-22  Bruno Haible  <bruno@clisp.org>
48071         Tests for module 'memcoll'.
48072         * modules/memcoll-tests: New file.
48073         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
48075         memcoll, xmemcoll: Clarify size vs. length.
48076         * modules/memcoll.c (memcoll0): Clarify specification.
48077         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
48078         passed to collate_error.
48080 2010-09-22  Bruno Haible  <bruno@clisp.org>
48082         Tests for module 'memcasecmp'.
48083         * modules/memcasecmp-tests: New file.
48084         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
48086 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48088         * lib/pthread.in.h: Add split double-inclusion guard, and include
48089         system <pthread.h> if there is one.  Use @@-style as in other
48090         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
48091         pthread.h doesn't.
48092         (pthread_mutexattr_destroy, pthread_mutexattr_init):
48093         (pthread_mutexattr_settype, pthread_mutex_trylock):
48094         New static inline functions, if there's no system <pthread.h>.
48095         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
48096         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
48097         Approximate with mutexes if the system lacks spinlocks, as in
48098         MacOS.
48099         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
48100         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
48101         @@-style.  Check for spinlocks separately.
48102         (gl_PTHREAD_DEFAULTS): New macro.
48103         * modules/pthread: Redo to use a more typical style for in.h files.
48105 2010-09-21  Eric Blake  <eblake@redhat.com>
48107         net_if: enhance tests
48108         * tests/test-net_if.c (main): Move signature checks earlier.
48109         Print failures to stderr.
48110         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
48111         Document the bug that we do not yet fix.
48113 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48115         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
48116         about gnulib, not GSS.
48118 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48120         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
48121         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
48122         for Emacs.
48123         * build-aux/pmccabe2html: Make Makefile.am example code more
48124         cut-and-paste friendly.
48126 2010-09-21  Simon Josefsson  <simon@josefsson.org>
48128         * tests/test-net_if.c: New file.
48129         * modules/net_if-tests: New file.
48131 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
48133         pthread: add pthread_spin_destroy
48134         * lib/pthread.in.h (pthread_spin_destroy): New function.
48136 2010-09-19  Bruno Haible  <bruno@clisp.org>
48138         gnulib-tool: Fix --help output.
48139         * gnulib-tool (func_usage): Fix help message.
48140         Reported by Reuben Thomas <rrt@sc3d.org>.
48142 2010-09-18  Jim Meyering  <meyering@redhat.com>
48144         maint.mk: avoid unexpanded \n in two diagnostics
48145         * top/maint.mk (sc_prohibit_always_true_header_tests):
48146         Don't use a literal \n in a halt=... assignment.  It would not be
48147         expanded, and the two \n bytes would appear in the diagnostic output
48148         rather than the desired newline.  Use halt=$$(printf ... instead.
48149         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48151 2010-09-18  Bruno Haible  <bruno@clisp.org>
48153         netinet_in: Doc tweak.
48154         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
48155         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48157 2010-09-18  Jim Meyering  <meyering@redhat.com>
48159         init.sh: correct an outdated comment
48160         * tests/init.sh (create_exe_shims_):  s/function/alias/
48162         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
48163         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
48164         a file named "*.exe" is removed between the glob expansion and the
48165         processing of that oddly named file.
48167 2010-09-17  Eric Blake  <eblake@redhat.com>
48169         mirbsd: add some more support
48170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
48171         in BSD family.
48172         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
48173         devices as OpenBSD.
48174         * m4/host-os.m4 (mirbsd): Add MirBSD.
48176         tests: fix unportable assumption on sys/wait.h
48177         * tests/test-sys_wait.c (main): Relax test.
48178         * tests/test-stdlib.c (main): Likewise.
48180         init.sh: accommodate directory with no .exes
48181         * tests/init.sh: Accomodate directory containing only scripts.
48183         tests: avoid compiler warning
48184         * tests/test-stdlib.c (main): Use the variable.
48186         fdutimens, fdutimensat: update signature, again
48187         * lib/utimens.h (gl_futimens): Delete, and move signature...
48188         (fdutimens): ...here.
48189         (fdutimensat): Rearrange signature.
48190         (lutimensat): Rename variable for clarity.
48191         * lib/fdutimensat.c (fdutimensat): Update signature.
48192         * lib/utimens.c (fdutimens): Likewise.
48193         (gl_futimens): Delete.
48194         (utimens, lutimens): Update callers.
48195         * lib/futimens.c (futimens): Likewise.
48196         * tests/test-fdutimensat.c: Likewise.
48197         * tests/test-utimens.c: Likewise.
48198         * tests/test-futimens.h: Update comment.
48199         * NEWS: Mention this.
48200         Suggested by Paul Eggert.
48202 2010-09-17  Bruno Haible  <bruno@clisp.org>
48204         Take over the maintenance of some older macros from Autoconf.
48205         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
48206         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
48207         GNU Autoconf.
48208         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
48209         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
48211 2010-09-17  Eric Blake  <eblake@redhat.com>
48213         fdutimensat: drop atflag validation
48214         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
48215         with valid fd, to close a race scenario where futimens is
48216         unsupported and FILE was replaced by a symlink.
48217         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
48218         accordingly.
48219         Suggested by Paul Eggert.
48221 2010-09-16  Bruno Haible  <bruno@clisp.org>
48223         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
48224         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
48226 2010-09-16  Bruno Haible  <bruno@clisp.org>
48228         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
48229         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
48230         login_tty exists.
48231         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48233 2010-09-16  Bruno Haible  <bruno@clisp.org>
48235         login_tty: Make the replacement code work on BSD systems.
48236         * lib/login_tty.c: Include <sys/ioctl.h>.
48237         (login_tty): Use ioctl TIOCSCTTY when available.
48238         * modules/login_tty (Depends-on): Add sys_ioctl.
48239         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48241 2010-09-16  Bruno Haible  <bruno@clisp.org>
48243         login_tty: Stricter unit test.
48244         * modules/login_tty-tests (Depends-on): Add tcgetsid.
48245         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
48246         and tcgetsid() after login_tty.
48247         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48249 2010-09-16  Bruno Haible  <bruno@clisp.org>
48251         New module 'tcgetsid'.
48252         * lib/tcgetsid.c: New file.
48253         * m4/tcgetsid.m4: New file.
48254         * modules/tcgetsid: New file.
48255         * modules/termios (Depends-on): Add c++defs, warn-on-use.
48256         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
48257         GNULIB_TCGETSID, HAVE_TCGETSID.
48258         * lib/termios.in.h: Include <sys/types.h>.
48259         (tcgetsid): New declaration.
48260         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
48261         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
48262         * doc/posix-functions/tcgetsid.texi: Mention the new module.
48263         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
48265 2010-09-16  Bruno Haible  <bruno@clisp.org>
48267         Tests for module 'termios'.
48268         * modules/termios-c++-tests: New file.
48269         * modules/termios-tests: New file.
48270         * tests/test-termios-c++.cc: New file.
48271         * tests/test-termios.c: New file.
48273         New module 'termios'.
48274         * modules/termios: New file.
48275         * lib/termios.in.h: New file.
48276         * m4/termios_h.m4: New file.
48277         * doc/posix-headers/termios.texi: Mention the new module.
48279 2010-09-16  Eric Blake  <eblake@redhat.com>
48281         fdutimensat: add an atflag parameter
48282         * lib/fdutimensat.c (fdutimensat): Add new parameter.
48283         * lib/utimens.h (fdutimensat): Update prototype.
48284         * tests/test-fdutimensat.c: Adjust test to match.
48285         * NEWS: Document the change.
48286         Suggested by Paul Eggert.
48288 2010-09-16  Bruno Haible  <bruno@clisp.org>
48290         Fix typos in comments.
48291         * lib/striconveh.h: Fix typo in comment.
48292         * lib/login_tty.c (login_tty): Likewise.
48294 2010-09-15  Bruno Haible  <bruno@clisp.org>
48296         stdlib: clarify MirBSD WEXITSTATUS bug
48297         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
48298         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48300 2010-09-15  Eric Blake  <eblake@redhat.com>
48302         stdlib: work around MirBSD WEXITSTATUS bug
48303         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
48304         * modules/stdlib (Depends-on): Add sys_wait.
48305         * tests/test-sys_wait.c (main): Enhance test.
48306         * tests/test-stdlib.c (main): Likewise.
48307         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
48309         docs: mention MacOS issue with WEXITSTATUS(constant)
48310         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
48311         issue.
48312         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48314         strnlen: add tests
48315         * modules/strnlen-tests: New file.
48316         * tests/test-strnlen.c: Likewise.
48318 2010-09-14  Bruno Haible  <bruno@clisp.org>
48320         unistr/base: Avoid link errors when module 'libunistring' is also used.
48321         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
48322         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
48323         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
48324         Declare also when HAVE_LIBUNISTRING is set.
48325         Reported by Pádraig Brady <P@draigbrady.com>.
48327 2010-09-14  Eric Blake  <eblake@redhat.com>
48329         test-rawmemchr: make more robust
48330         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
48331         (Depends-on, configure.ac): Add needed prerequisites to use it.
48332         * modules/memchr-tests (Files, Depends-on, configure.ac):
48333         Likewise, to avoid implicit reliance on memchr module prereqs.
48334         * tests/test-memchr.c (main): Ensure proper masking.
48335         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
48336         reads.
48338         memchr: detect glibc Alpha bug
48339         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
48340         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
48341         Alpha.
48342         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
48343         * tests/test-memchr.c (main): Enhance test.
48344         Reported by Nelson H. F. Beebe.
48346 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48348         fts, getcwd, glob: audit for dirfd returning -1
48349         * lib/fts.c (opendir): Remove #define; no longer used.
48350         (opendirat): New arg PDIR_FD.  All callers changed.
48351         (fts_build, _opendir2): Use new opendirat to avoid the need for
48352         dirfd, or for checking whether dirfd returns a negative value.
48353         Don't use opendir; always use openat followed by fdopendir.
48354         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
48355         it.
48356         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
48357         returns -1 here.
48358         * modules/fts (Depends-on): Remove dirfd.
48359         * modules/getcwd (Depends-on): Likewise.
48361 2010-09-13  Eric Blake  <eblake@redhat.com>
48363         float: fix broken MirBSD header
48364         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
48365         * doc/posix-headers/float.texi (float.h): Document it.
48367 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48369         fts: use O_NOFOLLOW to avoid race condition when opening a directory
48370         * lib/fts.c (opendirat): New arg extra_flags.
48371         (__opendir2): Use it to avoid following symlinks when opening
48372         a directory, if symlinks are not supposed to be followed.  See
48373         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
48375         fdopendir: preserve argument fd before returning
48376         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
48377         (fdopendir_with_dup, fd_clone_opendir): New static functions.
48378         (fdopendir): Use them, arranging for FD to be open to the same
48379         directory that it was when it started.  (It might be temporarily
48380         closed while fdopendir is running, so this not thread- or
48381         signal-safe.)  Be careful to do the right thing even when file
48382         descriptors are scarce and dup fails with errno == EMFILE.  See
48383         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
48385 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
48387         regex: Pass the system regex if its only problem is 32-bit regoff_t.
48388         * NEWS: Document change.
48389         * m4/regex.m4: Disable test for regoff_t size.
48391 2010-09-13  Jim Meyering  <meyering@redhat.com>
48393         fts: don't operate on an invalid file descriptor after failed dup
48394         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
48395         negative file descriptor.
48397 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48399         savedir: add streamsavedir, deprecate fdsavedir
48400         * NEWS: Mention deprecation of fdsavedir.
48401         * lib/savedir.c (streamsavedir): New extern function, whose name
48402         ends in "savedir" to be consistent with the others.  This differs
48403         from savedirstream in that it doesn't close its argument.  The
48404         next version of GNU tar will use this instead of fdsavedir, to
48405         avoid some race conditions and conserve file descriptors.
48406         (savedirstream): Reimplement as a wrapper around streamsavedir.
48407         (fdsavedir): Add a comment deprecating this function.  As far as
48408         I know, only GNU tar used it, and GNU tar doesn't need it any more.
48409         * lib/savedir.h (streamsavedir): New decl.
48410         (fdsavedir): Add a comment deprecating this.
48412 2010-09-10  Bruno Haible  <bruno@clisp.org>
48414         langinfo: Fix last commit.
48415         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
48416         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
48417         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48419 2010-09-10  Bruno Haible  <bruno@clisp.org>
48421         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
48422         * lib/progreloc.c (O_EXEC): Define fallback.
48424 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48426         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
48427         * NEWS: Document recent changes to fcntl-h.
48428         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
48429         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
48430         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
48431         Similarly for O_SEARCH; this last was already true, but not documented.
48432         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
48433         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
48434         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
48435         Likewise.
48436         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
48437         is zero, not whether it is defined.
48438         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
48439         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
48440         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
48442 2010-09-10  Bruno Haible  <bruno@clisp.org>
48444         langinfo, nl_langinfo: Fix for IRIX 5.3.
48445         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
48446         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
48447         HAVE_LANGINFO_YESEXPR.
48448         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
48449         HAVE_LANGINFO_YESEXPR.
48450         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
48451         HAVE_LANGINFO_T_FMT_AMPM is 0.
48452         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
48453         HAVE_LANGINFO_YESEXPR is 0.
48454         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
48455         NOEXPR.
48456         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
48457         * doc/posix-functions/nl_langinfo.texi: Likewise.
48458         Reported by Eric Blake.
48460 2010-09-10  Bruno Haible  <bruno@clisp.org>
48462         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
48463         * doc/glibc-functions/login_tty.texi: Mention the include file problem
48464         on FreeBSD 8.0 and OpenBSD 4.6.
48465         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
48466         * m4/pty_h.m4 (gl_PTY_H): Likewise.
48467         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
48468         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
48469         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
48470         ac_includes_default.
48471         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48473 2010-09-09  Eric Blake  <eblake@redhat.com>
48475         strsignal: work around NetBSD bug
48476         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48477         * lib/string.in.h (includes): Likewise.
48478         * doc/posix-functions/strsignal.texi (strsignal): Document the
48479         bug.
48480         Reported by Nelson H. F. Beebe.
48482         gnulib-tool: work with NetBSD /bin/sh
48483         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48484         (func_get_description, func_get_comment, func_get_status)
48485         (func_get_notice, func_get_applicability, func_get_filelist)
48486         (func_get_dependencies, func_get_autoconf_early_snippet)
48487         (func_get_autoconf_snippet, func_get_automake_snippet)
48488         (func_get_include_directive, func_get_link_directive)
48489         (func_get_license, func_get_maintainer, func_import): Avoid
48490         shell syntax errors from parsing syntax extensions.
48492 2010-09-09  Bruno Haible  <bruno@clisp.org>
48494         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48495         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48496         a reliable way to determine whether the 'alias' command works.
48498 2010-09-08  Jim Meyering  <meyering@redhat.com>
48500         init.sh: penalize a set-x-impaired shell; don't disqualify it
48501         * tests/init.sh: Too many shells corrupt application stderr when
48502         you set -x, so we can't afford to disqualify them, since at least
48503         on Irix-6.5, that would disqualify all bourne shells.
48504         Instead, use a two-pass approach.
48505         On the first pass, try to find a shell that meets the stricter
48506         condition that set -x does not corrupt stderr.
48507         If no shell meets the stricter condition, retest each candidate
48508         shell, but without that extra condition.  Finally, when
48509         VERBOSE=yes is requested and set -x might cause trouble, simply
48510         issue a warning and refrain from enabling debug output.
48512 2010-09-08  Eric Blake  <eblake@redhat.com>
48514         unsetenv: fix OpenBSD bug
48515         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48516         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48517         documentation.
48518         Reported by Jim Meyering.
48520         strtod: work around IRIX 6.5 bug
48521         * lib/strtod.c (strtod): Reparse number on shorter string if
48522         exponent parse was invalid.
48523         * tests/test-strtod.c (main): Add check for "0x1p 2".
48524         Reported by Tom G. Christensen.
48526         getopt: optimize previous patch
48527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48528         empty variable.  Speed up awk script.
48529         Reported by Paolo Bonzini.
48531 2010-09-08  Jim Meyering  <meyering@redhat.com>
48533         test.sh: disqualify shells for which set -x corrupts stderr
48534         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48535         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48536         appear in stderr output.  For example, this command:
48537             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48538         prints "P=1" on those two systems:
48540 2010-09-08  Bruno Haible  <bruno@clisp.org>
48542         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48543         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48544         commands, because some shells ignore redirections when there is an
48545         error in the command lookup.
48546         Reported by Eric Blake.
48548 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48550         * lib/regex.h: Fix a mention of `regex_compile' (should be
48551         `re_compile_pattern').
48552         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48553         (re_set_registers): Correct name of parameter in comment.
48555         * doc/regex.texi: Add documentation for missing syntax flags.
48556         Remove commented-out documentation of defunct syntax option
48557         RE_NO_EMPTY_ALTS.
48558         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48559         Add documentation of re_set_registers.
48560         Document trick to re-use a pattern buffer by setting fastmap manually.
48561         Update documentation of struct re_pattern_buffer per public members.
48562         Uncomment documentation of equivalence class operators and
48563         collating symbol operators, since they are now implemented,
48564         Explain leftmost-longest matching in relation to alternatives.
48565         Tidy documentation of substring matching.
48566         Remove POSIX documentation, which is done better in
48567         glibc, and refer the reader there. Keep BSD API documentation, as
48568         that is not readily available elsewhere.
48570 2010-09-07  Eric Blake  <eblake@redhat.com>
48572         getopt: handle POSIXLY_CORRECT set but not exported
48573         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48574         export state of POSIXLY_CORRECT, due to bash set -o posix.
48575         Reported by Dustin J. Mitchell.
48577 2010-09-05  Bruno Haible  <bruno@clisp.org>
48579         gnulib-tool: Highlight the changed options.
48580         * gnulib-tool (func_usage): Display the --import, --add-import,
48581         --remove-import explanations in bold font.
48583 2010-09-06  Karl Berry  <karl@gnu.org>
48585         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48587 2010-09-05  Bruno Haible  <bruno@clisp.org>
48589         uniwidth/width: Update comment.
48590         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48591         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48593 2010-09-05  Bruno Haible  <bruno@clisp.org>
48595         isinf, isnan: Relax license.
48596         * modules/isinf (License): Change from GPL to LGPL, with consent from
48597         Ben Pfaff.
48598         * modules/isnan (License): Likewise.
48599         Requested by Ludovic Courtès.
48601 2010-09-04  Bruno Haible  <bruno@clisp.org>
48603         gnulib-tool: Help migration from --import to --add-import or --update.
48604         * gnulib-tool: Emit a verbose error message when --import is used
48605         without any module name.
48607 2010-09-04  Bruno Haible  <bruno@clisp.org>
48609         Update doc about gnulib-tool.
48610         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48611         'gnulib-tool --update' in more detail.
48612         Reported by Eric Blake.
48614 2010-09-04  Bruno Haible  <bruno@clisp.org>
48616         gnulib-tool: Change --import. New options --add/remove-import.
48617         * gnulib-tool: New options --add-import, --remove-import.
48618         (func_usage): Document them.
48619         (have_associative): Define always.
48620         (func_import): In import mode, don't merge the specified settings with
48621         the cached settings. Implement remove-import mode.
48622         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48623         Explain when to use them versus --import.
48624         (Simple update): Use --add-import instead of --import.
48625         * NEWS: Mention the change.
48627 2010-09-04  Bruno Haible  <bruno@clisp.org>
48629         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48630         separate gnulib.mk.
48632 2010-09-04  Bruno Haible  <bruno@clisp.org>
48634         gnulib-tool: Don't talk about CVS any more.
48635         * gnulib-tool (func_usage, func_import): Write "version control"
48636         instead of CVS.
48638 2010-09-04  Jim Meyering  <meyering@redhat.com>
48640         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48641         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48642         false positives (whose names may be ill-chosen) when searching
48643         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48644         would cause a false-positive.
48646         avoid coreutils "make distcheck" failure
48647         Coreutils tests with an absolute build directory name that contains
48648         a space.  Not quoting this directory name caused a failure.
48649         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48650         * tests/test-vc-list-files-cvs.sh: Likewise.
48652 2010-09-04  Bruno Haible  <bruno@clisp.org>
48654         gnulib-tool: Avoid error when run in a package without Makefile.am.
48655         * gnulib-tool: When collecting the m4dirs in a package that does not
48656         have a Makefile.am, eliminate those directories that contain no
48657         gnulib-cache.m4. Fix expression that counts these directories.
48659 2010-09-04  Bruno Haible  <bruno@clisp.org>
48661         update-copyright test: Improve output when perl is missing or too old.
48662         * tests/test-update-copyright.sh: Move test of Perl version down after
48663         the test whether Perl exists. Provide an explanation relating Perl's
48664         error message to Automake's SKIP: message.
48666 2010-09-04  Bruno Haible  <bruno@clisp.org>
48668         Don't augment PATH in TESTS_ENVIRONMENT.
48669         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48670         set abs_aux_dir instead of augmenting PATH.
48671         * modules/vc-list-files-tests (Makefile.am): Likewise.
48672         * tests/test-update-copyright.sh: Augment PATH here.
48673         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48674         path_prepend_.
48675         * tests/test-vc-list-files-git.sh: Likewise.
48677 2010-09-04  Jim Meyering  <meyering@redhat.com>
48679         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48680         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48682 2010-09-04  Bruno Haible  <bruno@clisp.org>
48684         strdup: Fix compilation error in C++ mode.
48685         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48686         the macro.
48688 2010-09-04  Bruno Haible  <bruno@clisp.org>
48690         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48691         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48692         macro into a function.
48693         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48695 2010-09-04  Bruno Haible  <bruno@clisp.org>
48697         Set PATH_SEPARATOR the same way autoconf does.
48698         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48699         the value of PATH_SEPARATOR the same way autoconf-generated configure
48700         scripts do.
48701         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48702         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48704 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48706         Set PATH_SEPARATOR the same way autoconf does.
48707         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48708         the same way autoconf-generated configure scripts do.
48709         * posix-modules: Likewise.
48711 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48713         hash: fix safe_hasher const typo
48714         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48715         const; otherwise, there is a type error later.
48717 2010-09-02  Jim Meyering  <meyering@redhat.com>
48719         test-update-copyright.sh: require perl 5.8.0
48720         * tests/test-update-copyright.sh: Require 5.8.0,
48721         which Tom G. Christensen has confirmed is adequate,
48722         while 5.6.1 is not.
48724 2010-09-02  Eric Blake  <eblake@redhat.com>
48726         tests: init.sh improvements for re-exec'ing with zsh
48727         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48728         -vx through shell re-exec.
48729         Reported by Tom G. Christensen.
48731         wctype: fix typo in previous commit
48732         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48733         Reported by Ludovic Courtès.
48735 2010-09-02  Jim Meyering  <meyering@redhat.com>
48737         test-update-copyright.sh: skip test if Perl is too old
48738         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48739         Reported by Tom G. Christensen.
48741 2010-09-02  Bruno Haible  <bruno@clisp.org>
48743         wctype: Avoid compilation error on IRIX 6.5.30.
48744         * lib/wctype.in.h (iswblank): Declare with a replacement if
48745         REPLACE_ISWBLANK is set.
48746         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48747         declared. Set REPLACE_ISWBLANK.
48748         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48749         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48750         * doc/posix-headers/wctype.texi: Likewise.
48751         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48753 2010-09-01  Bruno Haible  <bruno@clisp.org>
48755         New module 'socketlib'.
48756         * modules/socketlib: New file.
48757         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48758         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48759         * modules/sockets (Depends-on): Add socketlib.
48760         Suggested by Sam Steingold <sds@gnu.org>.
48762 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48764         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48766         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48767         when one needs search access to a directory but not read access.
48768         On systems where it is available, it works in some cases where
48769         O_RDONLY does not, namely on directories that are searchable but
48770         not readable, and which need only to be searchable.  If O_SEARCH
48771         is not available, fall back to the traditional method of using
48772         O_RDONLY.
48774         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48775         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48776         when opening a directory that needs only to be searchable.
48777         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48778         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48779         * lib/openat-proc.c (openat_proc_name): Likewise.
48780         * lib/openat.c (openat_needs_fchdir): Likewise.
48781         * lib/save-cwd.c (save_cwd): Likewise.
48782         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48784 2010-08-28  Bruno Haible  <bruno@clisp.org>
48786         New module 'host-cpu-c-abi'.
48787         * modules/host-cpu-c-abi: New file.
48788         * m4/host-cpu-c-abi.m4: New file, based on part of
48789         clisp/src/m4/general.m4.
48790         Requested by Sam Steingold <sds@gnu.org>.
48792 2010-08-31  Eric Blake  <eblake@redhat.com>
48793         and Jim Meyering  <meyering@redhat.com>
48795         hash: factor, and guard against misbehaving hasher function
48796         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48797         of table->hasher's return value.  Also protect against a hash value
48798         so large that adding it to table->bucket results in a NULL pointer.
48799         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48800         Use it in place of open-coded check-and-abort.
48802 2010-08-30  Bruno Haible  <bruno@clisp.org>
48804         hash: silence spurious clang warning
48805         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48806         Reported by Eric Blake.
48808 2010-08-30  Eric Blake  <eblake@redhat.com>
48810         strstr, memmem, strcasestr: avoid leaked shell message
48811         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48812         FreeBSD.
48813         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48814         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48816         tests: silence clang warning
48817         * tests/test-malloca.c (do_allocation): Avoid dead store.
48819 2010-08-29  Bruno Haible  <bruno@clisp.org>
48821         gettext: Fix recent mistake.
48822         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48824 2010-08-29  Bruno Haible  <bruno@clisp.org>
48826         selinux-h: Offer a --without-selinux option.
48827         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48828         --without-selinux was specified, skip all tests and define
48829         HAVE_SELINUX_SELINUX_H to 0.
48830         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48831         set LIB_SELINUX to empty.
48832         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48833         gl_LIBSELINUX. If --without-selinux was specified, replace
48834         selinux/context.h.
48835         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48837 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48838             Bruno Haible  <bruno@clisp.org>
48840         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48841         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48842         of HAVE_REALLOC.
48843         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48844         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48845         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48846         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48848 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48849             Bruno Haible  <bruno@clisp.org>
48851         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48852         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48853         HAVE_CALLOC.
48854         * lib/xmalloc.c: Update accordingly.
48855         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48856         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48857         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48859 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48860             Bruno Haible  <bruno@clisp.org>
48862         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48863         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48864         HAVE_MALLOC.
48865         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48866         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48867         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48869 2010-08-29  Bruno Haible  <bruno@clisp.org>
48871         Update modules list.
48872         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48873         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48874         (String handling <string.h>): Add astrxfrm.
48875         (File system functions): Add readlinkat.
48877 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48879         Tests for module 'realloc-gnu'.
48880         * modules/realloc-gnu-tests: New file.
48881         * tests/test-realloc-gnu.c: New file.
48883         Tests for module 'calloc-gnu'.
48884         * modules/calloc-gnu-tests: New file.
48885         * tests/test-calloc-gnu.c: New file.
48887         Tests for module 'malloc-gnu'.
48888         * modules/malloc-gnu-tests: New file.
48889         * tests/test-malloc-gnu.c: New file.
48891 2010-08-28  Bruno Haible  <bruno@clisp.org>
48893         Rename module 'realloc' -> 'realloc-gnu'.
48894         * modules/realloc-gnu: New file, copied from modules/realloc.
48895         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48896         obsolete.
48897         * modules/mgetgroups (Depends-on): Update.
48898         * doc/posix-functions/realloc.texi: Update.
48899         * NEWS: Mention the change.
48901         Rename module 'calloc' -> 'calloc-gnu'.
48902         * modules/calloc-gnu: New file, copied from modules/calloc.
48903         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48904         obsolete.
48905         * doc/posix-functions/calloc.texi: Update.
48906         * NEWS: Mention the change.
48908         Rename module 'malloc' -> 'malloc-gnu'.
48909         * modules/malloc-gnu: New file, copied from modules/malloc.
48910         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48911         obsolete.
48912         * modules/argp (Depends-on): Update.
48913         * modules/regex (Depends-on): Update.
48914         * doc/posix-functions/malloc.texi: Update.
48915         * NEWS: Mention the change.
48917 2010-08-28  Eric Blake  <eblake@redhat.com>
48919         pread, pwrite: add missing dependency
48920         * modules/pread (Depends-on): Add extensions.
48921         * modules/pwrite (Depends-on): Likewise.
48923 2010-08-28  Bruno Haible  <bruno@clisp.org>
48925         unistr/u*-strchr: Fix tests dependencies.
48926         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48927         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48928         Reported by Ian Beckwith <ianb@erislabs.net>.
48930 2010-08-28  Bruno Haible  <bruno@clisp.org>
48932         read-file: Don't occupy too much unused memory.
48933         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48935 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48936             Eric Blake  <eblake@redhat.com>
48937             Bruno Haible  <bruno@clisp.org>
48939         read-file: Avoid memory reallocations with regular files.
48940         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48941         (fread_file): With regular files, use the remaining length as the
48942         initial buffer size.  Check against overflow.
48943         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48944         sys_stat.
48946 2010-08-28  Bruno Haible  <bruno@clisp.org>
48948         ftello: Relax license.
48949         * modules/ftello (License): Relax to LGPLv2+.
48950         Reported by Eric Blake.
48952 2010-08-28  Bruno Haible  <bruno@clisp.org>
48954         Avoid relocwrapper link errors due to gnulib replacement functions.
48955         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48956         function.
48957         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48959 2010-08-28  Bruno Haible  <bruno@clisp.org>
48961         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48962         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48963         defined.
48964         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48965         Suggested by Eric Blake.
48967 2010-08-28  Bruno Haible  <bruno@clisp.org>
48969         sys_socket, netdb: Ensure socklen_t gets defined.
48970         * modules/sys_socket (Depends-on): Add socklen.
48971         * modules/netdb (Depends-on): Likewise.
48972         * modules/getaddrinfo (Depends-on): Remove socklen.
48973         * modules/getsockopt (Depends-on): Likewise.
48974         * modules/setsockopt (Depends-on): Likewise.
48975         * tests/test-sys_socket.c: Check that socklen_t is defined.
48976         * tests/test-netdb.c: Likewise.
48977         * m4/socklen.m4: Update comments.
48978         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48980 2010-08-27  Eric Blake  <eblake@redhat.com>
48982         login_tty: add missing dependency
48983         * modules/login_tty (Depends-on): Add pty.
48985 2010-08-26  Eric Blake  <eblake@redhat.com>
48987         lib-symbol-versions: fix m4 quoting
48988         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48989         format for AC_LINK_IFELSE.
48991         glob: fix compile test
48992         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48994         btowc: fix missing file
48995         * modules/btowc (Files): Also ship locale-fr.m4.
48997         lseek: fix link test
48998         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48999         AC_LINK_IFELSE.
49001         include_next: silence autoconf 2.68 warning
49002         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
49003         AC_COMPILE_IFELSE as special.
49004         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
49005         autoconf < 2.68.
49007         acl: fix compilation test
49008         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
49009         AC_COMPILE_IFELSE.
49011 2010-08-26  Bruno Haible  <bruno@clisp.org>
49013         Modernize AC_TRY_RUN invocations.
49014         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
49015         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
49016         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
49017         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
49018         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
49019         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49020         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
49021         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49022         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49023         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49024         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
49025         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49026         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
49027         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49028         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
49029         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
49030         gl_MBRLEN_NUL_RETVAL): Likewise.
49031         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49032         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49033         Likewise.
49034         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49035         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
49036         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
49037         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
49038         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
49039         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
49040         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
49041         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49042         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
49043         Likewise.
49044         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49045         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
49046         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49047         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49048         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49049         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
49050         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
49051         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
49052         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49053         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49055 2010-08-26  Bruno Haible  <bruno@clisp.org>
49057         Modernize AC_TRY_LINK invocations.
49058         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
49059         AC_TRY_LINK.
49060         * m4/argp.m4 (gl_ARGP): Likewise.
49061         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49062         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49063         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49064         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49065         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49066         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
49067         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49068         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49069         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49070         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49071         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49072         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
49073         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
49074         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49075         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49076         * m4/hostent.m4 (gl_HOSTENT): Likewise.
49077         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49078         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
49079         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49080         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
49081         Likewise.
49082         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
49083         Likewise.
49084         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
49085         Likewise.
49086         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49087         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
49088         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
49089         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49090         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49091         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49092         * m4/servent.m4 (gl_SERVENT): Likewise.
49093         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49094         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49095         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49096         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49097         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49098         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49099         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49100         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49101         * modules/tsearch-tests (configure.ac): Likewise.
49103 2010-08-26  Bruno Haible  <bruno@clisp.org>
49105         Modernize AC_TRY_COMPILE invocations.
49106         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
49107         AC_TRY_COMPILE.
49108         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
49109         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
49110         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49111         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
49112         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49113         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49114         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49115         * m4/lock.m4 (gl_LOCK): Likewise.
49116         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
49117         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49118         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
49119         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
49120         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49121         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
49122         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49123         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
49124         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49125         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49126         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49127         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49128         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
49129         extraneous semicolon.
49131 2010-08-26  Jim Meyering  <meyering@redhat.com>
49133         stat-time: relax license LGPL
49134         * modules/stat-time (License): Change from GPL to LGPL,
49135         with consent from all contributors, for use in libguile.
49136         Requested by Ludovic Courtès.
49138 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
49140         poll: return immediately on POLLHUP.
49141         * lib/poll.c (poll): Always set timeout before wait_timeout is
49142         computed.
49144 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49146         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
49147         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
49148         rmdir ("dir/.//"), unlinkat.
49150 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49152         stdbool: avoid spurious failure with modern xlc
49153         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49155 2010-08-24  Bruno Haible  <bruno@clisp.org>
49157         getloadavg: simplify code
49158         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
49159         gl_have_func. Update comments.
49161 2010-08-24  Eric Blake  <eblake@redhat.com>
49163         getloadavg: don't define SVR4 on cygwin
49164         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
49165         only define SVR4 when -lkvm is required.
49166         Reported by Yaakov Selkowitz.
49168 2010-08-24  Bruno Haible  <bruno@clisp.org>
49170         priv-set: fix comment
49171         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
49173 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49175         priv-set: fix comments
49176         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
49177         to match code, as suggested by David Bartley in:
49178         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
49180 2010-08-23  Eric Blake  <eblake@redhat.com>
49182         stdbool: avoid rejecting clang
49183         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49184         * tests/test-stdbool.c: Enable more tests if using the system
49185         <stdbool.h> instead of the gnulib replacement.
49186         (main): Move xlc bug test to a runtime test for all compilers.
49187         Reported by Anders Kaseorg.
49189         argz: fix shell quoting issue
49190         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
49191         Reported by Charles Wilson.
49193 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
49194             Erik Faye-Lund <kusmabite@gmail.com>
49196         poll, select: handle ERROR_BROKEN_PIPE.
49197         * lib/poll.c (win32_compute_revents): Return POLLHUP when
49198         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49199         * lib/select.c (win32_compute_revents): Do not mark a pipe
49200         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49202 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
49204         fts: allow compilation with C++
49205         * lib/fts_.h: Specify extern "C" linkage with C++.
49207 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49209         Fix gnulib-tool sed script de-commentation for AIX sed.
49210         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
49211         sed.
49213 2010-08-17  Eric Blake  <eblake@redhat.com>
49215         test-stddef: test for (some) offsetof bugs
49216         * tests/test-stddef.c: Enhance test to ensure correct type of
49217         offsetof.
49218         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
49219         that we are not fixing at this time.
49221 2010-08-15  Bruno Haible  <bruno@clisp.org>
49223         stpncpy: Allow stpncpy to be defined as a macro.
49224         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
49225         if it's already correctly declared.
49226         * lib/string.in.h (stpncpy): Undefine before redefining.
49227         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
49229 2010-08-14  Bruno Haible  <bruno@clisp.org>
49231         Rename module 'memxfrm' to 'amemxfrm'.
49232         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
49233         (amemxfrm): Renamed from memxfrm.
49234         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
49235         (amemxfrm): Renamed from memxfrm.
49236         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
49237         * NEWS: Mention the change.
49238         * MODULES.html.sh (String handling <string.h>): Update.
49239         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
49240         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
49241         * lib/unicase/u16-casexfrm.c: Likewise.
49242         * lib/unicase/u32-casexfrm.c: Likewise.
49243         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
49244         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
49245         * lib/uninorm/u16-normxfrm.c: Likewise.
49246         * lib/uninorm/u32-normxfrm.c: Likewise.
49247         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
49248         memxfrm.
49249         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
49250         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
49251         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
49252         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
49253         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
49254         Suggested by Paul Eggert.
49256 2010-08-14  Bruno Haible  <bruno@clisp.org>
49258         Tests for module 'astrxfrm'.
49259         * modules/astrxfrm-tests: New file.
49260         * tests/test-astrxfrm.c: New file.
49262         New module 'astrxfrm'.
49263         * lib/astrxfrm.h: New file.
49264         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
49265         * modules/astrxfrm: New file.
49267 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
49269         regex: Tweak doc.
49270         * doc/regex.texi (Overview): Don't mention regex.c.
49271         (GNU Regular Expression Compiling): Likewise.
49272         (Match-end-of-line Operator): Mention 'not_eol'.
49274 2010-08-14  Brian Gough  <bjg@gnu.org>
49275             Bruno Haible  <bruno@clisp.org>
49277         git-merge-changelog: add doc relating to use with bzr and hg.
49278         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
49280 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
49282         pthread: fix pthread.h creation for srcdir != builddir
49283         * modules/pthread (Makefile.am): Fix the rule to work also in a
49284         non-srcdir build.
49286 2010-08-13  Karl Berry  <karl@gnu.org>
49288         * doc/regex.texi (Predefined Syntaxes): @smallexample.
49289         * doc/posix-*/*: force line break before @url of POSIX
49290         specifications.
49291         Suggested by Werner Lemberg.
49293 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49295         strtod: fix const diagnostic
49296         * lib/strtod.c (strtod): Don't assign const char * to char *,
49297         as this elicits a warning from GCC when warnings are enabled.
49299 2010-08-10  Pádraig Brady  <P@draigbrady.com>
49300         and Eric Blake  <eblake@redhat.com>
49302         copy-acl: ignore ENOTSUP on HP-UX
49303         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
49304         so that it is available for HP-UX.
49305         * lib/copy-acl.c (qcopy_acl): Use it.
49306         Reported by Patrick M. Callahan.
49308 2010-08-10  Eric Blake  <eblake@redhat.com>
49310         open, chown: relax license
49311         * modules/open (License): Change to LGPLv2+, with consent by all
49312         authors, for use in augeas.
49313         * modules/chown (License): Likewise.
49314         * modules/lchown (Likewise): Likewise.
49315         Requested by Adam Stokes.
49317 2010-08-09  Karl Berry  <karl@gnu.org>
49319         * build-aux/ar-lib: new file, import from Automake.
49320         * config/srclist.txt: autocheck for updates.
49322 2010-08-09  Eric Blake  <eblake@redhat.com>
49324         readlinkat: adjust client modules
49325         * modules/areadlinkat (Depends-on): Use readlinkat, not
49326         symlinkat.
49327         * modules/areadlinkat-with-size (Depends-on): Likewise.
49329         mknod: be more vocal about danger of running tests as root
49330         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
49331         root, since that is just asking for problems.
49332         Suggested by Bruno Haible, based on a report by Rainer Tammer.
49334         readlinkat: split into its own module
49335         * modules/symlinkat: Split readlinkat...
49336         * modules/readlinkat: ...into separate module.
49337         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
49338         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
49339         * lib/symlinkat.c (readlinkat): Move...
49340         * lib/readlinkat.c: ...into new file.
49341         * modules/symlinkat-tests: Split readlinkat test...
49342         * modules/readlinkat-tests: ...into separate module.
49343         * tests/test-symlinkat.c: Split...
49344         * tests/test-readlinkat.c: ...into new file.
49345         * NEWS: Document the split.
49346         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
49347         * lib/unistd.in.h (readlinkat): Likewise.
49348         Suggested by Bruno Haible.
49350 2010-08-08  Bruno Haible  <bruno@clisp.org>
49352         memxfrm: Speed up.
49353         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
49354         that usually only one call to strxfrm is necessary for each string
49355         part.
49356         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49358 2010-08-07  Karl Berry  <karl@gnu.org>
49360         * doc/posix-headers/limits.texi,
49361         * doc/posix-functions/malloc.texi,
49362         * doc/posix-functions/strsignal.texi: missing @item.
49363         * doc/ld-version-script.texi: spurious leading i.
49364         * doc/regex.texi (Interval Operators): no commas inside @var.
49366 2010-08-01  Bruno Haible  <bruno@clisp.org>
49368         Integrate the regex documentation.
49369         * doc/gnulib.texi: Define 'cn' index.
49370         (Regular expressions): New a chapter that includes regex.texi and
49371         regexprops-generic.texi.
49372         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
49373         syntax.
49375         Whitespace cleanup.
49376         * doc/regex.texi: Remove trailing spaces.
49378         Add regex documentation.
49379         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
49380         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
49381         Written by Kathy A. Hargreaves and Karl Berry.
49383 2010-08-01  Bruno Haible  <bruno@clisp.org>
49385         link: Update documentation.
49386         * doc/posix-functions/link.texi: Update regarding Solaris.
49388 2010-07-31  Bruno Haible  <bruno@clisp.org>
49390         Update modules list.
49391         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
49392         (String handling <string.h>): Add memcmp2, memxfrm.
49393         (Container data structures): Add xlist, xsublist, xoset.
49394         (Core language properties): Add alignof, unused-parameter.
49395         (Process control, Numeric conversion functions <stdlib.h>): Renamed
49396         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
49397         (Unibyte characters <ctype.h>): New section.
49398         (String handling <string.h>): New section.
49399         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
49400         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
49401         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
49402         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
49403         tan, tanh, tanl, y0, y1, yn.
49404         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
49405         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
49406         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
49407         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
49408         unlockpt, vdprintf, vdprintf-posix.
49409         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
49410         (File system functions): Add concat-filename, sys_file, sys_ioctl,
49411         xconcat-filename.
49412         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
49413         getdtablesize, pipe2, pipe2-safer.
49414         (Security): New section.
49415         (Networking functions): Add accept4.
49416         (Signal handling): Add sigpipe.
49417         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
49418         mbmemcasecoll.
49419         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
49420         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
49421         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
49422         pipe-filter-ii.
49423         (Misc): Add argp-version-etc, login_tty, parse-duration.
49425 2010-07-31  Bruno Haible  <bruno@clisp.org>
49427         Improve doc in MODULES.html.
49428         * modules/linkat (Description): Add the word "function".
49429         * modules/mkfifo (Description): Likewise.
49430         * modules/mknod (Description): Likewise.
49431         * modules/remove (Description): Likewise.
49432         * modules/renameat (Description): Likewise.
49433         * modules/stat (Description): Likewise.
49434         * modules/symlink (Description): Likewise.
49435         * modules/unlink (Description): Likewise.
49437 2010-07-31  Bruno Haible  <bruno@clisp.org>
49439         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
49440         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
49441         option --enable/disable-c++ instead of --enable/disable-cxx.
49442         * NEWS: Mention the change.
49444 2010-07-31  Bruno Haible  <bruno@clisp.org>
49446         readlink, areadlink: Relax test a bit.
49447         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
49448         alternative to ENOTDIR.
49449         * tests/test-areadlink.h (test_areadlink): Likewise.
49450         Reported by Rainer Tammer.
49452 2010-07-31  Bruno Haible  <bruno@clisp.org>
49454         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
49455         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
49456         character, perform the search using U_STRCHR.
49457         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
49458         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
49459         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
49460         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
49461         Suggested by Paolo Bonzini.
49463 2010-07-31  Bruno Haible  <bruno@clisp.org>
49465         unistr/u*-strstr: Fix dependencies.
49466         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
49467         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
49468         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
49470 2010-07-31  Bruno Haible  <bruno@clisp.org>
49472         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49473         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49474         the beginning of the loop.
49475         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49476         cases in 'switch' statement.
49478         unistr/u8-strchr: Fix several bugs.
49479         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49480         the string. When not found, return NULL, not a pointer near the end.
49482         More tests for unistr/u8-strchr.
49483         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49484         that the function does not read past the first occurrence of the byte
49485         being searched.
49486         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49487         * tests/unistr/test-u16-strchr.c (main): New function.
49488         * tests/unistr/test-u32-strchr.c (main): New function.
49490 2010-07-31  Bruno Haible  <bruno@clisp.org>
49492         posix-modules: Ignore backup files of documentation files.
49493         * posix-modules: grep only through files named *.texi.
49495 2010-07-31  Bruno Haible  <bruno@clisp.org>
49497         symlinkat: Fix documentation.
49498         * doc/posix-functions/readlinkat.texi: Fix module name.
49500 2010-07-31  Bruno Haible  <bruno@clisp.org>
49502         fchownat: Replace also when chown has the trailing slash bug.
49503         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49504         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49505         introduced on 2010-04-10.
49506         Reported by Rainer Tammer.
49508 2010-07-31  Bruno Haible  <bruno@clisp.org>
49510         linkat: Work around AIX 7.1 bug.
49511         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49512         whether linkat handles trailing slash correctly. If not, replace linkat
49513         and define LINKAT_TRAILING_SLASH_BUG.
49514         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49515         check whether (fd1,file1) points to a directory if file1 or file2 ends
49516         in a slash. Code taken from lib/link.c.
49517         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49518         Reported by Rainer Tammer.
49520 2010-07-31  Bruno Haible  <bruno@clisp.org>
49522         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49523         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49524         This disables an xlc optimization that was causing wrong test results.
49525         Reported by Rainer Tammer.
49527 2010-07-31  Bruno Haible  <bruno@clisp.org>
49529         iconv: Work around AIX 6.1..7.1 bug.
49530         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49531         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49532         cross-compiling, guess no on all versions of AIX.
49533         Reported by Rainer Tammer.
49535 2010-07-31  Bruno Haible  <bruno@clisp.org>
49537         readlink: Relax test a bit.
49538         * tests/test-readlink.h (test_readlink): Allow different errno value
49539         when readlink is called with a file name that ends in / and refers to
49540         a file.
49541         Suggested by Eric Blake.
49542         Reported by Rainer Tammer.
49544 2010-07-31  Bruno Haible  <bruno@clisp.org>
49546         copysign: Does not require -lm on glibc systems.
49547         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49548         gl_COMMON_DOUBLE_MATHFUNC.
49549         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49551 2010-07-31  Bruno Haible  <bruno@clisp.org>
49553         duplocale: Work around AIX 7.1 bug.
49554         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49555         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49556         * lib/duplocale.c (rpl_duplocale): Update comment.
49557         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49558         Reported by Rainer Tammer.
49560 2010-07-30  Bruno Haible  <bruno@clisp.org>
49562         dirfd: Avoid link error on AIX 7.1.
49563         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49564         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49565         exist, set REPLACE_DIRFD.
49566         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49567         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49568         * doc/posix-functions/dirfd.texi: Update.
49569         Reported by Rainer Tammer.
49571 2010-07-30  Eric Blake  <eblake@redhat.com>
49573         strtod: next round of AIX fixes
49574         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49575         exponent.
49576         * tests/test-strtod.c (main): Enhance tests.
49577         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49578         Reported by Rainer Tammer.
49580         futimens: fix configure check
49581         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49582         Reported by Bruno Haible.
49584 2010-07-30  Bruno Haible  <bruno@clisp.org>
49586         getline: Update regarding AIX.
49587         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49588         Reported by Rainer Tammer.
49590 2010-07-30  Bruno Haible  <bruno@clisp.org>
49592         wcwidth: Drop replacement on AIX 7.
49593         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49594         AIX 7.
49595         Reported by Rainer Tammer.
49597 2010-07-30  Bruno Haible  <bruno@clisp.org>
49599         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49600         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49601         a 'char *'.
49602         Reported by Rainer Tammer.
49604 2010-07-30  Bruno Haible  <bruno@clisp.org>
49606         unlink: Update regarding AIX.
49607         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49608         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49609         Reported by Rainer Tammer.
49611 2010-07-30  Bruno Haible  <bruno@clisp.org>
49613         symlink: Update regarding AIX.
49614         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49615         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49616         Reported by Rainer Tammer.
49618 2010-07-30  Bruno Haible  <bruno@clisp.org>
49620         strndup: Update regarding AIX.
49621         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49622         AIX 7.
49623         Reported by Rainer Tammer.
49625 2010-07-30  Bruno Haible  <bruno@clisp.org>
49627         stat: Update regarding AIX.
49628         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49629         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49630         Reported by Rainer Tammer.
49632 2010-07-30  Bruno Haible  <bruno@clisp.org>
49634         truncl: Fix autoconf test.
49635         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49636         whether truncl works.
49637         Reported by Rainer Tammer.
49639 2010-07-30  Bruno Haible  <bruno@clisp.org>
49641         round: Update regarding AIX.
49642         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49643         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49644         Reported by Rainer Tammer.
49646 2010-07-30  Bruno Haible  <bruno@clisp.org>
49648         rename: Update regarding AIX.
49649         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49650         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49651         Reported by Rainer Tammer.
49653 2010-07-30  Bruno Haible  <bruno@clisp.org>
49655         printf.m4: Update regarding AIX.
49656         * m4/printf.m4: Update comments regarding AIX.
49657         Reported by Rainer Tammer.
49659 2010-07-30  Bruno Haible  <bruno@clisp.org>
49661         iconv: Update regarding AIX.
49662         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49663         AIX 7.
49664         Reported by Rainer Tammer.
49666 2010-07-30  Bruno Haible  <bruno@clisp.org>
49668         getopt: Update regarding AIX.
49669         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49670         no on AIX.
49671         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49672         Reported by Rainer Tammer.
49674 2010-07-30  Bruno Haible  <bruno@clisp.org>
49676         ldexpl; Update regarding AIX.
49677         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49678         on AIX 7.
49679         Reported by Rainer Tammer.
49681 2010-07-30  Bruno Haible  <bruno@clisp.org>
49683         frexpl: Update regarding AIX.
49684         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49685         on AIX 7.
49686         Reported by Rainer Tammer.
49688 2010-07-30  Bruno Haible  <bruno@clisp.org>
49690         open, fopen: Update regarding AIX.
49691         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49692         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49693         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49694         * doc/posix-functions/fopen.texi: Likewise.
49695         Reported by Rainer Tammer.
49697 2010-07-30  Bruno Haible  <bruno@clisp.org>
49699         chown: Update doc regarding AIX.
49700         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49701         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49702         Reported by Rainer Tammer.
49704 2010-07-30  Eric Blake  <eblake@redhat.com>
49706         strtod: fix bug in replacement function on AIX
49707         * lib/strtod.c (strtod): Special case broken "0x" parse in
49708         underlying strtod.
49709         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49710         * doc/posix-functions/strtod.texi (strtod): Likewise.
49711         Reported by Rainer Tammer.
49713 2010-07-30  Bruno Haible  <bruno@clisp.org>
49715         mbrlen: Fix cross-compilation guess for AIX.
49716         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49717         guess. Leftover from 2008-12-22.
49719 2010-07-30  Bruno Haible  <bruno@clisp.org>
49721         mbrtowc: Fix cross-compilation guess for AIX.
49722         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49723         guess. Leftover from 2008-12-21.
49725 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49727         init.sh: work around trap limitation of some shells
49728         * tests/init.sh (setup_): Move exit trap outside of shell function.
49730 2010-07-29  Eric Blake  <eblake@redhat.com>
49732         strtod: aid debugging
49733         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49734         understanding why strtod is rejected.
49736 2010-07-28  Bruno Haible  <bruno@clisp.org>
49738         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49739         * lib/unistr/u8-chr.c: Include <string.h>.
49740         * tests/unistr/test-u8-chr.c: Likewise.
49741         * tests/unistr/test-u16-chr.c: Likewise.
49742         * tests/unistr/test-u32-chr.c: Likewise.
49743         * tests/unistr/test-u8-strchr.c: Likewise.
49744         * tests/unistr/test-u16-strchr.c: Likewise.
49745         * tests/unistr/test-u32-strchr.c: Likewise.
49746         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49747         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49748         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49749         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49751 2010-07-28  Bruno Haible  <bruno@clisp.org>
49753         Use spaces for indentation, not tabs.
49754         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49756 2010-07-27  Bruno Haible  <bruno@clisp.org>
49758         mbspcasecmp: Fix function specification.
49759         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49760         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49761         Reported by Eric Blake <eblake@redhat.com>.
49763 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49765         timespec: use cast and not conditional, as truncation isn't possible
49766         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49767         instead of a conditional.  Comment about the situation in more detail.
49768         This undoes most of the 2009-10-29 patch.
49770 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49772         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49773         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49774         * lib/unistr/u8-strchr.c: Likewise.
49775         * modules/unistr/u8-chr: Depend on memchr.
49777         unistr/u*-strchr: add tests
49778         * modules/unistr/u8-strchr-tests: New file.
49779         * modules/unistr/u16-strchr-tests: New file.
49780         * modules/unistr/u32-strchr-tests: New file.
49781         * tests/unistr/test-strchr.h: New file.
49782         * tests/unistr/test-u8-strchr.c: New file.
49783         * tests/unistr/test-u16-strchr.c: New file.
49784         * tests/unistr/test-u32-strchr.c: New file.
49786         unistr/u*-chr: test multibyte sequences more
49787         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49788         test vector.
49789         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49790         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49791         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49793         unistr/u*-chr: test multibyte sequences
49794         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49796         unistr/u*-chr: prepare for multibyte tests
49797         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49798         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49799         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49800         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49801         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49802         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49804 2010-07-18  Bruno Haible  <bruno@clisp.org>
49806         unistr/u8-strchr: Optimize non-ASCII argument case.
49807         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49808         because the first byte often matches anyway.
49809         Reported by Pádraig Brady <P@draigbrady.com>.
49811 2010-07-15  Karl Berry  <karl@gnu.org>
49813         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49815 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49817         getcwd: on Solaris, work better if ancestors are inaccessible
49818         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49819         buffer and size, try again with a large buffer.  This works better
49820         on Solaris, since its getcwd succeeds even if the path to the root
49821         is inaccessible, and this is helpful in common cases such as .zfs
49822         hidden directories.  Problem reported by J Chapman Flack in
49823         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49824         Use system getcwd if it's declared, not merely if it's partly
49825         working; use the partly-working test only to avoid needless effort
49826         if the system getcwd fails.
49827         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49828         comment that was already obsolete and is now even more obsolete.
49829         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49830         now might call strdup.
49832 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49834         pthread: Add enough so that coreutils/src/sort.c compiles.
49835         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49836         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49837         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49838         Include <sys/types.h>, in case it defines pthread_t.
49839         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49840         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49841         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49842         (pthread_rwlockattr_t, pthread_spinlock_t):
49843         New typedefs, if HAVE_PTHREAD_T is not defined.
49844         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49845         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49846         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49847         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49848         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49849         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49850         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49851         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49852         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49853         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49854         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49855         New macros.
49856         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49857         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49858         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49859         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49860         (pthread_spin_unlock): New dummy functions.
49861         (pthread_create): Return EAGAIN; don't set errno.
49862         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49863         require AC_C_INLINE.
49864         * modules/pthread (Depends-on): Add sched, time.
49865         (pthread.h): Use AM_V_GEN.
49867 2010-07-13  Bruno Haible  <bruno@clisp.org>
49869         striconveh: Don't malloc memory if the result buffer is sufficient.
49870         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49871         buffer if its size is sufficient.
49872         Reported by Ludovic Courtès <ludo@gnu.org>.
49874 2010-07-13  Bruno Haible  <bruno@clisp.org>
49876         strtod: Add safety check.
49877         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49879 2010-07-12  Bruno Haible  <bruno@clisp.org>
49881         Unify tests that set gl_cv_func_ldexpl_no_libm.
49882         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49883         gl_FUNC_LDEXPL.
49884         (gl_FUNC_LDEXPL): Invoke it.
49885         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49887 2010-07-12  Bruno Haible  <bruno@clisp.org>
49889         Unify tests that set gl_cv_func_ldexp_no_libm.
49890         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49891         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49892         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49893         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49894         * modules/strtod (Files): Add m4/ldexp.m4.
49896 2010-07-12  Bruno Haible  <bruno@clisp.org>
49898         Unify tests that set gl_cv_func_frexpl_no_libm.
49899         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49900         gl_FUNC_FREXPL_NO_LIBM.
49901         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49902         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49904 2010-07-12  Bruno Haible  <bruno@clisp.org>
49906         Unify tests that set gl_cv_func_frexp_no_libm.
49907         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49908         gl_FUNC_FREXP_NO_LIBM.
49909         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49910         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49912 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49914         memcoll: clarify sizes versus lengths, document better, and tweak perf
49915         * lib/memcoll.c (strcoll_loop, memcoll0):
49916         Improve quality of descriptive comments.  Name variables
49917         consistently as to whether they are lengths (which do not include
49918         terminating null) versus sizes (which do).
49919         * lib/xmemcoll.c (xmemcoll0): Likewise.
49920         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49921         returned when s1size == 0; this is easier to compile and saves
49922         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49924 2010-07-12  Bruno Haible  <bruno@clisp.org>
49926         Tests for module '_Exit'.
49927         * modules/_Exit-tests: New file.
49928         * tests/test-_Exit.sh: New file.
49929         * tests/test-_Exit.c: New file.
49931         New module '_Exit'.
49932         * lib/stdlib.in.h (__attribute__): New macro.
49933         (_Exit): New declaration.
49934         * lib/_Exit.c: New file.
49935         * m4/_Exit.m4: New file.
49936         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49937         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49938         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49939         * modules/_Exit: New file.
49940         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49941         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49943 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49945         strtod: make it more-accurate typically, and don't require libm
49946         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49947         Include limits.h.  Don't include string.h.
49948         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49949         (locale_isspace): New function, so that no casts are needed to
49950         check whether *s is a space.
49951         (ldexp): Provide an unused dummy if not available.
49952         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49953         (strtod): Use them.  This implementation prefers to use the
49954         underlying strtod if available, falling back on our own code
49955         only to fix known bugs.  This is more likely to produce an
49956         accurate result.  Also, it avoids the use of libm functions.
49957         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49958         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49959         was absent, but it caused a test failure with coreutils.
49960         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49961         with libm.
49962         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49963         * modules/strtod-tests (Makefile.am): Likewise.
49965 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49966             Bruno Haible  <bruno@clisp.org>
49968         unistr/u8-strchr: Optimize ASCII argument case.
49969         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49971 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49973         (x)memcoll: minor tweaks
49974         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49975         is after the type that it qualifies.
49976         (memcoll0): Likewise.
49977         * lib/memcoll.h (memcoll0): Likewise.
49978         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49979         * lib/xmemcoll.h (xmemcoll0): Likewise.
49980         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49981         differs from memcoll in that the NUL byte is part of the argument.
49982         Omit the abort-checks, as performance is a real issue here.  Plus,
49983         the checks were wrong anyway (an off-by-one error).  Omit local
49984         variable 'diff', as it's a bit clearer that way.
49985         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49986         no longer needed.
49988 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49990         (x)memcoll: speedup when input is known to be NUL delimited
49991         * lib/memcoll.c: Include stdlib.
49992         (memcoll0): New function.
49993         (strcoll_loop): New function, refactored for use in both memcoll
49994         and memcoll0.
49995         * lib/memcoll.h (memcoll0): Add prototype.
49996         * lib/xmemcoll.c (xmemcoll0): New function.
49997         (collate_error): New function, refactored for use in both xmemcoll
49998         and xmemcoll0.
49999         * lib/xmemcoll.h (xmemcoll0): Add prototype.
50000         * m4/memcoll.m4: add inline invocation.
50002 2010-07-06  Pádraig Brady  <P@draigBrady.com>
50004         * build-aux/bootstrap: Remove any local translations
50005         from the translation project synchronization directory,
50006         so that local only translations are not distributed.
50008 2010-07-04  Bruno Haible  <bruno@clisp.org>
50010         fsusage: Clarify which code applies to which platforms.
50011         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
50012         platform.
50013         * lib/fsusage.c (get_fs_usage): Likewise.
50015 2010-07-04  Bruno Haible  <bruno@clisp.org>
50017         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
50018         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
50019         Reported by Martin Lambers <marlam@marlam.de>.
50021 2010-07-04  Jim Meyering  <meyering@redhat.com>
50023         hash: once again explicitly disallow insertion of NULL
50024         * lib/hash.c (hash_insert0): Reinstate just-removed test:
50025         inserting a NULL pointer cannot work with these functions.
50026         Add a comment with details.
50027         This reverts part of the 2010-07-01 commit, 5bef1a35
50028         "hash: extend module to deal with non-pointer keys".
50030 2010-07-01  Bruno Haible  <bruno@clisp.org>
50032         stdbool: Update doc.
50033         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
50034         Info from Christian Weisgerber <naddy@mips.inka.de>.
50036 2010-07-01  Jim Meyering  <meyering@redhat.com>
50038         hash: extend module to deal with non-pointer keys
50039         * lib/hash.c (hash_insert0): New interface, much like hash_insert
50040         but that allows insertion of non-pointer entries.
50041         Do not disallow an ENTRY value of NULL.
50042         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
50043         * lib/hash.h (hash_insert0): Declare.
50045 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
50047         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
50048         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
50049         not present (i.e. with autoconf 2.59 and when using gettextize, not
50050         gnulib), require AC_GNU_SOURCE instead.
50052 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
50054         idpriv-drop: Fix tests.
50055         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
50056         not to the test-idpriv-droptemp program.
50058 2010-06-29  Bruno Haible  <bruno@clisp.org>
50060         string: Fix syntax error with g++ 2.96.
50061         * lib/string.in.h (__pure__): Remove definition.
50062         (_GL_ATTRIBUTE_PURE): New macro.
50063         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
50064         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
50065         Reported by Christian Weisgerber <naddy@mips.inka.de>.
50067 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
50069         unitypes: Fix bug introduced on 2010-05-18.
50070         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
50072 2010-06-22  Eric Blake  <eblake@redhat.com>
50074         memmem: slight optimization
50075         * lib/str-two-way.h (critical_factorization): Update comments.
50076         Reduce work during factorization phase.
50077         Reported by Carlos Bueno <carlos@bueno.org>.
50079 2010-06-21  Bruno Haible  <bruno@clisp.org>
50081         Fix HAVE_CALLOC_POSIX misnomer.
50082         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
50083         !HAVE_CALLOC_POSIX.
50084         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
50085         HAVE_CALLOC_POSIX.
50086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
50087         instead of HAVE_CALLOC_POSIX.
50088         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
50089         HAVE_CALLOC_POSIX.
50091         Use modern idiom for calloc() replacement.
50092         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
50093         AC_FUNC_CALLOC.
50094         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
50095         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
50096         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50097         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
50098         (gl_REPLACE_CALLOC): New macro.
50100 2010-06-21  Bruno Haible  <bruno@clisp.org>
50102         Fix HAVE_REALLOC_POSIX misnomer.
50103         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
50104         !HAVE_REALLOC_POSIX.
50105         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
50106         HAVE_REALLOC_POSIX.
50107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
50108         instead of HAVE_REALLOC_POSIX.
50109         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
50110         HAVE_REALLOC_POSIX.
50112         Use modern idiom for realloc() replacement.
50113         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
50114         AC_FUNC_REALLOC.
50115         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
50116         Autoconf's AC_FUNC_REALLOC.
50117         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50118         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
50119         (gl_REPLACE_REALLOC): New macro.
50120         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50122 2010-06-21  Bruno Haible  <bruno@clisp.org>
50124         Fix HAVE_MALLOC_POSIX misnomer.
50125         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
50126         !HAVE_MALLOC_POSIX.
50127         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
50128         HAVE_MALLOC_POSIX.
50129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
50130         instead of HAVE_MALLOC_POSIX.
50131         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
50132         HAVE_MALLOC_POSIX.
50134         Use modern idiom for malloc() replacement.
50135         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
50136         AC_FUNC_MALLOC.
50137         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
50138         Autoconf's AC_FUNC_MALLOC.
50139         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50140         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
50141         (gl_REPLACE_MALLOC): New macro.
50142         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50144 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
50146         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
50147         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
50148         This macro takes 3 arguments, not 4.
50150 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
50152         ipv6: fix detection under mingw
50153         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
50154         in6_addr.
50156 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
50158         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
50159         that strtod() works when cross-compiling to a glibc version known
50160         to work.
50162 2010-06-15  Bruno Haible  <bruno@clisp.org>
50164         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
50166 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
50168         select: Correct timeout.
50169         * lib/select.c (rpl_select): Compute wait_timeout correctly.
50171 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50173         git-version-gen: init shell var to avoid env var influence
50174         * build-aux/git-version-gen (v): Init shell var to empty.
50176 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
50178         priv-set: Don't assume that priv.h exists merely because getppriv does.
50179         See Jan Andersen's bug report about AIX 5L in
50180         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
50181         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
50182         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
50183         * lib/priv-set.h: Likewise.
50184         * tests/test-priv-set.c: Likewise.
50186 2010-06-13  Bruno Haible  <bruno@clisp.org>
50188         relocatable: Make it easier to test whether to install wrappers.
50189         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
50190         RELOCATABLE_VIA_WRAPPER.
50192 2010-06-13  Bruno Haible  <bruno@clisp.org>
50194         gnulib-tool: Display specified modules and dependencies differently.
50195         * gnulib-tool (func_show_module_list): New function.
50196         (func_import, func_create_testdir): Invoke it.
50197         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50199 2010-06-13  Bruno Haible  <bruno@clisp.org>
50201         gnulib-tool: Align code of func_import and func_create_testdir.
50202         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
50203         specified_modules.
50205 2010-06-12  Jim Meyering  <meyering@redhat.com>
50207         test-inttostr: avoid spurious failure on Solaris 9
50208         * tests/test-inttostr.c (main): Skip the test when snprintf fails
50209         to accept "%ju".  Reported by Bruno Haible.
50211 2010-06-11  Jim Meyering  <meyering@redhat.com>
50213         test-sys_socket: mark variables as used more readably
50214         * tests/test-sys_socket.c (main): Mark otherwise unused variables
50215         as "used" explicitly via (void) statement casts.  This is more
50216         readable than using them in an artificial return expression.
50217         Suggestion from Bruno Haible.
50219 2010-06-11  Bruno Haible  <bruno@clisp.org>
50221         Avoid some more warnings from "gcc -Wwrite-strings".
50222         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
50223         to 'const char *'.
50224         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
50225         * tests/test-c-strcasestr.c (main): Likewise.
50226         * tests/test-mbscasestr1.c (main): Likewise.
50227         * tests/test-mbscasestr2.c (main): Likewise.
50228         * tests/test-memmem.c (main): Likewise.
50229         * tests/test-strstr.c (main): Likewise.
50230         * tests/test-strcasestr.c (main): Likewise.
50232 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50234         init.sh: change framework_failure_ to fail with status 99, not 1
50235         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
50236         automake's parallel-tests rule that this is an unexpected failure,
50237         even if the test is listed in XFAIL_TESTS.
50239 2010-06-11  Jim Meyering  <meyering@redhat.com>
50241         test-inttostr: avoid warnings about 4-6KB literal strings
50242         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
50243         Include "macros.h", for its definition of ASSERT.
50244         (CK): s/assert/ASSERT/
50245         * modules/inttostr-tests (Files): Add macros.h.
50247         init.sh: don't use $ME_ or skip_ before they are defined
50248         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
50249         their first uses.  Also hoist their companions: warn_, fail_,
50250         framework_failure_, $stderr_fileno.  Prompted by a patch from
50251         Stefano Lattarini.
50253         test-sys_socket: avoid set-but-not-used warnings from gcc
50254         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
50255         avoid warning about set-but-not-used variables.
50257         test-xvasprintf: avoid 'const' discard warnings
50258         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
50259         "const" when assigning from literal strings.
50260         (test_xasprintf): Add "void" in function argument list to placate
50261         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
50263         tests: avoid compilation warnings in argmatch and exclude tests...
50264         in packages that define ARGMATCH_DIE_DECL, like coreutils.
50265         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
50266         Since it always exits, declare with the "noreturn" attribute.
50267         * tests/test-argmatch.c: Likewise.
50269         tests: avoid 'const' discard warnings in mbsstr tests
50270         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
50271         * tests/test-mbsstr2.c (main): Likewise.
50273         test-verify: avoid warning from gcc's -Wmissing-declarations
50274         * tests/test-verify.c (function): Declare to be static.
50276         test-inttostr.c: include <string.h> for use of strcmp
50277         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
50279         test-linkat: avoid failed assertion on "other" architectures
50280         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
50281         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
50282         sparc: https://bugs.launchpad.net/bugs/591968
50284 2010-06-11  Jim Meyering  <meyering@redhat.com>
50286         printf.m4: avoid autoconf's "Expanded Before Required" warning
50287         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
50288         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
50289         autoconf warning.
50291 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
50293         Replacement header templates are now named with ".in", not "_".
50294         * doc/gnulib-intro.texi: Correct.
50296 2010-06-10  Jim Meyering  <meyering@redhat.com>
50298         inttostr-tests: depend on snprintf, not snprintf-posix
50299         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
50300         snprintf-posix, to avoid this aclocal failure:
50301           missing file gnulib-tests/vasnprintf.c
50302           configure.ac:45: error: expected source file, required through \
50303           AC_LIBSOURCES, not found
50305 2010-06-10  Jim Meyering  <meyering@redhat.com>
50307         inttostr: add a new function, inttostr, and tests
50308         The namesake function was not available.  The existence of the
50309         template file, inttostr.c makes its addition nontrivial.
50310         * lib/anytostr.c: Rename from inttostr.c.
50311         (anytostr): Rename from inttostr.
50312         * lib/inttostr.c: New file.
50313         * modules/inttostr (Files): Add anytostr.c.
50314         (Makefile.am): Set lib_SOURCES instead of ...
50315         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
50316         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
50317         * lib/offtostr.c: Likewise.
50318         * lib/uinttostr.c: Likewise.
50319         * lib/umaxtostr.c: Likewise.
50320         * modules/inttostr-tests: New file.
50321         * tests/test-inttostr.c: New file.  Test these functions.
50323 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
50324             Bruno Haible  <bruno@clisp.org>
50326         Add "Extending Gnulib" chapter to manual.
50327         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
50328         chapter.
50329         (Extending Gnulib): New chapter.
50330         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
50331         chapter.
50333 2010-06-09  Bruno Haible  <bruno@clisp.org>
50335         Avoid relocwrapper link errors due to gnulib replacement functions.
50336         * lib/areadlink.c: Use the system's malloc, realloc functions.
50337         (areadlink): Set errno to ENOMEM explicitly.
50338         * modules/areadlink (Depends-on): Remove malloc-posix.
50339         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50341 2010-06-09  Bruno Haible  <bruno@clisp.org>
50343         Avoid relocwrapper link errors due to gnulib replacement functions.
50344         * lib/canonicalize-lgpl.c: Use the system's malloc function.
50345         * lib/malloca.c: Likewise.
50346         * lib/relocatable.c: Likewise.
50347         * lib/progreloc.c: Use the system's malloc, sprintf functions.
50348         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
50349         * lib/setenv.c: Use the system's malloc, realloc functions.
50350         * lib/strerror.c: Use the system's sprintf function.
50351         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50353 2010-06-04  Bruno Haible  <bruno@clisp.org>
50355         Prefer documented low-level autoconf macro names.
50356         * m4/lib-link.m4: Use m4_translit instead of translit.
50357         * m4/environ.m4: Likewise.
50358         * m4/mathfunc.m4: Likewise.
50359         * m4/onceonly.m4: Likewise.
50360         * m4/stdint.m4: Likewise.
50361         Suggested by Eric Blake.
50363 2010-06-04  Martin Lambers  <marlam@marlam.de>
50364             Bruno Haible  <bruno@clisp.org>
50366         havelib: Allow library names with '+' characters.
50367         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50368         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
50370 2010-06-09  Bruno Haible  <bruno@clisp.org>
50372         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
50373         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
50374         realloc failed.
50376 2010-06-08  Peter Simons  <simons@cryp.to>
50378         maint.mk: make the news-check rule more configurable
50379         * top/maint.mk (news-check-lines-spec): New variable.
50380         (news-check): Use "sed -n 1,10p" in place of "head".
50382 2010-06-07  Jim Meyering  <meyering@redhat.com>
50384         do-release-commit-and-tag: fix typo in --help
50385         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
50387         regex: avoid new dead-code warning with gcc-4.6.0
50388         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
50389         if-block containing a while-loop.  It's been unused for at least
50390         5 years.
50392 2010-06-05  Bruno Haible  <bruno@clisp.org>
50394         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
50395         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
50397 2010-06-04  Bruno Haible  <bruno@clisp.org>
50399         Update to GNU gettext 0.18.1.
50400         * modules/gettext (configure.ac): Require gettext infrastructure from
50401         version 0.18.1.
50403 2010-06-03  Bruno Haible  <bruno@clisp.org>
50405         Don't use AC_LIBOBJ with file names in subdirectories.
50406         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
50407         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
50408         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
50409         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
50410         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
50411         gl_LIBUNISTRING_LIBSOURCE.
50412         (Makefile.am): Augment lib_SOURCES here, conditionally.
50413         * NEWS: Drop requirement for Automake option 'subdir-objects'.
50415 2010-06-03  Bruno Haible  <bruno@clisp.org>
50417         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
50418         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
50419         expansion does not end with a newline.
50420         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
50421         unnecessary newline.
50423 2010-06-03  Bruno Haible  <bruno@clisp.org>
50425         Reduce dependencies.
50426         * tests/test-quotearg.h: New file, extracted from
50427         tests/test-quotearg.c.
50428         * tests/test-quotearg-simple.c: New file, extracted from
50429         tests/test-quotearg.c.
50430         * tests/test-quotearg.c: Don't include <ctype.h>.
50431         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
50432         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
50433         use_quote_double_quotes, use_quotearg_colon): Moved to
50434         tests/test-quotearg.h.
50435         (results_g, flag_results, custom_quotes, custom_results): Moved
50436         to tests/test-quotearg-simple.c.
50437         (main): Moved the part that does not depend on gettext to
50438         tests/test-quotearg-simple.c. Return 77 if the test cannot be
50439         performed.
50440         * modules/quotearg-simple: New file.
50441         * modules/quotearg-simple-tests: New file.
50442         * modules/quotearg (Depends-on): Add quotearg-simple.
50443         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
50444         (Files): Add tests/test-quotearg.h.
50445         Reported by Paolo Bonzini.
50447 2010-06-03  Bruno Haible  <bruno@clisp.org>
50449         Reduce dependencies.
50450         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
50452 2010-06-03  Bruno Haible  <bruno@clisp.org>
50454         time: Undefine more broken macros.
50455         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
50456         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
50457         Reported by Eric Blake.
50459 2010-06-03  Bruno Haible  <bruno@clisp.org>
50461         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
50462         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
50463         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
50464         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
50465         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
50466         Reported by Ludovic Courtès <ludo@gnu.org>.
50468 2010-06-02  Eric Blake  <eblake@redhat.com>
50470         time: work with mingw + pthreads-win32 library
50471         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50472         if timespec is defined only in pthread.h.
50473         * modules/time (Makefile.am): Substitute it.
50474         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50475         <pthread.h>, when needed.
50476         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50477         from the library.
50479 2010-05-31  Bruno Haible  <bruno@clisp.org>
50481         Avoid expanding two macros in the wrong order.
50482         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50483         gl_LIBUNISTRING if it is defined.
50484         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50485         autoconf >= 2.64.
50486         Reported by Ludovic Courtès <ludo@gnu.org>.
50488 2010-05-27  Jim Meyering  <meyering@redhat.com>
50490         maint.mk: also prohibit "#undef" of always-defined symbols
50491         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50492         Allow more than one space before the symbol name.
50493         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50494         the regexp uses alternation.
50496 2010-05-26  Eric Blake  <eblake@redhat.com>
50498         maint.mk: avoid echo -e
50499         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50500         Convert all uses of echo -* to printf.
50501         Reported by Matthias Bolte.
50503 2010-05-25  Bruno Haible  <bruno@clisp.org>
50505         Update to GNU gettext 0.18, part 2.
50506         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50507         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50509 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50511         Add missing include in test-pwrite.c.
50512         * tests/test-pwrite.c: Include string.h, for strcmp.
50514 2010-05-24  Bruno Haible  <bruno@clisp.org>
50516         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50518 2010-05-24  Bruno Haible  <bruno@clisp.org>
50520         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50521         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50522         iconveh_error argument.
50523         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50524         U_STRCONV_TO_LOCALE.
50525         * lib/unistr/u16-strcoll.c: Likewise.
50526         * lib/unistr/u32-strcoll.c: Likewise.
50527         * modules/unistr/u8-strcoll (Depends-on): Add
50528         uniconv/u8-strconv-to-enc, localcharset. Remove
50529         uniconv/u8-strconv-to-locale.
50530         (configure.ac): Bump version number.
50531         * modules/unistr/u16-strcoll (Depends-on): Add
50532         uniconv/u16-strconv-to-enc, localcharset. Remove
50533         uniconv/u16-strconv-to-locale.
50534         (configure.ac): Bump version number.
50535         * modules/unistr/u32-strcoll (Depends-on): Add
50536         uniconv/u32-strconv-to-enc, localcharset. Remove
50537         uniconv/u32-strconv-to-locale.
50538         (configure.ac): Bump version number.
50540 2010-05-24  Bruno Haible  <bruno@clisp.org>
50542         Avoid a test failure on NetBSD 5.0.
50543         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50544         an iconv() bug.
50546 2010-05-24  Bruno Haible  <bruno@clisp.org>
50548         Adjust #include directive style.
50549         * modules/regex (Includes): Recommend to write <regex.h>.
50551 2010-05-24  Bruno Haible  <bruno@clisp.org>
50553         regex: Don't require alloca.
50554         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50555         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50556         only inside if (0).
50558 2010-05-23  Jim Meyering  <meyering@redhat.com>
50560         test-renameat.c: include <sys/stat.h>
50561         * tests/test-renameat.c: Include <sys/stat.h>; required for
50562         definition of S_IS* macros.
50564 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50566         Update maintainer documentation for 'relocatable-prog' module.
50567         * doc/relocatable-maint.texi: Update.
50568         Comments by Bruno Haible.
50570 2010-05-23  Bruno Haible  <bruno@clisp.org>
50572         git-merge-changelog: Enable --split-merged-entry by default.
50573         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50574         (usage): Don't mention this option any more.
50575         Reported by Ralf Wildenhues.
50577 2010-05-23  Jim Meyering  <meyering@redhat.com>
50579         test-pwrite: do not leave behind a test file named "out"
50580         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50581         The trivial-looking use of init.sh is really necessary.
50582         It ensures that the temporary file, "out", is created in
50583         a temporary directory, and removed upon termination.
50584         * tests/test-pwrite.sh: Re-add file.
50585         * modules/pwrite-tests: Reference it.
50587 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50589         Fix output redirection buglet in init.sh.
50590         * tests/init.sh: Fix redirection of stderr.
50592 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50594         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50596 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50598         * modules/valgrind-tests: New file.
50599         * m4/valgrind-tests.m4: New file.
50600         * doc/valgrind-tests.texi: New file.
50601         * doc/gnulib.texi (Running self-tests under valgrind): New
50602         section.
50604 2010-05-19  Bruno Haible  <bruno@clisp.org>
50606         Clean up dead code in recent commit.
50607         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50608         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50609         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50610         Suggested by Paolo Bonzini.
50612 2010-05-19  Bruno Haible  <bruno@clisp.org>
50614         Avoid valgrind error reports from libunistring.
50615         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50616         * modules/libunistring (Files): Add it.
50617         * modules/libunistring-optional (Files): Likewise.
50619 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50620             Bruno Haible  <bruno@clisp.org>
50622         New module 'libunistring-optional'.
50623         * modules/libunistring-optional: New file.
50624         * m4/libunistring-base.m4: New file.
50625         * m4/libunistring-optional.m4: New file.
50626         * lib/unicase.in.h: Renamed from lib/unicase.h.
50627         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50628         * lib/unictype.in.h: Renamed from lib/unictype.h.
50629         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50630         * lib/uniname.in.h: Renamed from lib/uniname.h.
50631         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50632         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50633         * lib/unistr.in.h: Renamed from lib/unistr.h.
50634         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50635         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50636         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50637         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50638         gl_LIBUNISTRING. If the library was found, determine the installed
50639         version and set LIBUNISTRING_VERSION.
50640         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50641         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50642         handle a configuration option --with-included-libunistring.
50643         * modules/libunistring (Files): Add m4/absolute-header.m4.
50644         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50645         Add m4/libunistring-base.m4.
50646         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50647         (Makefile.am): Build unicase.h from unicase.in.h.
50648         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50649         Add m4/libunistring-base.m4.
50650         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50651         (Makefile.am): Build uniconv.h from uniconv.in.h.
50652         * modules/unictype/base (Files): Use unictype.in.h instead of
50653         unictype.h. Add m4/libunistring-base.m4.
50654         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50655         (Makefile.am): Build unictype.h from unictype.in.h.
50656         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50657         Add m4/libunistring-base.m4.
50658         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50659         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50660         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50661         Add m4/libunistring-base.m4.
50662         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50663         (Makefile.am): Build uniname.h from uniname.in.h.
50664         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50665         Add m4/libunistring-base.m4.
50666         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50667         (Makefile.am): Build uninorm.h from uninorm.in.h.
50668         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50669         unistdio.h. Add m4/libunistring-base.m4.
50670         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50671         (Makefile.am): Build unistdio.h from unistdio.in.h.
50672         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50673         Add m4/libunistring-base.m4.
50674         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50675         (Makefile.am): Build unistr.h from unistr.in.h.
50676         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50677         Add m4/libunistring-base.m4.
50678         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50679         (Makefile.am): Build unitypes.h from unitypes.in.h.
50680         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50681         Add m4/libunistring-base.m4.
50682         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50683         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50684         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50685         uniwidth.h. Add m4/libunistring-base.m4.
50686         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50687         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50688         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50689         instead of augmenting lib_SOURCES.
50690         * modules/unicase/empty-suffix-context: Likewise.
50691         * modules/unicase/locale-language: Likewise.
50692         * modules/unicase/tolower: Likewise.
50693         * modules/unicase/totitle: Likewise.
50694         * modules/unicase/toupper: Likewise.
50695         * modules/unicase/u8-casecmp: Likewise.
50696         * modules/unicase/u8-casecoll: Likewise.
50697         * modules/unicase/u8-casefold: Likewise.
50698         * modules/unicase/u8-casexfrm: Likewise.
50699         * modules/unicase/u8-ct-casefold: Likewise.
50700         * modules/unicase/u8-ct-tolower: Likewise.
50701         * modules/unicase/u8-ct-totitle: Likewise.
50702         * modules/unicase/u8-ct-toupper: Likewise.
50703         * modules/unicase/u8-is-cased: Likewise.
50704         * modules/unicase/u8-is-casefolded: Likewise.
50705         * modules/unicase/u8-is-lowercase: Likewise.
50706         * modules/unicase/u8-is-titlecase: Likewise.
50707         * modules/unicase/u8-is-uppercase: Likewise.
50708         * modules/unicase/u8-prefix-context: Likewise.
50709         * modules/unicase/u8-suffix-context: Likewise.
50710         * modules/unicase/u8-tolower: Likewise.
50711         * modules/unicase/u8-totitle: Likewise.
50712         * modules/unicase/u8-toupper: Likewise.
50713         * modules/unicase/u16-casecmp: Likewise.
50714         * modules/unicase/u16-casecoll: Likewise.
50715         * modules/unicase/u16-casefold: Likewise.
50716         * modules/unicase/u16-casexfrm: Likewise.
50717         * modules/unicase/u16-ct-casefold: Likewise.
50718         * modules/unicase/u16-ct-tolower: Likewise.
50719         * modules/unicase/u16-ct-totitle: Likewise.
50720         * modules/unicase/u16-ct-toupper: Likewise.
50721         * modules/unicase/u16-is-cased: Likewise.
50722         * modules/unicase/u16-is-casefolded: Likewise.
50723         * modules/unicase/u16-is-lowercase: Likewise.
50724         * modules/unicase/u16-is-titlecase: Likewise.
50725         * modules/unicase/u16-is-uppercase: Likewise.
50726         * modules/unicase/u16-prefix-context: Likewise.
50727         * modules/unicase/u16-suffix-context: Likewise.
50728         * modules/unicase/u16-tolower: Likewise.
50729         * modules/unicase/u16-totitle: Likewise.
50730         * modules/unicase/u16-toupper: Likewise.
50731         * modules/unicase/u32-casecmp: Likewise.
50732         * modules/unicase/u32-casecoll: Likewise.
50733         * modules/unicase/u32-casefold: Likewise.
50734         * modules/unicase/u32-casexfrm: Likewise.
50735         * modules/unicase/u32-ct-casefold: Likewise.
50736         * modules/unicase/u32-ct-tolower: Likewise.
50737         * modules/unicase/u32-ct-totitle: Likewise.
50738         * modules/unicase/u32-ct-toupper: Likewise.
50739         * modules/unicase/u32-is-cased: Likewise.
50740         * modules/unicase/u32-is-casefolded: Likewise.
50741         * modules/unicase/u32-is-lowercase: Likewise.
50742         * modules/unicase/u32-is-titlecase: Likewise.
50743         * modules/unicase/u32-is-uppercase: Likewise.
50744         * modules/unicase/u32-prefix-context: Likewise.
50745         * modules/unicase/u32-suffix-context: Likewise.
50746         * modules/unicase/u32-tolower: Likewise.
50747         * modules/unicase/u32-totitle: Likewise.
50748         * modules/unicase/u32-toupper: Likewise.
50749         * modules/unicase/ulc-casecmp: Likewise.
50750         * modules/unicase/ulc-casecoll: Likewise.
50751         * modules/unicase/ulc-casexfrm: Likewise.
50752         * modules/uniconv/u8-conv-from-enc: Likewise.
50753         * modules/uniconv/u8-conv-to-enc: Likewise.
50754         * modules/uniconv/u8-strconv-from-enc: Likewise.
50755         * modules/uniconv/u8-strconv-from-locale: Likewise.
50756         * modules/uniconv/u8-strconv-to-enc: Likewise.
50757         * modules/uniconv/u8-strconv-to-locale: Likewise.
50758         * modules/uniconv/u16-conv-from-enc: Likewise.
50759         * modules/uniconv/u16-conv-to-enc: Likewise.
50760         * modules/uniconv/u16-strconv-from-enc: Likewise.
50761         * modules/uniconv/u16-strconv-from-locale: Likewise.
50762         * modules/uniconv/u16-strconv-to-enc: Likewise.
50763         * modules/uniconv/u16-strconv-to-locale: Likewise.
50764         * modules/uniconv/u32-conv-from-enc: Likewise.
50765         * modules/uniconv/u32-conv-to-enc: Likewise.
50766         * modules/uniconv/u32-strconv-from-enc: Likewise.
50767         * modules/uniconv/u32-strconv-from-locale: Likewise.
50768         * modules/uniconv/u32-strconv-to-enc: Likewise.
50769         * modules/uniconv/u32-strconv-to-locale: Likewise.
50770         * modules/unictype/bidicategory-byname: Likewise.
50771         * modules/unictype/bidicategory-name: Likewise.
50772         * modules/unictype/bidicategory-of: Likewise.
50773         * modules/unictype/bidicategory-test: Likewise.
50774         * modules/unictype/block-list: Likewise.
50775         * modules/unictype/block-test: Likewise.
50776         * modules/unictype/category-C: Likewise.
50777         * modules/unictype/category-Cc: Likewise.
50778         * modules/unictype/category-Cf: Likewise.
50779         * modules/unictype/category-Cn: Likewise.
50780         * modules/unictype/category-Co: Likewise.
50781         * modules/unictype/category-Cs: Likewise.
50782         * modules/unictype/category-L: Likewise.
50783         * modules/unictype/category-Ll: Likewise.
50784         * modules/unictype/category-Lm: Likewise.
50785         * modules/unictype/category-Lo: Likewise.
50786         * modules/unictype/category-Lt: Likewise.
50787         * modules/unictype/category-Lu: Likewise.
50788         * modules/unictype/category-M: Likewise.
50789         * modules/unictype/category-Mc: Likewise.
50790         * modules/unictype/category-Me: Likewise.
50791         * modules/unictype/category-Mn: Likewise.
50792         * modules/unictype/category-N: Likewise.
50793         * modules/unictype/category-Nd: Likewise.
50794         * modules/unictype/category-Nl: Likewise.
50795         * modules/unictype/category-No: Likewise.
50796         * modules/unictype/category-P: Likewise.
50797         * modules/unictype/category-Pc: Likewise.
50798         * modules/unictype/category-Pd: Likewise.
50799         * modules/unictype/category-Pe: Likewise.
50800         * modules/unictype/category-Pf: Likewise.
50801         * modules/unictype/category-Pi: Likewise.
50802         * modules/unictype/category-Po: Likewise.
50803         * modules/unictype/category-Ps: Likewise.
50804         * modules/unictype/category-S: Likewise.
50805         * modules/unictype/category-Sc: Likewise.
50806         * modules/unictype/category-Sk: Likewise.
50807         * modules/unictype/category-Sm: Likewise.
50808         * modules/unictype/category-So: Likewise.
50809         * modules/unictype/category-Z: Likewise.
50810         * modules/unictype/category-Zl: Likewise.
50811         * modules/unictype/category-Zp: Likewise.
50812         * modules/unictype/category-Zs: Likewise.
50813         * modules/unictype/category-and: Likewise.
50814         * modules/unictype/category-and-not: Likewise.
50815         * modules/unictype/category-byname: Likewise.
50816         * modules/unictype/category-name: Likewise.
50817         * modules/unictype/category-none: Likewise.
50818         * modules/unictype/category-of: Likewise.
50819         * modules/unictype/category-or: Likewise.
50820         * modules/unictype/category-test: Likewise.
50821         * modules/unictype/combining-class: Likewise.
50822         * modules/unictype/ctype-alnum: Likewise.
50823         * modules/unictype/ctype-alpha: Likewise.
50824         * modules/unictype/ctype-blank: Likewise.
50825         * modules/unictype/ctype-cntrl: Likewise.
50826         * modules/unictype/ctype-digit: Likewise.
50827         * modules/unictype/ctype-graph: Likewise.
50828         * modules/unictype/ctype-lower: Likewise.
50829         * modules/unictype/ctype-print: Likewise.
50830         * modules/unictype/ctype-punct: Likewise.
50831         * modules/unictype/ctype-space: Likewise.
50832         * modules/unictype/ctype-upper: Likewise.
50833         * modules/unictype/ctype-xdigit: Likewise.
50834         * modules/unictype/decimal-digit: Likewise.
50835         * modules/unictype/digit: Likewise.
50836         * modules/unictype/mirror: Likewise.
50837         * modules/unictype/numeric: Likewise.
50838         * modules/unictype/property-alphabetic: Likewise.
50839         * modules/unictype/property-ascii-hex-digit: Likewise.
50840         * modules/unictype/property-bidi-arabic-digit: Likewise.
50841         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50842         * modules/unictype/property-bidi-block-separator: Likewise.
50843         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50844         * modules/unictype/property-bidi-common-separator: Likewise.
50845         * modules/unictype/property-bidi-control: Likewise.
50846         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50847         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50848         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50849         * modules/unictype/property-bidi-european-digit: Likewise.
50850         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50851         * modules/unictype/property-bidi-left-to-right: Likewise.
50852         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50853         * modules/unictype/property-bidi-other-neutral: Likewise.
50854         * modules/unictype/property-bidi-pdf: Likewise.
50855         * modules/unictype/property-bidi-segment-separator: Likewise.
50856         * modules/unictype/property-bidi-whitespace: Likewise.
50857         * modules/unictype/property-byname: Likewise.
50858         * modules/unictype/property-combining: Likewise.
50859         * modules/unictype/property-composite: Likewise.
50860         * modules/unictype/property-currency-symbol: Likewise.
50861         * modules/unictype/property-dash: Likewise.
50862         * modules/unictype/property-decimal-digit: Likewise.
50863         * modules/unictype/property-default-ignorable-code-point: Likewise.
50864         * modules/unictype/property-deprecated: Likewise.
50865         * modules/unictype/property-diacritic: Likewise.
50866         * modules/unictype/property-extender: Likewise.
50867         * modules/unictype/property-format-control: Likewise.
50868         * modules/unictype/property-grapheme-base: Likewise.
50869         * modules/unictype/property-grapheme-extend: Likewise.
50870         * modules/unictype/property-grapheme-link: Likewise.
50871         * modules/unictype/property-hex-digit: Likewise.
50872         * modules/unictype/property-hyphen: Likewise.
50873         * modules/unictype/property-id-continue: Likewise.
50874         * modules/unictype/property-id-start: Likewise.
50875         * modules/unictype/property-ideographic: Likewise.
50876         * modules/unictype/property-ids-binary-operator: Likewise.
50877         * modules/unictype/property-ids-trinary-operator: Likewise.
50878         * modules/unictype/property-ignorable-control: Likewise.
50879         * modules/unictype/property-iso-control: Likewise.
50880         * modules/unictype/property-join-control: Likewise.
50881         * modules/unictype/property-left-of-pair: Likewise.
50882         * modules/unictype/property-line-separator: Likewise.
50883         * modules/unictype/property-logical-order-exception: Likewise.
50884         * modules/unictype/property-lowercase: Likewise.
50885         * modules/unictype/property-math: Likewise.
50886         * modules/unictype/property-non-break: Likewise.
50887         * modules/unictype/property-not-a-character: Likewise.
50888         * modules/unictype/property-numeric: Likewise.
50889         * modules/unictype/property-other-alphabetic: Likewise.
50890         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50891         * modules/unictype/property-other-grapheme-extend: Likewise.
50892         * modules/unictype/property-other-id-continue: Likewise.
50893         * modules/unictype/property-other-id-start: Likewise.
50894         * modules/unictype/property-other-lowercase: Likewise.
50895         * modules/unictype/property-other-math: Likewise.
50896         * modules/unictype/property-other-uppercase: Likewise.
50897         * modules/unictype/property-paired-punctuation: Likewise.
50898         * modules/unictype/property-paragraph-separator: Likewise.
50899         * modules/unictype/property-pattern-syntax: Likewise.
50900         * modules/unictype/property-pattern-white-space: Likewise.
50901         * modules/unictype/property-private-use: Likewise.
50902         * modules/unictype/property-punctuation: Likewise.
50903         * modules/unictype/property-quotation-mark: Likewise.
50904         * modules/unictype/property-radical: Likewise.
50905         * modules/unictype/property-sentence-terminal: Likewise.
50906         * modules/unictype/property-soft-dotted: Likewise.
50907         * modules/unictype/property-space: Likewise.
50908         * modules/unictype/property-terminal-punctuation: Likewise.
50909         * modules/unictype/property-test: Likewise.
50910         * modules/unictype/property-titlecase: Likewise.
50911         * modules/unictype/property-unassigned-code-value: Likewise.
50912         * modules/unictype/property-unified-ideograph: Likewise.
50913         * modules/unictype/property-uppercase: Likewise.
50914         * modules/unictype/property-variation-selector: Likewise.
50915         * modules/unictype/property-white-space: Likewise.
50916         * modules/unictype/property-xid-continue: Likewise.
50917         * modules/unictype/property-xid-start: Likewise.
50918         * modules/unictype/property-zero-width: Likewise.
50919         * modules/unictype/scripts: Likewise.
50920         * modules/unictype/syntax-c-ident: Likewise.
50921         * modules/unictype/syntax-c-whitespace: Likewise.
50922         * modules/unictype/syntax-java-ident: Likewise.
50923         * modules/unictype/syntax-java-whitespace: Likewise.
50924         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50925         * modules/unilbrk/u8-width-linebreaks: Likewise.
50926         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50927         * modules/unilbrk/u16-width-linebreaks: Likewise.
50928         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50929         * modules/unilbrk/u32-width-linebreaks: Likewise.
50930         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50931         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50932         * modules/uniname/uniname: Likewise.
50933         * modules/uninorm/canonical-decomposition: Likewise.
50934         * modules/uninorm/composition: Likewise.
50935         * modules/uninorm/decomposing-form: Likewise.
50936         * modules/uninorm/decomposition: Likewise.
50937         * modules/uninorm/filter: Likewise.
50938         * modules/uninorm/nfc: Likewise.
50939         * modules/uninorm/nfd: Likewise.
50940         * modules/uninorm/nfkc: Likewise.
50941         * modules/uninorm/nfkd: Likewise.
50942         * modules/uninorm/u8-normalize: Likewise.
50943         * modules/uninorm/u8-normcmp: Likewise.
50944         * modules/uninorm/u8-normcoll: Likewise.
50945         * modules/uninorm/u8-normxfrm: Likewise.
50946         * modules/uninorm/u16-normalize: Likewise.
50947         * modules/uninorm/u16-normcmp: Likewise.
50948         * modules/uninorm/u16-normcoll: Likewise.
50949         * modules/uninorm/u16-normxfrm: Likewise.
50950         * modules/uninorm/u32-normalize: Likewise.
50951         * modules/uninorm/u32-normcmp: Likewise.
50952         * modules/uninorm/u32-normcoll: Likewise.
50953         * modules/uninorm/u32-normxfrm: Likewise.
50954         * modules/unistdio/u8-asnprintf: Likewise.
50955         * modules/unistdio/u8-asprintf: Likewise.
50956         * modules/unistdio/u8-snprintf: Likewise.
50957         * modules/unistdio/u8-sprintf: Likewise.
50958         * modules/unistdio/u8-u8-asnprintf: Likewise.
50959         * modules/unistdio/u8-u8-asprintf: Likewise.
50960         * modules/unistdio/u8-u8-snprintf: Likewise.
50961         * modules/unistdio/u8-u8-sprintf: Likewise.
50962         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50963         * modules/unistdio/u8-u8-vasprintf: Likewise.
50964         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50965         * modules/unistdio/u8-u8-vsprintf: Likewise.
50966         * modules/unistdio/u8-vasnprintf: Likewise.
50967         * modules/unistdio/u8-vasprintf: Likewise.
50968         * modules/unistdio/u8-vsnprintf: Likewise.
50969         * modules/unistdio/u8-vsprintf: Likewise.
50970         * modules/unistdio/u16-asnprintf: Likewise.
50971         * modules/unistdio/u16-asprintf: Likewise.
50972         * modules/unistdio/u16-snprintf: Likewise.
50973         * modules/unistdio/u16-sprintf: Likewise.
50974         * modules/unistdio/u16-u16-asnprintf: Likewise.
50975         * modules/unistdio/u16-u16-asprintf: Likewise.
50976         * modules/unistdio/u16-u16-snprintf: Likewise.
50977         * modules/unistdio/u16-u16-sprintf: Likewise.
50978         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50979         * modules/unistdio/u16-u16-vasprintf: Likewise.
50980         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50981         * modules/unistdio/u16-u16-vsprintf: Likewise.
50982         * modules/unistdio/u16-vasnprintf: Likewise.
50983         * modules/unistdio/u16-vasprintf: Likewise.
50984         * modules/unistdio/u16-vsnprintf: Likewise.
50985         * modules/unistdio/u16-vsprintf: Likewise.
50986         * modules/unistdio/u32-asnprintf: Likewise.
50987         * modules/unistdio/u32-asprintf: Likewise.
50988         * modules/unistdio/u32-snprintf: Likewise.
50989         * modules/unistdio/u32-sprintf: Likewise.
50990         * modules/unistdio/u32-u32-asnprintf: Likewise.
50991         * modules/unistdio/u32-u32-asprintf: Likewise.
50992         * modules/unistdio/u32-u32-snprintf: Likewise.
50993         * modules/unistdio/u32-u32-sprintf: Likewise.
50994         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50995         * modules/unistdio/u32-u32-vasprintf: Likewise.
50996         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50997         * modules/unistdio/u32-u32-vsprintf: Likewise.
50998         * modules/unistdio/u32-vasnprintf: Likewise.
50999         * modules/unistdio/u32-vasprintf: Likewise.
51000         * modules/unistdio/u32-vsnprintf: Likewise.
51001         * modules/unistdio/u32-vsprintf: Likewise.
51002         * modules/unistdio/ulc-asnprintf: Likewise.
51003         * modules/unistdio/ulc-asprintf: Likewise.
51004         * modules/unistdio/ulc-fprintf: Likewise.
51005         * modules/unistdio/ulc-snprintf: Likewise.
51006         * modules/unistdio/ulc-sprintf: Likewise.
51007         * modules/unistdio/ulc-vasnprintf: Likewise.
51008         * modules/unistdio/ulc-vasprintf: Likewise.
51009         * modules/unistdio/ulc-vfprintf: Likewise.
51010         * modules/unistdio/ulc-vsnprintf: Likewise.
51011         * modules/unistdio/ulc-vsprintf: Likewise.
51012         * modules/unistr/u8-check: Likewise.
51013         * modules/unistr/u8-chr: Likewise.
51014         * modules/unistr/u8-cmp: Likewise.
51015         * modules/unistr/u8-cmp2: Likewise.
51016         * modules/unistr/u8-cpy: Likewise.
51017         * modules/unistr/u8-cpy-alloc: Likewise.
51018         * modules/unistr/u8-endswith: Likewise.
51019         * modules/unistr/u8-mblen: Likewise.
51020         * modules/unistr/u8-mbsnlen: Likewise.
51021         * modules/unistr/u8-mbtouc: Likewise.
51022         * modules/unistr/u8-mbtouc-unsafe: Likewise.
51023         * modules/unistr/u8-mbtoucr: Likewise.
51024         * modules/unistr/u8-move: Likewise.
51025         * modules/unistr/u8-next: Likewise.
51026         * modules/unistr/u8-prev: Likewise.
51027         * modules/unistr/u8-set: Likewise.
51028         * modules/unistr/u8-startswith: Likewise.
51029         * modules/unistr/u8-stpcpy: Likewise.
51030         * modules/unistr/u8-stpncpy: Likewise.
51031         * modules/unistr/u8-strcat: Likewise.
51032         * modules/unistr/u8-strchr: Likewise.
51033         * modules/unistr/u8-strcmp: Likewise.
51034         * modules/unistr/u8-strcoll: Likewise.
51035         * modules/unistr/u8-strcpy: Likewise.
51036         * modules/unistr/u8-strcspn: Likewise.
51037         * modules/unistr/u8-strdup: Likewise.
51038         * modules/unistr/u8-strlen: Likewise.
51039         * modules/unistr/u8-strmblen: Likewise.
51040         * modules/unistr/u8-strmbtouc: Likewise.
51041         * modules/unistr/u8-strncat: Likewise.
51042         * modules/unistr/u8-strncmp: Likewise.
51043         * modules/unistr/u8-strncpy: Likewise.
51044         * modules/unistr/u8-strnlen: Likewise.
51045         * modules/unistr/u8-strpbrk: Likewise.
51046         * modules/unistr/u8-strrchr: Likewise.
51047         * modules/unistr/u8-strspn: Likewise.
51048         * modules/unistr/u8-strstr: Likewise.
51049         * modules/unistr/u8-strtok: Likewise.
51050         * modules/unistr/u8-to-u16: Likewise.
51051         * modules/unistr/u8-to-u32: Likewise.
51052         * modules/unistr/u8-uctomb: Likewise.
51053         * modules/unistr/u16-check: Likewise.
51054         * modules/unistr/u16-chr: Likewise.
51055         * modules/unistr/u16-cmp: Likewise.
51056         * modules/unistr/u16-cmp2: Likewise.
51057         * modules/unistr/u16-cpy: Likewise.
51058         * modules/unistr/u16-cpy-alloc: Likewise.
51059         * modules/unistr/u16-endswith: Likewise.
51060         * modules/unistr/u16-mblen: Likewise.
51061         * modules/unistr/u16-mbsnlen: Likewise.
51062         * modules/unistr/u16-mbtouc: Likewise.
51063         * modules/unistr/u16-mbtouc-unsafe: Likewise.
51064         * modules/unistr/u16-mbtoucr: Likewise.
51065         * modules/unistr/u16-move: Likewise.
51066         * modules/unistr/u16-next: Likewise.
51067         * modules/unistr/u16-prev: Likewise.
51068         * modules/unistr/u16-set: Likewise.
51069         * modules/unistr/u16-startswith: Likewise.
51070         * modules/unistr/u16-stpcpy: Likewise.
51071         * modules/unistr/u16-stpncpy: Likewise.
51072         * modules/unistr/u16-strcat: Likewise.
51073         * modules/unistr/u16-strchr: Likewise.
51074         * modules/unistr/u16-strcmp: Likewise.
51075         * modules/unistr/u16-strcoll: Likewise.
51076         * modules/unistr/u16-strcpy: Likewise.
51077         * modules/unistr/u16-strcspn: Likewise.
51078         * modules/unistr/u16-strdup: Likewise.
51079         * modules/unistr/u16-strlen: Likewise.
51080         * modules/unistr/u16-strmblen: Likewise.
51081         * modules/unistr/u16-strmbtouc: Likewise.
51082         * modules/unistr/u16-strncat: Likewise.
51083         * modules/unistr/u16-strncmp: Likewise.
51084         * modules/unistr/u16-strncpy: Likewise.
51085         * modules/unistr/u16-strnlen: Likewise.
51086         * modules/unistr/u16-strpbrk: Likewise.
51087         * modules/unistr/u16-strrchr: Likewise.
51088         * modules/unistr/u16-strspn: Likewise.
51089         * modules/unistr/u16-strstr: Likewise.
51090         * modules/unistr/u16-strtok: Likewise.
51091         * modules/unistr/u16-to-u32: Likewise.
51092         * modules/unistr/u16-to-u8: Likewise.
51093         * modules/unistr/u16-uctomb: Likewise.
51094         * modules/unistr/u32-check: Likewise.
51095         * modules/unistr/u32-chr: Likewise.
51096         * modules/unistr/u32-cmp: Likewise.
51097         * modules/unistr/u32-cmp2: Likewise.
51098         * modules/unistr/u32-cpy: Likewise.
51099         * modules/unistr/u32-cpy-alloc: Likewise.
51100         * modules/unistr/u32-endswith: Likewise.
51101         * modules/unistr/u32-mblen: Likewise.
51102         * modules/unistr/u32-mbsnlen: Likewise.
51103         * modules/unistr/u32-mbtouc: Likewise.
51104         * modules/unistr/u32-mbtouc-unsafe: Likewise.
51105         * modules/unistr/u32-mbtoucr: Likewise.
51106         * modules/unistr/u32-move: Likewise.
51107         * modules/unistr/u32-next: Likewise.
51108         * modules/unistr/u32-prev: Likewise.
51109         * modules/unistr/u32-set: Likewise.
51110         * modules/unistr/u32-startswith: Likewise.
51111         * modules/unistr/u32-stpcpy: Likewise.
51112         * modules/unistr/u32-stpncpy: Likewise.
51113         * modules/unistr/u32-strcat: Likewise.
51114         * modules/unistr/u32-strchr: Likewise.
51115         * modules/unistr/u32-strcmp: Likewise.
51116         * modules/unistr/u32-strcoll: Likewise.
51117         * modules/unistr/u32-strcpy: Likewise.
51118         * modules/unistr/u32-strcspn: Likewise.
51119         * modules/unistr/u32-strdup: Likewise.
51120         * modules/unistr/u32-strlen: Likewise.
51121         * modules/unistr/u32-strmblen: Likewise.
51122         * modules/unistr/u32-strmbtouc: Likewise.
51123         * modules/unistr/u32-strncat: Likewise.
51124         * modules/unistr/u32-strncmp: Likewise.
51125         * modules/unistr/u32-strncpy: Likewise.
51126         * modules/unistr/u32-strnlen: Likewise.
51127         * modules/unistr/u32-strpbrk: Likewise.
51128         * modules/unistr/u32-strrchr: Likewise.
51129         * modules/unistr/u32-strspn: Likewise.
51130         * modules/unistr/u32-strstr: Likewise.
51131         * modules/unistr/u32-strtok: Likewise.
51132         * modules/unistr/u32-to-u16: Likewise.
51133         * modules/unistr/u32-to-u8: Likewise.
51134         * modules/unistr/u32-uctomb: Likewise.
51135         * modules/uniwbrk/u8-wordbreaks: Likewise.
51136         * modules/uniwbrk/u16-wordbreaks: Likewise.
51137         * modules/uniwbrk/u32-wordbreaks: Likewise.
51138         * modules/uniwbrk/ulc-wordbreaks: Likewise.
51139         * modules/uniwbrk/wordbreak-property: Likewise.
51140         * modules/uniwidth/u8-strwidth: Likewise.
51141         * modules/uniwidth/u8-width: Likewise.
51142         * modules/uniwidth/u16-strwidth: Likewise.
51143         * modules/uniwidth/u16-width: Likewise.
51144         * modules/uniwidth/u32-strwidth: Likewise.
51145         * modules/uniwidth/u32-width: Likewise.
51146         * modules/uniwidth/width: Likewise.
51147         * modules/unicase/cased-tests (Makefile.am): Link all test programs
51148         with $(LIBUNISTRING).
51149         * modules/unicase/ignorable-tests: Likewise.
51150         * modules/unicase/locale-language-tests: Likewise.
51151         * modules/unicase/tolower-tests: Likewise.
51152         * modules/unicase/totitle-tests: Likewise.
51153         * modules/unicase/toupper-tests: Likewise.
51154         * modules/unicase/u8-casecmp-tests: Likewise.
51155         * modules/unicase/u8-casecoll-tests: Likewise.
51156         * modules/unicase/u8-casefold-tests: Likewise.
51157         * modules/unicase/u8-is-cased-tests: Likewise.
51158         * modules/unicase/u8-is-casefolded-tests: Likewise.
51159         * modules/unicase/u8-is-lowercase-tests: Likewise.
51160         * modules/unicase/u8-is-titlecase-tests: Likewise.
51161         * modules/unicase/u8-is-uppercase-tests: Likewise.
51162         * modules/unicase/u8-tolower-tests: Likewise.
51163         * modules/unicase/u8-totitle-tests: Likewise.
51164         * modules/unicase/u8-toupper-tests: Likewise.
51165         * modules/unicase/u16-casecmp-tests: Likewise.
51166         * modules/unicase/u16-casecoll-tests: Likewise.
51167         * modules/unicase/u16-casefold-tests: Likewise.
51168         * modules/unicase/u16-is-cased-tests: Likewise.
51169         * modules/unicase/u16-is-casefolded-tests: Likewise.
51170         * modules/unicase/u16-is-lowercase-tests: Likewise.
51171         * modules/unicase/u16-is-titlecase-tests: Likewise.
51172         * modules/unicase/u16-is-uppercase-tests: Likewise.
51173         * modules/unicase/u16-tolower-tests: Likewise.
51174         * modules/unicase/u16-totitle-tests: Likewise.
51175         * modules/unicase/u16-toupper-tests: Likewise.
51176         * modules/unicase/u32-casecmp-tests: Likewise.
51177         * modules/unicase/u32-casecoll-tests: Likewise.
51178         * modules/unicase/u32-casefold-tests: Likewise.
51179         * modules/unicase/u32-is-cased-tests: Likewise.
51180         * modules/unicase/u32-is-casefolded-tests: Likewise.
51181         * modules/unicase/u32-is-lowercase-tests: Likewise.
51182         * modules/unicase/u32-is-titlecase-tests: Likewise.
51183         * modules/unicase/u32-is-uppercase-tests: Likewise.
51184         * modules/unicase/u32-tolower-tests: Likewise.
51185         * modules/unicase/u32-totitle-tests: Likewise.
51186         * modules/unicase/u32-toupper-tests: Likewise.
51187         * modules/unicase/ulc-casecmp-tests: Likewise.
51188         * modules/unicase/ulc-casecoll-tests: Likewise.
51189         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
51190         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
51191         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
51192         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
51193         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
51194         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
51195         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
51196         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
51197         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
51198         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
51199         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
51200         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
51201         * modules/unictype/bidicategory-byname-tests: Likewise.
51202         * modules/unictype/bidicategory-name-tests: Likewise.
51203         * modules/unictype/bidicategory-of-tests: Likewise.
51204         * modules/unictype/bidicategory-test-tests: Likewise.
51205         * modules/unictype/block-list-tests: Likewise.
51206         * modules/unictype/block-of-tests: Likewise.
51207         * modules/unictype/block-test-tests: Likewise.
51208         * modules/unictype/category-C-tests: Likewise.
51209         * modules/unictype/category-Cc-tests: Likewise.
51210         * modules/unictype/category-Cf-tests: Likewise.
51211         * modules/unictype/category-Cn-tests: Likewise.
51212         * modules/unictype/category-Co-tests: Likewise.
51213         * modules/unictype/category-Cs-tests: Likewise.
51214         * modules/unictype/category-L-tests: Likewise.
51215         * modules/unictype/category-Ll-tests: Likewise.
51216         * modules/unictype/category-Lm-tests: Likewise.
51217         * modules/unictype/category-Lo-tests: Likewise.
51218         * modules/unictype/category-Lt-tests: Likewise.
51219         * modules/unictype/category-Lu-tests: Likewise.
51220         * modules/unictype/category-M-tests: Likewise.
51221         * modules/unictype/category-Mc-tests: Likewise.
51222         * modules/unictype/category-Me-tests: Likewise.
51223         * modules/unictype/category-Mn-tests: Likewise.
51224         * modules/unictype/category-N-tests: Likewise.
51225         * modules/unictype/category-Nd-tests: Likewise.
51226         * modules/unictype/category-Nl-tests: Likewise.
51227         * modules/unictype/category-No-tests: Likewise.
51228         * modules/unictype/category-P-tests: Likewise.
51229         * modules/unictype/category-Pc-tests: Likewise.
51230         * modules/unictype/category-Pd-tests: Likewise.
51231         * modules/unictype/category-Pe-tests: Likewise.
51232         * modules/unictype/category-Pf-tests: Likewise.
51233         * modules/unictype/category-Pi-tests: Likewise.
51234         * modules/unictype/category-Po-tests: Likewise.
51235         * modules/unictype/category-Ps-tests: Likewise.
51236         * modules/unictype/category-S-tests: Likewise.
51237         * modules/unictype/category-Sc-tests: Likewise.
51238         * modules/unictype/category-Sk-tests: Likewise.
51239         * modules/unictype/category-Sm-tests: Likewise.
51240         * modules/unictype/category-So-tests: Likewise.
51241         * modules/unictype/category-Z-tests: Likewise.
51242         * modules/unictype/category-Zl-tests: Likewise.
51243         * modules/unictype/category-Zp-tests: Likewise.
51244         * modules/unictype/category-Zs-tests: Likewise.
51245         * modules/unictype/category-and-not-tests: Likewise.
51246         * modules/unictype/category-and-tests: Likewise.
51247         * modules/unictype/category-byname-tests: Likewise.
51248         * modules/unictype/category-name-tests: Likewise.
51249         * modules/unictype/category-none-tests: Likewise.
51250         * modules/unictype/category-of-tests: Likewise.
51251         * modules/unictype/category-or-tests: Likewise.
51252         * modules/unictype/category-test-withtable-tests: Likewise.
51253         * modules/unictype/combining-class-tests: Likewise.
51254         * modules/unictype/ctype-alnum-tests: Likewise.
51255         * modules/unictype/ctype-alpha-tests: Likewise.
51256         * modules/unictype/ctype-blank-tests: Likewise.
51257         * modules/unictype/ctype-cntrl-tests: Likewise.
51258         * modules/unictype/ctype-digit-tests: Likewise.
51259         * modules/unictype/ctype-graph-tests: Likewise.
51260         * modules/unictype/ctype-lower-tests: Likewise.
51261         * modules/unictype/ctype-print-tests: Likewise.
51262         * modules/unictype/ctype-punct-tests: Likewise.
51263         * modules/unictype/ctype-space-tests: Likewise.
51264         * modules/unictype/ctype-upper-tests: Likewise.
51265         * modules/unictype/ctype-xdigit-tests: Likewise.
51266         * modules/unictype/decimal-digit-tests: Likewise.
51267         * modules/unictype/digit-tests: Likewise.
51268         * modules/unictype/mirror-tests: Likewise.
51269         * modules/unictype/numeric-tests: Likewise.
51270         * modules/unictype/property-alphabetic-tests: Likewise.
51271         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
51272         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
51273         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
51274         * modules/unictype/property-bidi-block-separator-tests: Likewise.
51275         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
51276         * modules/unictype/property-bidi-common-separator-tests: Likewise.
51277         * modules/unictype/property-bidi-control-tests: Likewise.
51278         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
51279         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
51280         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
51281         * modules/unictype/property-bidi-european-digit-tests: Likewise.
51282         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
51283         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
51284         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
51285         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
51286         * modules/unictype/property-bidi-pdf-tests: Likewise.
51287         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
51288         * modules/unictype/property-bidi-whitespace-tests: Likewise.
51289         * modules/unictype/property-byname-tests: Likewise.
51290         * modules/unictype/property-combining-tests: Likewise.
51291         * modules/unictype/property-composite-tests: Likewise.
51292         * modules/unictype/property-currency-symbol-tests: Likewise.
51293         * modules/unictype/property-dash-tests: Likewise.
51294         * modules/unictype/property-decimal-digit-tests: Likewise.
51295         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
51296         * modules/unictype/property-deprecated-tests: Likewise.
51297         * modules/unictype/property-diacritic-tests: Likewise.
51298         * modules/unictype/property-extender-tests: Likewise.
51299         * modules/unictype/property-format-control-tests: Likewise.
51300         * modules/unictype/property-grapheme-base-tests: Likewise.
51301         * modules/unictype/property-grapheme-extend-tests: Likewise.
51302         * modules/unictype/property-grapheme-link-tests: Likewise.
51303         * modules/unictype/property-hex-digit-tests: Likewise.
51304         * modules/unictype/property-hyphen-tests: Likewise.
51305         * modules/unictype/property-id-continue-tests: Likewise.
51306         * modules/unictype/property-id-start-tests: Likewise.
51307         * modules/unictype/property-ideographic-tests: Likewise.
51308         * modules/unictype/property-ids-binary-operator-tests: Likewise.
51309         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
51310         * modules/unictype/property-ignorable-control-tests: Likewise.
51311         * modules/unictype/property-iso-control-tests: Likewise.
51312         * modules/unictype/property-join-control-tests: Likewise.
51313         * modules/unictype/property-left-of-pair-tests: Likewise.
51314         * modules/unictype/property-line-separator-tests: Likewise.
51315         * modules/unictype/property-logical-order-exception-tests: Likewise.
51316         * modules/unictype/property-lowercase-tests: Likewise.
51317         * modules/unictype/property-math-tests: Likewise.
51318         * modules/unictype/property-non-break-tests: Likewise.
51319         * modules/unictype/property-not-a-character-tests: Likewise.
51320         * modules/unictype/property-numeric-tests: Likewise.
51321         * modules/unictype/property-other-alphabetic-tests: Likewise.
51322         * modules/unictype/property-other-default-ignorable-code-point-tests:
51323         Likewise.
51324         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
51325         * modules/unictype/property-other-id-continue-tests: Likewise.
51326         * modules/unictype/property-other-id-start-tests: Likewise.
51327         * modules/unictype/property-other-lowercase-tests: Likewise.
51328         * modules/unictype/property-other-math-tests: Likewise.
51329         * modules/unictype/property-other-uppercase-tests: Likewise.
51330         * modules/unictype/property-paired-punctuation-tests: Likewise.
51331         * modules/unictype/property-paragraph-separator-tests: Likewise.
51332         * modules/unictype/property-pattern-syntax-tests: Likewise.
51333         * modules/unictype/property-pattern-white-space-tests: Likewise.
51334         * modules/unictype/property-private-use-tests: Likewise.
51335         * modules/unictype/property-punctuation-tests: Likewise.
51336         * modules/unictype/property-quotation-mark-tests: Likewise.
51337         * modules/unictype/property-radical-tests: Likewise.
51338         * modules/unictype/property-sentence-terminal-tests: Likewise.
51339         * modules/unictype/property-soft-dotted-tests: Likewise.
51340         * modules/unictype/property-space-tests: Likewise.
51341         * modules/unictype/property-terminal-punctuation-tests: Likewise.
51342         * modules/unictype/property-test-tests: Likewise.
51343         * modules/unictype/property-titlecase-tests: Likewise.
51344         * modules/unictype/property-unassigned-code-value-tests: Likewise.
51345         * modules/unictype/property-unified-ideograph-tests: Likewise.
51346         * modules/unictype/property-uppercase-tests: Likewise.
51347         * modules/unictype/property-variation-selector-tests: Likewise.
51348         * modules/unictype/property-white-space-tests: Likewise.
51349         * modules/unictype/property-xid-continue-tests: Likewise.
51350         * modules/unictype/property-xid-start-tests: Likewise.
51351         * modules/unictype/property-zero-width-tests: Likewise.
51352         * modules/unictype/scripts-tests: Likewise.
51353         * modules/unictype/syntax-c-ident-tests: Likewise.
51354         * modules/unictype/syntax-c-whitespace-tests: Likewise.
51355         * modules/unictype/syntax-java-ident-tests: Likewise.
51356         * modules/unictype/syntax-java-whitespace-tests: Likewise.
51357         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
51358         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
51359         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
51360         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
51361         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
51362         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
51363         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
51364         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
51365         * modules/uniname/uniname-tests: Likewise.
51366         * modules/uninorm/canonical-decomposition-tests: Likewise.
51367         * modules/uninorm/compat-decomposition-tests: Likewise.
51368         * modules/uninorm/composition-tests: Likewise.
51369         * modules/uninorm/decomposing-form-tests: Likewise.
51370         * modules/uninorm/decomposition-tests: Likewise.
51371         * modules/uninorm/filter-tests: Likewise.
51372         * modules/uninorm/nfc-tests: Likewise.
51373         * modules/uninorm/nfd-tests: Likewise.
51374         * modules/uninorm/nfkc-tests: Likewise.
51375         * modules/uninorm/nfkd-tests: Likewise.
51376         * modules/uninorm/u8-normcmp-tests: Likewise.
51377         * modules/uninorm/u8-normcoll-tests: Likewise.
51378         * modules/uninorm/u16-normcmp-tests: Likewise.
51379         * modules/uninorm/u16-normcoll-tests: Likewise.
51380         * modules/uninorm/u32-normcmp-tests: Likewise.
51381         * modules/uninorm/u32-normcoll-tests: Likewise.
51382         * modules/unistdio/u8-asnprintf-tests: Likewise.
51383         * modules/unistdio/u8-vasnprintf-tests: Likewise.
51384         * modules/unistdio/u8-vasprintf-tests: Likewise.
51385         * modules/unistdio/u8-vsnprintf-tests: Likewise.
51386         * modules/unistdio/u8-vsprintf-tests: Likewise.
51387         * modules/unistdio/u16-asnprintf-tests: Likewise.
51388         * modules/unistdio/u16-vasnprintf-tests: Likewise.
51389         * modules/unistdio/u16-vasprintf-tests: Likewise.
51390         * modules/unistdio/u16-vsnprintf-tests: Likewise.
51391         * modules/unistdio/u16-vsprintf-tests: Likewise.
51392         * modules/unistdio/u32-asnprintf-tests: Likewise.
51393         * modules/unistdio/u32-vasnprintf-tests: Likewise.
51394         * modules/unistdio/u32-vasprintf-tests: Likewise.
51395         * modules/unistdio/u32-vsnprintf-tests: Likewise.
51396         * modules/unistdio/u32-vsprintf-tests: Likewise.
51397         * modules/unistdio/ulc-asnprintf-tests: Likewise.
51398         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
51399         * modules/unistdio/ulc-vasprintf-tests: Likewise.
51400         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
51401         * modules/unistdio/ulc-vsprintf-tests: Likewise.
51402         * modules/unistr/u8-check-tests: Likewise.
51403         * modules/unistr/u8-chr-tests: Likewise.
51404         * modules/unistr/u8-cmp-tests: Likewise.
51405         * modules/unistr/u8-cmp2-tests: Likewise.
51406         * modules/unistr/u8-cpy-alloc-tests: Likewise.
51407         * modules/unistr/u8-cpy-tests: Likewise.
51408         * modules/unistr/u8-mblen-tests: Likewise.
51409         * modules/unistr/u8-mbsnlen-tests: Likewise.
51410         * modules/unistr/u8-mbtouc-tests: Likewise.
51411         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
51412         * modules/unistr/u8-mbtoucr-tests: Likewise.
51413         * modules/unistr/u8-move-tests: Likewise.
51414         * modules/unistr/u8-next-tests: Likewise.
51415         * modules/unistr/u8-prev-tests: Likewise.
51416         * modules/unistr/u8-set-tests: Likewise.
51417         * modules/unistr/u8-stpcpy-tests: Likewise.
51418         * modules/unistr/u8-stpncpy-tests: Likewise.
51419         * modules/unistr/u8-strcat-tests: Likewise.
51420         * modules/unistr/u8-strcmp-tests: Likewise.
51421         * modules/unistr/u8-strcoll-tests: Likewise.
51422         * modules/unistr/u8-strcpy-tests: Likewise.
51423         * modules/unistr/u8-strdup-tests: Likewise.
51424         * modules/unistr/u8-strlen-tests: Likewise.
51425         * modules/unistr/u8-strmblen-tests: Likewise.
51426         * modules/unistr/u8-strmbtouc-tests: Likewise.
51427         * modules/unistr/u8-strncat-tests: Likewise.
51428         * modules/unistr/u8-strncmp-tests: Likewise.
51429         * modules/unistr/u8-strncpy-tests: Likewise.
51430         * modules/unistr/u8-strnlen-tests: Likewise.
51431         * modules/unistr/u8-to-u16-tests: Likewise.
51432         * modules/unistr/u8-to-u32-tests: Likewise.
51433         * modules/unistr/u8-uctomb-tests: Likewise.
51434         * modules/unistr/u16-check-tests: Likewise.
51435         * modules/unistr/u16-chr-tests: Likewise.
51436         * modules/unistr/u16-cmp-tests: Likewise.
51437         * modules/unistr/u16-cmp2-tests: Likewise.
51438         * modules/unistr/u16-cpy-alloc-tests: Likewise.
51439         * modules/unistr/u16-cpy-tests: Likewise.
51440         * modules/unistr/u16-mblen-tests: Likewise.
51441         * modules/unistr/u16-mbsnlen-tests: Likewise.
51442         * modules/unistr/u16-mbtouc-tests: Likewise.
51443         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
51444         * modules/unistr/u16-mbtoucr-tests: Likewise.
51445         * modules/unistr/u16-move-tests: Likewise.
51446         * modules/unistr/u16-next-tests: Likewise.
51447         * modules/unistr/u16-prev-tests: Likewise.
51448         * modules/unistr/u16-set-tests: Likewise.
51449         * modules/unistr/u16-stpcpy-tests: Likewise.
51450         * modules/unistr/u16-stpncpy-tests: Likewise.
51451         * modules/unistr/u16-strcat-tests: Likewise.
51452         * modules/unistr/u16-strcmp-tests: Likewise.
51453         * modules/unistr/u16-strcoll-tests: Likewise.
51454         * modules/unistr/u16-strcpy-tests: Likewise.
51455         * modules/unistr/u16-strdup-tests: Likewise.
51456         * modules/unistr/u16-strlen-tests: Likewise.
51457         * modules/unistr/u16-strmblen-tests: Likewise.
51458         * modules/unistr/u16-strmbtouc-tests: Likewise.
51459         * modules/unistr/u16-strncat-tests: Likewise.
51460         * modules/unistr/u16-strncmp-tests: Likewise.
51461         * modules/unistr/u16-strncpy-tests: Likewise.
51462         * modules/unistr/u16-strnlen-tests: Likewise.
51463         * modules/unistr/u16-to-u32-tests: Likewise.
51464         * modules/unistr/u16-to-u8-tests: Likewise.
51465         * modules/unistr/u16-uctomb-tests: Likewise.
51466         * modules/unistr/u32-check-tests: Likewise.
51467         * modules/unistr/u32-chr-tests: Likewise.
51468         * modules/unistr/u32-cmp-tests: Likewise.
51469         * modules/unistr/u32-cmp2-tests: Likewise.
51470         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51471         * modules/unistr/u32-cpy-tests: Likewise.
51472         * modules/unistr/u32-mblen-tests: Likewise.
51473         * modules/unistr/u32-mbsnlen-tests: Likewise.
51474         * modules/unistr/u32-mbtouc-tests: Likewise.
51475         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51476         * modules/unistr/u32-mbtoucr-tests: Likewise.
51477         * modules/unistr/u32-move-tests: Likewise.
51478         * modules/unistr/u32-next-tests: Likewise.
51479         * modules/unistr/u32-prev-tests: Likewise.
51480         * modules/unistr/u32-set-tests: Likewise.
51481         * modules/unistr/u32-stpcpy-tests: Likewise.
51482         * modules/unistr/u32-stpncpy-tests: Likewise.
51483         * modules/unistr/u32-strcat-tests: Likewise.
51484         * modules/unistr/u32-strcmp-tests: Likewise.
51485         * modules/unistr/u32-strcoll-tests: Likewise.
51486         * modules/unistr/u32-strcpy-tests: Likewise.
51487         * modules/unistr/u32-strdup-tests: Likewise.
51488         * modules/unistr/u32-strlen-tests: Likewise.
51489         * modules/unistr/u32-strmblen-tests: Likewise.
51490         * modules/unistr/u32-strmbtouc-tests: Likewise.
51491         * modules/unistr/u32-strncat-tests: Likewise.
51492         * modules/unistr/u32-strncmp-tests: Likewise.
51493         * modules/unistr/u32-strncpy-tests: Likewise.
51494         * modules/unistr/u32-strnlen-tests: Likewise.
51495         * modules/unistr/u32-to-u16-tests: Likewise.
51496         * modules/unistr/u32-to-u8-tests: Likewise.
51497         * modules/unistr/u32-uctomb-tests: Likewise.
51498         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51499         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51500         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51501         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51502         * modules/uniwidth/u8-strwidth-tests: Likewise.
51503         * modules/uniwidth/u8-width-tests: Likewise.
51504         * modules/uniwidth/u16-strwidth-tests: Likewise.
51505         * modules/uniwidth/u16-width-tests: Likewise.
51506         * modules/uniwidth/u32-strwidth-tests: Likewise.
51507         * modules/uniwidth/u32-width-tests: Likewise.
51508         * modules/uniwidth/width-tests: Likewise.
51510 2010-05-18  Richard Jones  <rjones@redhat.com>
51512         doc: users.txt: list hivex
51513         * users.txt: Add hivex.
51515 2010-05-18  Richard Jones  <rjones@redhat.com>
51517         doc: users.txt: list febootstrap
51518         * users.txt: Add febootstrap.
51520 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51522         bootstrap: fix an error when gnulib is not used as a git submodule
51523         * build-aux/bootstrap (gnulib_path): If its length is zero then
51524         assign "gnulib" to it.
51525         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51527 2010-05-16  Bruno Haible  <bruno@clisp.org>
51529         Avoid autoconf warnings about AM_ICONV.
51530         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51531         2.64.
51533 2010-05-16  Bruno Haible  <bruno@clisp.org>
51535         absolute-header: Make the macro usable in more situations.
51536         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51537         from gl_ABSOLUTE_HEADER.
51538         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51540 2010-05-16  James Youngman  <jay@gnu.org>
51542         doc: update users.txt
51543         * users.txt: Add CSSC.
51545 2010-05-16  Jim Meyering  <meyering@redhat.com>
51547         init.sh: fix an error in the previous change; add more comments
51548         * tests/init.sh: Compare exit code in loop against 9, not 2.
51549         Patch by Bruno Haible.
51550         Make the two tests more similar by adding an empty "then" clause.
51551         Add comments.
51553         init.sh: avoid unnecessary shell re-exec
51554         * tests/init.sh: Improve the re-exec-required check to first test the
51555         current shell.  If it passes the test, do not search for a shell that
51556         does pass, and do not re-exec.  This test is particularly contorted to
51557         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51558         of $(...) evokes a syntax error and causes immediate shell exit with
51559         status 2.  Bruno Haible reported that the re-exec made it impossible
51560         to single-step through any init.sh-using script.
51562 2010-05-16  Bruno Haible  <bruno@clisp.org>
51564         Fix collision between gnulib's and libintl's printf replacements.
51565         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51566         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51567         (printf): When using GNU C, map the __printf__ function to rpl_printf
51568         via __asm__. When not using GNU C, define rpl_printf instead of
51569         __printf__.
51570         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51571         commit.
51572         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51573         commit.
51574         * m4/asm-underscore.m4: New file.
51575         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51576         * modules/stdio (Files): Add m4/asm-underscore.m4.
51577         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51578         Reported by Ben Pfaff.
51580 2010-05-16  Bruno Haible  <bruno@clisp.org>
51582         verify: Avoid skipping the test on openSUSE 11.0.
51583         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51585 2010-05-13  Bruno Haible  <bruno@clisp.org>
51587         Avoid useless warnings from G++.
51588         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51589         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51590         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51592 2010-05-11  Jim Meyering  <meyering@redhat.com>
51594         maint.mk: tweak preceding change
51595         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51596         regexps tighter by anchoring at EOL, and make the new group "shy"
51597         for slightly decreased overhead.
51599 2010-05-11  Eric Blake  <eblake@redhat.com>
51601         maint.mk: gnulib doesn't guarantee NSIG
51602         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51604 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51606         test-pwrite.c: Remove unused variable declaration.
51607         * tests/test-pwrite.c (main): Remove read_buf declaration.
51609         Remove useless test-pwrite.sh file.
51610         * tests/test-pwrite.sh: Delete file.
51611         * modules/pwrite-tests: Remove references.
51612         Reported by Bruno Haible.
51614 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51616         init.sh: fix a typo
51617         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51619 2010-05-10  Jim Meyering  <meyering@redhat.com>
51621         maint.mk: avoid using a temporary file in the always-defined-macros check
51622         * top/maint.mk (.re-defmac): Remove rule.
51623         (gl_trap_): Remove definition.
51624         (sc_prohibit_always-defined_macros): Rewrite not to create and
51625         depend on a temporary file.  Instead, depend on GNU grep's ability
51626         to read a list of regular expressions from stdin when given "-f -".
51628 2010-05-09  Bruno Haible  <bruno@clisp.org>
51630         Update to GNU gettext 0.18, part 1.
51631         * m4/gettext.m4: Update to GNU gettext 0.18.
51632         * m4/intl.m4: Likewise.
51633         * m4/po.m4: Likewise.
51634         * modules/gettext (Files): Add m4/fcntl-o.m4.
51635         (configure.ac): Require gettext infrastructure from version 0.18.
51637 2010-05-09  Jim Meyering  <meyering@redhat.com>
51639         init.sh: enable MALLOC_PERTURB_
51640         * tests/init.sh: Enable glibc's malloc-perturbing option.
51642         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51643         With my recent change in init.sh from the two-line form:
51644             -#   : ${srcdir=.}
51645             -#   . "$srcdir/init.sh"; path_prepend_ .
51646             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51647         I noticed that using the one-line form would cause this test
51648         to fail with a false-positive, or to stop working altogether,
51649         depending on whether help-version changed or all the tests did.
51650         * top/maint.mk (_hv_regex): Remove this definition.
51651         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51652         (_hv_regex_strong): Use a stronger regex to check for conformance.
51653         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51654         Give a separate diagnostic for lack of conforming use.
51656         maint.mk: prohibit definition of symbols defined by gnulib
51657         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51658         definition of symbols defined by gnulib.
51660 2010-05-09  Bruno Haible  <bruno@clisp.org>
51662         acl: Avoid test failure on Cygwin-hosted mingw.
51663         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51665 2010-05-09  Bruno Haible  <bruno@clisp.org>
51667         error: Use system's fcntl function.
51668         * lib/error.c (fcntl): Undefine.
51670 2010-05-09  Jim Meyering  <meyering@redhat.com>
51672         verify: adjust formatting to be more consistent
51673         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51674         argument-list '('s, and after one comma.
51676 2010-05-09  Bruno Haible  <bruno@clisp.org>
51678         error: More reliable output on mingw.
51679         * lib/error.c: Include <windows.h>.
51680         (is_open): New function.
51681         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51682         defined.
51684 2010-05-09  Bruno Haible  <bruno@clisp.org>
51686         vasnprintf: Fix syntax errors in libintl build on mingw.
51687         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51688         pad_ourselves and prec_ourselves after use.
51690 2010-05-08  Bruno Haible  <bruno@clisp.org>
51692         * lib/config.charset: Update comments for Cygwin 1.7.
51693         * lib/localcharset.c: Likewise.
51695 2010-05-07  Jim Meyering  <meyering@redhat.com>
51697         init.sh: improve comments
51698         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51699         . "${srcdir=.}/init.sh"; path_prepend_ .
51700         Add a note about path_prepend_ and the alternative of using
51701         TESTS_ENVIRONMENT.
51703 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51705         exclude: Unescape hashed patterns in wildcard mode.
51706         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51707         to the hash list.
51708         * tests/test-exclude8.sh: New test case.
51709         * modules/exclude-tests: Add new test.
51711 2010-05-05  Eric Blake  <eblake@redhat.com>
51713         verify: automate tests
51714         * modules/verify-tests: New module.
51715         * tests/test-verify.sh: New file.
51716         * tests/test-verify.c: Guard each negative test with a unique id.
51717         Also avoid warning about unused left hand of comma expressions.
51719 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51721         Further improvements to verify.h, suggested by Eric Blake.
51722         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51723         the GL_* versions, to avoid collision with OpenGL.
51724         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51725         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51726         than testing merely whether it's defined.
51728         Modify verify.h to pacify gcc -Wredundant_decls.
51729         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51730         These use the prefix "GL_" since they're likely to be useful elsewhere.
51731         We may need to break them out into a different .h file.
51732         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51733         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51734         of verify_function__.
51736 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51738         Tests for module pwrite.
51739         * modules/pwrite-tests: New file.
51740         * tests/test-pwrite.sh: New file.
51741         * tests/test-pwrite.c: New file.
51743         New module pwrite.
51744         * lib/unistd.in.h (pwrite): New declaration.
51745         * lib/pwrite.c: New file, from glibc with modifications.
51746         * m4/pwrite.m4: New file.
51747         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51748         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51749         REPLACE_PWRITE.
51750         * modules/pwrite: New file.
51751         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51752         REPLACE_PWRITE.
51753         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51754         * doc/posix-functions/pwrite.texi: Mention the new module.
51756 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51758         pread: Update documentation.
51759         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51761 2010-05-04  Eric Blake  <eblake@redhat.com>
51763         docs: update cygwin progress
51764         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51765         this bug.
51766         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51767         Added in cygwin 1.7.2.
51768         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51769         Likewise.
51770         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51771         Likewise.
51772         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51773         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51774         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51775         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51776         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51777         Mention nproc module.
51778         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51779         bug in cygwin 1.7.5 addition.
51780         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51781         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51782         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51783         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51784         1.7.5.
51785         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51786         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51787         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51788         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51789         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51790         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51791         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51792         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51793         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51794         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51795         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51796         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51797         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51798         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51799         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51800         Likewise.
51801         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51802         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51803         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51804         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51805         Likewise.
51806         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51807         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51808         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51809         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51810         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51811         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51812         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51813         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51814         Likewise.
51815         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51816         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51817         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51818         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51819         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51820         Likewise.
51821         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51822         Likewise.
51823         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51824         Likewise.
51825         * doc/glibc-functions/xdrrec_endofrecord.texi
51826         (xdrrec_endofrecord): Likewise.
51827         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51828         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51829         Likewise.
51830         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51831         Likewise.
51833 2010-05-04  Jim Meyering  <meyering@redhat.com>
51835         gendocs.sh: make its "-s FILE" option more useful
51836         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51837         $PACKAGE to reflect the probably-different basename of "FILE".
51839 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51841         bootstrap: don't ignore download_po_files failure
51842         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51843         failure.
51845 2010-05-03  Jim Meyering  <meyering@redhat.com>
51847         maint.mk: allow to pass options to gendocs.sh
51848         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51849         (gendocs_options_): New overridable variable.
51851         gnu-web-doc-update: don't ignore configure or build failure
51852         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51854         announce-gen: backslash-escape '@'s in --help output
51855         * build-aux/announce-gen: Fix syntax errors.
51857         maint.mk, announce-gen: allow project-specific announcement mail headers
51858         * top/maint.mk (translation_project_): Define default.
51859         (announcement_Cc_, announcement_mail_headers_): Likewise.
51860         (announcement): Invoke announce-gen with new --mail-headers option.
51861         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51863         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51864         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51865         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51866         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51867         line in the "err2" output file when running "make check" in verbose
51868         mode (i.e., with set -x enabled).
51870 2010-05-03  Bruno Haible  <bruno@clisp.org>
51872         wctob: Fix for weird platforms.
51873         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51874         argument value.
51876 2010-05-03  Jim Meyering  <meyering@redhat.com>
51878         maint.mk: prohibit unwarranted use of <strings.h>
51879         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51880         strings.h in a file that does not also use strcasecmp, strncasecmp,
51881         ffs or ffsll.
51883         maint.mk: remove obsolete comments
51884         * top/maint.mk: Remove stale, commented-out rules.
51886 2010-05-02  Bruno Haible  <bruno@clisp.org>
51888         wcwidth: Declare also when it's aliased.
51889         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51890         macro.
51892 2010-05-02  Bruno Haible  <bruno@clisp.org>
51894         Fix regression from 2010-04-25.
51895         * gnulib-tool (func_modules_transitive_closure): Check the status of
51896         all modules, not only of the tests that are of the form foo-tests where
51897         foo is a module.
51899 2010-05-02  Bruno Haible  <bruno@clisp.org>
51901         wctob: Work around nasty Cygwin 1.7.2 bug.
51902         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51903         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51905 2010-05-01  Bruno Haible  <bruno@clisp.org>
51907         fpurge: Sharper test.
51908         * tests/test-fpurge.c (main): Add one more ftell check.
51909         * modules/fpurge-tests (Depends-on): Add ftell.
51910         Suggested by Eric Blake.
51912 2010-05-01  Bruno Haible  <bruno@clisp.org>
51914         ftello: Another test.
51915         * tests/test-ftello3.c: New file.
51916         * modules/ftello-tests (Files): Add it.
51917         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51918         MOSTLYCLEANFILES.
51920         ftell: Another test.
51921         * tests/test-ftell3.c: New file.
51922         * modules/ftell-tests (Files): Add it.
51923         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51924         MOSTLYCLEANFILES.
51926 2010-05-01  Bruno Haible  <bruno@clisp.org>
51928         ftell, ftello: Work around Solaris bug.
51929         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51930         * lib/ftello.c: Include stdio-impl.h.
51931         (ftello): On Solaris, when _IOWRT is set, compute the result without
51932         looking at _IOREAD.
51933         * modules/ftello (Files): Add lib/stdio-impl.h.
51934         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51935         * doc/posix-functions/ftello.texi: Likewise.
51936         Reported by Eric Blake.
51938 2010-05-01  Bruno Haible  <bruno@clisp.org>
51940         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51941         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51942         the _IOWRT flag is also set.
51944 2010-05-01  Bruno Haible  <bruno@clisp.org>
51946         Fix doc about a HP-UX stdio bug.
51947         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51948         * doc/posix-functions/ftello.texi: Likewise.
51950 2010-05-01  Bruno Haible  <bruno@clisp.org>
51952         lseek test: Fix failure on Solaris.
51953         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51954         output.
51956 2010-04-30  Jim Meyering  <meyering@redhat.com>
51958         bootstrap: don't ignore failure to generate po*/Makevars
51959         * build-aux/bootstrap (with_gettext): Don't ignore failure
51960         to create po/Makevars or runtime-po/Makevars.
51962 2010-04-29  Eric Blake  <eblake@redhat.com>
51964         headers: relax license to LGPLv2+
51965         * modules/fcntl-h (License): Relax license.
51966         * modules/getopt-posix (License): Likewise.
51967         * modules/locale (License): Likewise.
51968         * modules/math (License): Likewise.
51969         * modules/pty (License): Likewise.
51970         * modules/sched (License): Likewise.
51971         * modules/search (License): Likewise.
51972         * modules/spawn (License): Likewise.
51973         * modules/stdarg (License): Likewise.
51974         * modules/sysexits (License): Likewise.
51976 2010-04-29  Jim Meyering  <meyering@redhat.com>
51978         inttypes: relax license to LGPLv2+
51979         * modules/inttypes (License): Relax license.
51981 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51983         * top/maint.mk (indent): Run twice to produce idempotent results.
51985 2010-04-28  Bruno Haible  <bruno@clisp.org>
51987         getdate: Generate getdate.c in the source directory.
51988         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51989         MOSTLYCLEANFILES.
51990         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51992 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51994         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51995         is not declared as a const *; avoid warnings in that case.
51997 2010-04-28  Eric Blake  <eblake@redhat.com>
51999         canonicalize-lgpl: avoid compiler warning
52000         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
52001         declaration' / 'extraneous semicolon' warning with some compilers.
52002         Reported by Andreas Gruenbacher.
52004 2010-04-28  Jim Meyering  <meyering@redhat.com>
52006         init.sh: ensure a more reliable exit status when exiting via trap
52007         * tests/init.sh (setup_): Don't rely on $? in signal handler.
52008         Inspired by patches from Dmitry V. Levin.
52009         Also trap on signal 3 (SIGQUIT).
52011 2010-04-27  Bruno Haible  <bruno@clisp.org>
52013         Update doc about utimes().
52014         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
52015         'utimens' module.
52016         Reported by Andreas Gruenbacher <agruen@suse.de>.
52018 2010-04-27  Eric Blake  <eblake@redhat.com>
52020         full-read, full-write: relax license
52021         * modules/full-read (License): Drop to LGPLv2+.
52022         * modules/full-write (License): Likewise.
52023         * modules/safe-read (License): Likewise.
52024         * modules/safe-write (License): Likewise.
52026         pthread: mention library for linking
52027         * modules/pthread (Link): Mention $(LIB_PTHREAD).
52029 2010-04-27  Jim Meyering  <meyering@redhat.com>
52031         maint.mk: fix a bug introduced in last change
52032         * top/maint.mk (gl_assured_headers_): Now that all names are on
52033         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
52034         is not anchored to end of word, it should be adequate.
52036         maint.mk: avoid side-effect in latest syntax-check
52037         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
52038         to run commands via $(shell...), and hence to incur cost only when
52039         the new rule is actually run.
52041         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
52042         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
52043         and use that to create a regexp used to detect all #if HAVE_..._H uses.
52044         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
52045         (gl_assured_headers_, az_, AZ_): Define.
52046         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
52048 2010-04-26  Jim Meyering  <jim@meyering.net>
52049             Bruno Haible  <bruno@clisp.org>
52051         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
52052         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
52053         Prompted by an exchange with Gilles Espinasse.
52055 2010-04-26  Jim Meyering  <meyering@redhat.com>
52057         git-version-gen: aesthetic tweak
52058         * build-aux/git-version-gen: Use "$nl" rather than a literal,
52059         so that the command remains on a single line.
52061 2010-04-26  Eric Blake  <eblake@redhat.com>
52063         git-version-gen: allow use on EBCDIC hosts
52064         * build-aux/git-version-gen (dirty): Use literal rather than tying
52065         ourselves to ascii.
52066         Reported by Steve Goetze.
52068 2010-04-25  Bruno Haible  <bruno@clisp.org>
52070         netdb: Add support for GNULIB_POSIXCHECK.
52071         * lib/netdb.in.h: Include warn-on-use.h.
52072         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
52073         functions are used when GNULIB_POSIXCHECK is defined and the
52074         getaddrinfo module is not in use.
52075         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
52076         freeaddrinfo, gai_strerror, getnameinfo are declared.
52077         * modules/netdb (Depends-on): Add warn-on-use.
52078         (Makefile.am): Include warn-on-use.h in netdb.h.
52080 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
52082         build: avoid "make check" failure without .git/ directory
52083         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
52084         there is no .git/ directory.
52086 2010-04-25  Bruno Haible  <bruno@clisp.org>
52088         ptsname: Fix misuse of ttyname_r.
52089         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
52090         of errno.
52092 2010-04-25  Bruno Haible  <bruno@clisp.org>
52094         ttyname_r: Make it work on Solaris 10.
52095         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
52096         if the system function has the POSIX declaration. Test whether the
52097         function fails if the buffer is less than 128 bytes large.
52098         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
52099         system's ttyname_r function. Provide a reasonably large buffer.
52100         * modules/ttyname_r (Depends-on): Add extensions.
52101         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
52103 2010-04-25  Bruno Haible  <bruno@clisp.org>
52105         Use the 'extensions' module for some more functions on Solaris.
52106         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
52107         module.
52108         * doc/posix-functions/ctime_r.texi: Likewise.
52109         * doc/posix-functions/getgrgid_r.texi: Likewise.
52110         * doc/posix-functions/getgrnam_r.texi: Likewise.
52111         * doc/posix-functions/getpwnam_r.texi: Likewise.
52112         * doc/posix-functions/getpwuid_r.texi: Likewise.
52113         * doc/posix-functions/readdir_r.texi: Likewise.
52114         * doc/posix-functions/sigwait.texi: Likewise.
52115         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
52116         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
52118 2010-04-25  Bruno Haible  <bruno@clisp.org>
52120         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
52121         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
52122         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
52123         * lib/ttyname_r.c: Include <limits.h>.
52124         (ttyname_r): Define using the system's ttyname_r function, if it exists
52125         and not on Solaris.
52126         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
52127         set.
52128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
52129         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
52130         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
52131         Reported by Simon Josefsson.
52133 2010-04-25  Bruno Haible  <bruno@clisp.org>
52135         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
52136         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52137         * doc/posix-functions/ctime_r.texi: Likewise.
52138         * doc/posix-functions/getgrgid_r.texi: Likewise.
52139         * doc/posix-functions/getgrnam_r.texi: Likewise.
52140         * doc/posix-functions/getlogin_r.texi: Likewise.
52141         * doc/posix-functions/getpwnam_r.texi: Likewise.
52142         * doc/posix-functions/getpwuid_r.texi: Likewise.
52143         * doc/posix-functions/readdir_r.texi: Likewise.
52144         * doc/posix-functions/sigwait.texi: Likewise.
52145         * doc/posix-functions/ttyname_r.texi: Likewise.
52146         Reported by Simon Josefsson.
52148 2010-04-25  Bruno Haible  <bruno@clisp.org>
52150         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
52151         * gnulib-tool (func_usage): Document that --with-*-tests options apply
52152         also to --create-testdir.
52153         (func_acceptable): Don't consider the status of *-tests modules here.
52154         (func_modules_transitive_closure): Consider it here, before including a
52155         test module.
52156         (func_import, func_create_testdir): Set inc_all_direct_tests,
52157         inc_all_indirect_tests.
52158         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
52159         --create-testdir and --create-megatestdir.
52161 2010-04-25  Bruno Haible  <bruno@clisp.org>
52163         gnulib-tool: Add --without-*-tests options.
52164         * gnulib-tool (func_usage): Document the --without-*-tests options.
52165         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
52166         excl_unportable_tests): New variables.
52167         Fail if they are specified with --import or --update.
52168         (func_acceptable): Respect the excl_*_tests variables.
52169         (func_import): Set the excl_*_tests variables to empty.
52171 2010-04-25  Simon Josefsson  <simon@josefsson.org>
52172             Bruno Haible  <bruno@clisp.org>
52174         Work around a MacOS X 10.4 bug with openpty.
52175         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
52176         * tests/test-openpty.c (main): Close the master side explicitly.
52178 2010-04-25  Bruno Haible  <bruno@clisp.org>
52180         strnlen: Fix a C++ test error on MacOS X and Solaris.
52181         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
52182         the function is not declared.
52183         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
52184         Simon Josefsson.
52186 2010-04-24  Bruno Haible  <bruno@clisp.org>
52188         Avoid a gcc warning.
52189         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
52190         of correct type for %08lx directive.
52191         Reported by Eric Blake.
52193 2010-04-24  Bruno Haible  <bruno@clisp.org>
52195         vasnprintf: Correct errno value in case of out-of-memory.
52196         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
52197         or sprintf. Use the errno value from SNPRINTF or sprintf.
52198         Reported by Ian Beckwith <ianb@erislabs.net>.
52200 2010-04-24  Bruno Haible  <bruno@clisp.org>
52202         ansi-c++-opt: Find correct compiler when cross-compiling.
52203         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
52204         AC_CHECK_PROGS.
52205         Reported by Simon Josefsson.
52207 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
52209         vc-list-files: Add support for subversion
52210         * build-aux/vc-list-files: Use "svn list" to generate the list of
52211         files controlled by subversion.
52213 2010-04-23  Jim Meyering  <meyering@redhat.com>
52215         vc-list-files tests: convert to use init.sh
52216         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
52217         path_prepend_.
52218         Use Exit, not exit.
52219         Use skip_ rather than open coding it.
52220         Remove trap set-up and compare definitions.
52221         * tests/test-vc-list-files-git.sh: Likewise.
52222         * modules/vc-list-files-tests (Files): Add tests/init.sh.
52224 2010-04-22  Simon Josefsson  <simon@josefsson.org>
52226         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
52227         backup files.
52229 2010-04-21  Simon Josefsson  <simon@josefsson.org>
52231         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
52233 2010-04-20  Eric Blake  <eblake@redhat.com>
52235         tests: be robust to ignored SIGPIPE
52236         * tests/test-select-in.sh: Consume all output.
52237         * tests/test-lseek.sh: Check correct exit status, while avoiding
52238         EPIPE.
52240 2010-04-20  Simon Josefsson  <simon@josefsson.org>
52241             Bruno Haible  <bruno@clisp.org>
52243         visibility: Don't use -fvisibility if it leads to a warning.
52244         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
52245         yes, don't pretend that visibility works if it leads to a warning.
52246         Reported by Mike Gran <spk121@yahoo.com>.
52248 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
52250         * build-aux/bootstrap: Use "git -h" for testing for supported options
52251         instead of "git --help".  The short-form option only shows a summary,
52252         and doesn't layout the full man page.  Grep for the full option name
52253         in the summary, too.
52255 2010-04-19  Bruno Haible  <bruno@clisp.org>
52257         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
52258         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
52259         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
52260         mention of RELOCATABLE_STRIP.
52261         Reported by Sylvain Beucler <beuc@beuc.net>.
52263 2010-04-19  Bruno Haible  <bruno@clisp.org>
52265         * lib/diffseq.h: Fix typo in comment.
52266         Reported by Eric Blake.
52268 2010-04-19  Bruno Haible  <bruno@clisp.org>
52270         ioctl: Move autoconf macro to a .m4 file.
52271         * m4/ioctl.m4: New file, extracted from modules/ioctl.
52272         * modules/ioctl (Files): Add it.
52273         (configure.ac): Simply invoke gl_FUNC_IOCTL.
52274         Reported by Ian Beckwith <ianb@erislabs.net>.
52276 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
52277             Bruno Haible  <bruno@clisp.org>
52279         diffseq: Accommodate use-case with abstract arrays.
52280         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
52281         is not defined.
52282         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
52283         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
52285 2010-04-18  Bruno Haible  <bruno@clisp.org>
52287         * doc/posix-headers/stdbool.texi: More precise wording.
52289 2010-04-17  Jim Meyering  <meyering@redhat.com>
52291         maint.mk: use gnu-style indentation in an embedded perl script
52292         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
52293         Rename variable: s/two/last_two_bytes/
52295 2010-04-16  Eric Blake  <eblake@redhat.com>
52297         test-stdbool: skip test that fails with Solaris CC
52298         * tests/test-stdbool.c (f): Skip test that causes compilation
52299         error under buggy C++ compiler.
52300         * lib/stdbool.in.h: Document the limitation.
52301         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
52303         setenv: allow compilation with C++
52304         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
52305         register keyword.
52307         stdint: allow test to pass with C++
52308         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
52310         getopt: allow compilation with C++
52311         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
52312         struct.
52313         * lib/getopt.c (_getopt_internal_r): Use correct type.
52314         Reported by Dagobert Michelson, via Joel E. Denny.
52316 2010-04-16  Bruno Haible  <bruno@clisp.org>
52318         Override netdb.h always.
52319         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
52320         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
52321         Reported by Ludovic Courtès <ludo@gnu.org>.
52323 2010-04-15  Bruno Haible  <bruno@clisp.org>
52325         openpty: Fix mistake from 2010-03-21.
52326         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
52327         Reported by Simon Josefsson.
52329 2010-04-15  Eric Blake  <eblake@redhat.com>
52331         test-forkpty: fix expected signature
52332         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
52333         Reported by Simon Josefsson.
52335 2010-04-15  Jim Meyering  <meyering@redhat.com>
52337         maint.mk: texinfo_suffix_re_: correct the default regexp
52338         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
52340         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
52341         make it configurable via texinfo_suffix_re_.
52343 2010-04-14  Eric Blake  <eblake@redhat.com>
52345         strtok_r: relax license to LGPLv2+
52346         * modules/strtok_r (License): Relax license.
52347         Reported by Matthias Bolte.
52349 2010-04-14  Simon Josefsson  <simon@josefsson.org>
52351         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
52352         version 1.4.4 by default instead of requiring the libgcrypt
52353         version used during build.  This makes it possible to use the
52354         application with older but still binary compatible libgcrypt
52355         versions.
52357 2010-04-13  Eric Blake  <eblake@redhat.com>
52359         getopt-gnu: match recent glibc fixes and posix ruling
52360         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
52361         '+' handling, when requesting extensions.
52362         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
52363         'W;' handling.
52364         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
52365         * doc/posix-functions/getopt.texi (getopt): Document this.
52366         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52367         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52368         Likewise.
52370         getopt: merge bug fixes from glibc
52371         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
52372         diagnostics.  Honor '+:' correctly.  Reject ';'.
52374         getopt-posix: detect MacOS bug
52375         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
52376         optind when missing a required argument.
52377         * doc/posix-functions/getopt.texi (getopt): Document the bug.
52378         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52379         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52380         Likewise.
52382         getopt-posix: avoid spurious failure on Solaris
52383         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
52384         an indicator that setting optind=1 is sufficient for reset.
52386         getopt-posix: avoid spurious failure on FreeBSD
52387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
52388         in POSIX mode, since the m4 test uses it.
52390         gnulib-tool: silence warning on BSD sh
52391         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
52393 2010-04-13  Jim Meyering  <meyering@redhat.com>
52395         doc: users.txt: GNU patch now uses gnulib
52396         * users.txt: Add patch.
52398 2010-04-12  Jim Meyering  <meyering@redhat.com>
52400         maint.mk: generate more concise timing data for syntax-check rules
52401         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
52402         " done" from each line that reports a syntax-check test duration.
52404 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
52406         git-version-gen: use "git update-index..." rather than "git status"
52407         * build-aux/git-version-gen: Use git update-index --refresh, not
52408         "git status".  With some versions of git, "git status" would fail
52409         to update the index and result in an unwarranted "-dirty" suffix.
52411 2010-04-11  Jim Meyering  <meyering@redhat.com>
52413         openat: correct formatting (no semantic change)
52414         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
52415         Suggested by Bruno Haible.
52417 2010-04-11  Bruno Haible  <bruno@clisp.org>
52419         Stricter declaration checking in testdirs.
52420         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52421         If for_tests is true, augment AM_CPPFLAGS to define
52422         GNULIB_STRICT_CHECKING.
52423         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
52424         GNULIB_STRICT_CHECKING is defined, verify that the function is
52425         declared.
52427 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
52428             Bruno Haible  <bruno@clisp.org>
52430         libunistring: Improve configure output.
52431         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
52432         Don't say "consider installing GNU libunistring" when checking again
52433         with libiconv.
52435 2010-04-11  Bruno Haible  <bruno@clisp.org>
52437         libunistring: Correct value of $LTLIBUNISTRING.
52438         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
52439         correct the value of $LTLIBUNISTRING.
52441 2010-04-11  Bruno Haible  <bruno@clisp.org>
52443         havelib: Add static libraries to LIBS in the right order.
52444         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
52445         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
52447 2010-04-11  Bruno Haible  <bruno@clisp.org>
52449         libunistring: Detect libunistring also when it depends on libiconv.
52450         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
52451         the second AC_LIB_HAVE_LINKFLAGS invocation.
52453 2010-04-11  James Youngman  <jay@gnu.org>
52455         close-stream: declare local scalars to be "const"
52456         * lib/close-stream.c (close_stream): Make boolean variables const
52457         to document the fact that we set but do not change them.
52459 2010-04-11  Bruno Haible  <bruno@clisp.org>
52461         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
52463 2010-04-11  Jim Meyering  <meyering@redhat.com>
52465         maint.mk: don't include dist-check.mk
52466         * top/maint.mk: Remove bogus include directive.
52468         maint.mk: improve empty-line-at-EOF check
52469         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
52470         solution, rather than tail+Perl-based one.  The latter would read
52471         a few kilobytes from the end of each file, and did not handle empty
52472         files properly.
52474         maint.mk: print the elapsed time for each syntax-check rule
52475         * top/maint.mk (sc_m_rules_): Save start time in a file.
52476         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52477         (local-check): Interpose the .z rules
52479 2010-04-11  Jim Meyering  <meyering@redhat.com>
52481         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52482         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52483         empty file with one that ends in an empty line.
52485 2010-04-10  Bruno Haible  <bruno@clisp.org>
52487         mkdir: Make it work on mingw64.
52488         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52489         * lib/mkdir.c: Update comment.
52490         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52492 2010-04-10  Bruno Haible  <bruno@clisp.org>
52494         Don't override improved macro from newer autoconf.
52495         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52496         autoconf >= 2.62.
52497         Reported by Joel E. Denny <jdenny@clemson.edu>.
52499 2010-04-10  Jim Meyering  <meyering@redhat.com>
52501         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52502         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52504         maint.mk: correct a diagnostic
52505         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52506         in diagnostic; now use $prohibit.
52508 2010-04-10  Bruno Haible  <address@hidden>
52510         fchownat: Fix a C++ test error on Solaris 8.
52511         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52512         the function does not exist.
52514 2010-04-10  Bruno Haible  <bruno@clisp.org>
52516         vasnprintf: Add more tests.
52517         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52518         (test_function): Test converting an invalid wide string.
52520         vasnprintf: Correct handling of unconvertible wide string arguments.
52521         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52522         VASNPRINTF.
52523         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52524         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52525         smaller than the expected maximum need for the directive. Set errno to
52526         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52527         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52528         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52529         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52530         * modules/vasnprintf (Files): Add m4/printf.m4.
52531         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52533 2010-04-10  Bruno Haible  <bruno@clisp.org>
52535         vasnprintf: Fix crash in %ls directive.
52536         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52537         string is passed as argument to %ls, with no precision and no width.
52538         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52540 2010-04-10  Bruno Haible  <bruno@clisp.org>
52542         vasnprintf: Fix multiple test failures on mingw.
52543         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52544         _snprintf, or snwprintf, not _snwprintf.
52546 2010-04-10  Bruno Haible  <bruno@clisp.org>
52548         write: Fix a C++ test error on mingw.
52549         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52551 2010-04-10  Bruno Haible  <bruno@clisp.org>
52553         vasnprintf test: Reduce code duplication.
52554         * tests/test-vasnprintf.c (test_function): New function, extracted from
52555         test_vasnprintf.
52556         (test_vasnprintf, test_asnprintf): Invoke it.
52558 2010-04-10  Bruno Haible  <bruno@clisp.org>
52560         strnlen: Fix warning in C++ mode on MacOS X.
52561         * lib/string.in.h (strnlen): Use the modern idiom.
52562         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52563         defining strnlen as a macro already in <config.h>.
52564         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52565         REPLACE_STRNLEN.
52566         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52567         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52569 2010-04-08  James Youngman  <jay@gnu.org>
52571         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52572         the example.
52574 2010-04-09  Jim Meyering  <meyering@redhat.com>
52576         maint.mk: print better diagnostic when there is no $(_hv_file)
52577         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52578         announce that when $(_hv_file) (aka help-version) does not exist.
52580         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52581         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52582         not try to interpret its random input bytes.  Jarno Rajahalme reported
52583         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52584         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52585         (mktempd_): Likewise, just in case.
52587         ftruncate: add two years to projected module removal date: 2012
52588         * m4/ftruncate.m4: Adjust comments.
52590         ftruncate: mark module as obsolete; even MinGW provides it, now
52591         * modules/ftruncate (Status): Obsolete.
52592         (Notice): Say that.
52593         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52594         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52596 2010-04-08  Bruno Haible  <bruno@clisp.org>
52598         Fix side effects from tests-related modules.
52599         * modules/dprintf-posix (Comment): New section.
52600         * modules/fprintf-posix (Comment): Likewise.
52601         * modules/obstack-printf-posix (Comment): Likewise.
52602         * modules/printf-posix (Comment): Likewise.
52603         * modules/snprintf-posix (Comment): Likewise.
52604         * modules/sprintf-posix (Comment): Likewise.
52605         * modules/vasnprintf-posix (Comment): Likewise.
52606         * modules/vasprintf-posix (Comment): Likewise.
52607         * modules/vdprintf-posix (Comment): Likewise.
52608         * modules/vfprintf-posix (Comment): Likewise.
52609         * modules/vprintf-posix (Comment): Likewise.
52610         * modules/vsnprintf-posix (Comment): Likewise.
52611         * modules/vsprintf-posix (Comment): Likewise.
52612         * modules/xprintf-posix (Comment): Likewise.
52613         * modules/xvasprintf-posix (Comment): Likewise.
52614         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52615         * modules/floorf-tests (Depends-on): Likewise.
52616         * modules/round-tests (Depends-on): Likewise.
52617         * modules/roundf-tests (Depends-on): Likewise.
52618         * modules/trunc-tests (Depends-on): Likewise.
52619         * modules/truncf-tests (Depends-on): Likewise.
52620         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52621         'fprintf-posix' module is not present.
52622         * tests/test-floorf2.c (check): Likewise.
52623         * tests/test-trunc2.c (check): Likewise.
52624         * tests/test-truncf2.c (check): Likewise.
52625         * tests/test-round2.c (equal): Likewise.
52626         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52628 2010-04-07  Karl Berry  <karl@gnu.org>
52630         * config/srclist.txt,
52631         * config/srclistvars.sh,
52632         * config/srclist-update: doc fixes.
52634 2010-04-07  Jim Meyering  <meyering@redhat.com>
52636         maint.mk: add a PATH crosschecking syntax-check rule
52637         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52638         Useful if you use a test like the one in help-version (coreutils,
52639         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52640         printed by prog --version.
52642 2010-04-06  Bruno Haible  <bruno@clisp.org>
52644         Fix link error on mingw.
52645         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52646         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52648 2010-04-06  Bruno Haible  <bruno@clisp.org>
52650         Assume rmdir exists.
52651         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52653 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52655         doc: update users.txt
52656         * users.txt: Add gcal.
52658 2010-04-06  Jim Meyering  <meyering@redhat.com>
52660         init.sh: simply unset TMPDIR rather than risking env -i
52661         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52662         although it probably works fine on all Unix-based systems, some
52663         systems (Cygwin?) cannot tolerate a totally cleared environment.
52664         Suggestion from Eric Blake.
52666 2010-04-06  Jim Meyering  <meyering@redhat.com>
52668         init.sh: portability fix: use env's POSIX-specified -i option not -u
52669         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52670         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52672 2010-04-05  Bruno Haible  <bruno@clisp.org>
52674         btowc: Work around Cygwin 1.7.2 bug.
52675         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52676         does not map NUL to 0.
52677         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52679 2010-04-05  Bruno Haible  <bruno@clisp.org>
52681         Make the multithread modules work on Cygwin 1.7.2.
52682         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52683         imported symbols can be declared weak, so that it returns "no" on
52684         Cygwin 1.7.2.
52686 2010-04-05  Bruno Haible  <bruno@clisp.org>
52688         Use the module 'strncat'.
52689         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52691         Tests for module 'strncat'.
52692         * modules/strncat-tests: New file.
52693         * tests/test-strncat.c: New file.
52695         New module 'strncat'.
52696         * lib/string.in.h (strncat): New declaration.
52697         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52698         * m4/strncat.m4: New file, based on m4/memchr.m4.
52699         * modules/strncat: New file.
52700         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52701         is declared.
52702         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52703         REPLACE_STRNCAT.
52704         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52705         REPLACE_STRNCAT.
52706         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52707         module.
52708         * tests/test-string-c++.cc: Check signature of strncat.
52710 2010-04-05  Jim Meyering  <meyering@redhat.com>
52712         xstrtoumax-tests: convert to use init.sh
52713         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52714         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52715         Use Exit, not exit.
52716         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52718         xstrtoimax-tests: convert to use init.sh
52719         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52720         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52721         Use Exit, not exit.
52722         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52724 2010-04-05  Bruno Haible  <bruno@clisp.org>
52726         sys_socket: Avoid #define replacements in C++ mode.
52727         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52728         warning to the function if possible, rather than #defining the symbol
52729         to a dysfunctional alias.
52731 2010-04-05  Bruno Haible  <bruno@clisp.org>
52733         fseeko: Fix C++ test error on mingw.
52734         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52735         gl_FUNC_FSEEKO.
52736         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52737         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52738         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52739         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52741 2010-04-05  Bruno Haible  <bruno@clisp.org>
52743         duplocale: Improve test output.
52744         * tests/test-duplocale.c (main): Print reason for skipped test.
52746 2010-04-05  Bruno Haible  <bruno@clisp.org>
52748         Assume rmdir exists.
52749         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52750         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52752 2010-04-05  Bruno Haible  <bruno@clisp.org>
52754         Fix link error on Solaris 8 with cc.
52755         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52757 2010-04-05  Bruno Haible  <bruno@clisp.org>
52759         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52760         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52762 2010-04-05  Bruno Haible  <bruno@clisp.org>
52764         vasprintf: Update documentation.
52765         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52767 2010-04-05  Bruno Haible  <bruno@clisp.org>
52769         ptsname: Improve test.
52770         * tests/test-ptsname.c (main): Also try the various master names of BSD
52771         systems.
52773 2010-04-05  Bruno Haible  <bruno@clisp.org>
52775         memchr: Avoid a possible C++ test error.
52776         * lib/string.in.h (memchr): Provide declaration if function is missing.
52777         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52778         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52780         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52782 2010-04-05  Bruno Haible  <bruno@clisp.org>
52784         strtok_r: Improve idiom.
52785         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52786         AC_LIBOBJ is used.
52788 2010-04-05  Bruno Haible  <bruno@clisp.org>
52790         strdup: Improve idiom.
52791         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52792         AC_LIBOBJ is used.
52793         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52794         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52795         when AC_LIBOBJ is used.
52797 2010-04-05  Bruno Haible  <bruno@clisp.org>
52799         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52800         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52801         don't set REPLACE_MBSINIT to 1.
52802         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52803         don't set REPLACE_MBRTOWC to 1.
52804         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52805         exist, don't set REPLACE_MBSRTOWCS to 1.
52806         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52807         exist, don't set REPLACE_MBSNRTOWCS to 1.
52808         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52809         don't set REPLACE_WCRTOMB to 1.
52810         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52811         exist, don't set REPLACE_WCSRTOMBS to 1.
52812         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52813         exist, don't set REPLACE_WCSNRTOMBS to 1.
52815 2010-04-05  Bruno Haible  <bruno@clisp.org>
52817         ldexpl: Improve idiom.
52818         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52819         make sure to set HAVE_DECL_LDEXPL to 0.
52821 2010-04-05  Jim Meyering  <meyering@redhat.com>
52823         xstrtol-tests: convert to use init.sh
52824         * modules/xstrtol-tests (Files): Add tests/init.sh.
52825         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52826         Use Exit, not exit.
52827         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52829         atexit-tests: convert to use init.sh
52830         * modules/atexit-tests (Files): Add tests/init.sh.
52831         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52832         Use Exit, not exit.
52833         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52835         init.sh: fix typo
52836         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52838         init.sh: make it easier for a test script to write to the tty, ...
52839         when using automake's parallel-tests mode.
52840         * tests/init.sh (stderr_fileno_): Define overridable variable.
52841         (warn_): New function, to use it.
52842         (fail_, skip_, framework_failure_): Use warn_.
52844 2010-04-04  Bruno Haible  <bruno@clisp.org>
52846         btowc: Avoid warning.
52847         * lib/btowc.c: Include <stdlib.h>.
52848         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52850 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52851             Bruno Haible  <bruno@clisp.org>
52853         wchar: Port to NetBSD 1.5.
52854         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52855         * lib/wctype.in.h (WEOF): Likewise.
52857 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52858             Bruno Haible  <bruno@clisp.org>
52860         Port extended stdio to NetBSD 1.5.
52861         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52862         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52863         older.
52865 2010-04-04  Bruno Haible  <bruno@clisp.org>
52867         string: Remove unused substitution.
52868         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52869         HAVE_DECL_STRERROR.
52870         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52872 2010-04-04  Bruno Haible  <bruno@clisp.org>
52874         strtod: Avoid a possible C++ test error.
52875         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52876         set REPLACE_STRTOD.
52878 2010-04-04  Bruno Haible  <bruno@clisp.org>
52880         strerror: Update documentation.
52881         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52883 2010-04-04  Bruno Haible  <bruno@clisp.org>
52885         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52886         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52887         _GL_CXXALIAS_SYS_CAST.
52889 2010-04-04  Bruno Haible  <bruno@clisp.org>
52891         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52892         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52893         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52894         REPLACE_FREXPL to 1.
52895         * doc/posix-functions/frexpl.texi: Update documentation.
52897 2010-04-04  Bruno Haible  <bruno@clisp.org>
52899         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52900         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52902 2010-04-04  Bruno Haible  <bruno@clisp.org>
52904         Implement nanosleep for native Windows.
52905         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52907 2010-04-04  Bruno Haible  <bruno@clisp.org>
52909         math: Fix some C++ test errors on Solaris 8.
52910         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52912 2010-04-04  Bruno Haible  <bruno@clisp.org>
52914         math: Fix some C++ test errors on Cygwin.
52915         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52916         truncl): Provide declaration if the system does not have it.
52917         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52918         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52919         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52920         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52921         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52922         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52923         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52924         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52925         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52926         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52927         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52928         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52929         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52930         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52931         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52932         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52933         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52934         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52935         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52936         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52937         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52938         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52940 2010-04-04  Bruno Haible  <bruno@clisp.org>
52942         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52943         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52944         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52945         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52946         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52947         * m4/isinf.m4 (gl_ISINF): Likewise.
52948         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52950 2010-04-04  Bruno Haible  <bruno@clisp.org>
52952         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52953         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52955 2010-04-04  Bruno Haible  <bruno@clisp.org>
52957         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52958         * modules/tmpfile (configure.ac): Update.
52960         tmpfile: Fix C++ test error on mingw.
52961         * lib/stdio.in.h (tmpfile): New declaration.
52962         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52963         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52964         * modules/tmpfile (Depends-on): Add stdio.
52965         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52966         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52967         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52968         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52969         REPLACE_TMPFILE.
52970         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52972 2010-04-04  Bruno Haible  <bruno@clisp.org>
52974         ioctl: Fix C++ test error on mingw.
52975         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52976         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52977         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52979 2010-04-03  Bruno Haible  <bruno@clisp.org>
52981         wcwidth: Fix C++ test error on mingw.
52982         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52983         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52984         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52986 2010-04-03  Bruno Haible  <bruno@clisp.org>
52988         nanosleep: Fix C++ test error on mingw.
52989         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52990         * lib/time.in.h (nanosleep): Use modern idiom.
52991         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52992         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52993         REPLACE_NANOSLEEP to 1.
52994         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52995         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52997 2010-04-03  Bruno Haible  <bruno@clisp.org>
52999         strptime: Fix C++ test error on mingw.
53000         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
53001         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
53002         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
53003         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
53004         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
53005         not REPLACE_STRPTIME.
53006         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
53007         REPLACE_STRPTIME.
53009 2010-04-03  Bruno Haible  <bruno@clisp.org>
53011         timegm: Fix C++ test error on mingw.
53012         * lib/time.in.h (timegm): Use modern idiom.
53013         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
53014         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
53015         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
53016         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
53018 2010-04-03  Bruno Haible  <bruno@clisp.org>
53020         timegm: Assume declaration if function exists.
53021         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
53022         if it exists. Don't clobber ac_cv_func_timegm.
53024 2010-04-03  Bruno Haible  <bruno@clisp.org>
53026         time_r: Fix C++ test error on mingw.
53027         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
53028         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
53029         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
53030         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
53031         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
53033 2010-04-03  Bruno Haible  <bruno@clisp.org>
53035         time_r: Minor updates.
53036         * modules/time_r (Description): Mention the provided functions.
53037         * lib/time_r.c: Don't include <string.h>.
53038         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
53039         * doc/posix-functions/localtime_r.texi: Likewise.
53041 2010-04-03  Bruno Haible  <bruno@clisp.org>
53043         time: Fix regression introduced on 2010-03-08.
53044         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
53045         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
53047 2010-04-03  Jim Meyering  <meyering@redhat.com>
53049         maint.mk: don't silently disable project-specific syntax-check rules
53050         * top/maint.mk (_prohibit_regexp): Define, to help people realize
53051         that they need to convert their project-specific syntax-check rules
53052         to use the new _sc_search_regexp.
53054 2010-04-03  Bruno Haible  <bruno@clisp.org>
53056         fchdir: Fix regression introduced on 2010-03-08.
53057         * lib/unistd.in.h (fchdir): Fix declaration.
53058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
53059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
53060         REPLACE_FCHDIR.
53061         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
53062         REPLACE_FCHDIR.
53064 2010-04-03  Bruno Haible  <bruno@clisp.org>
53066         getpagesize: Fix C++ test error on mingw.
53067         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
53068         system does not declare the function.
53069         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
53070         declared.
53071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53072         HAVE_DECL_GETPAGESIZE.
53073         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
53075 2010-04-03  Bruno Haible  <bruno@clisp.org>
53077         stdio: Make C++ tests work on mingw.
53078         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
53079         does not declare the function.
53081 2010-04-03  Bruno Haible  <bruno@clisp.org>
53083         ftello: Fix C++ test error on mingw.
53084         * lib/stdio.in.h (ftello): Use modern idiom.
53085         * lib/ftello.c (ftello): Renamed from rpl_ftello.
53086         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
53087         is missing and that it needs to be replaced.
53088         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
53089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
53090         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
53092 2010-04-03  Bruno Haible  <bruno@clisp.org>
53094         fseeko: Fix C++ test error on mingw.
53095         * lib/stdio.in.h (fseeko): Use modern idiom.
53096         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
53097         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
53098         is missing and that it needs to be replaced.
53099         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
53100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
53101         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
53103 2010-04-03  Bruno Haible  <bruno@clisp.org>
53105         mkstemp: Fix C++ test error on mingw.
53106         * lib/stdlib.in.h (mkstemp): Use modern idiom.
53107         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
53108         function is missing and that it needs to be replaced.
53109         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
53110         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
53112 2010-04-03  Bruno Haible  <bruno@clisp.org>
53114         stpncpy: Fix C++ test error on mingw.
53115         * lib/string.in.h (stpncpy): Use modern idiom.
53116         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
53117         function is missing and that it needs to be replaced.
53118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53119         REPLACE_STPNCPY.
53120         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
53122 2010-04-03  Bruno Haible  <bruno@clisp.org>
53124         sys_stat: Fix C++ test error on mingw.
53125         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
53126         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
53128 2010-04-03  Bruno Haible  <bruno@clisp.org>
53130         pty: Update doc.
53131         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
53133 2010-04-03  Bruno Haible  <bruno@clisp.org>
53135         unistd: Fix C++ test error on mingw.
53136         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
53138 2010-04-03  Bruno Haible  <bruno@clisp.org>
53140         Update doc regarding mingw.
53141         * doc/glibc-functions/openpty.texi: Update regarding mingw.
53142         * doc/glibc-functions/login_tty.texi: Likewise.
53143         * doc/glibc-functions/forkpty.texi: Likewise.
53145 2010-04-03  Bruno Haible  <bruno@clisp.org>
53147         stdlib: Avoid compilation failure of c-strtold on mingw.
53148         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
53150 2010-04-03  Bruno Haible  <bruno@clisp.org>
53152         locale: Make C++ tests work on Cygwin and mingw.
53153         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
53154         cannot provide the function.
53155         Reported by Simon Josefsson.
53157 2010-04-03  Bruno Haible  <bruno@clisp.org>
53159         localename: Port to MacOS X 10.6.
53160         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
53161         memory layout of the locales in MacOS X 10.6 as well.
53162         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
53164 2010-04-02  Bruno Haible  <bruno@clisp.org>
53166         gnulib-tool: Ensure that long-running tests are executed last.
53167         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
53168         running tests after the one for the other tests.
53170 2010-04-02  Bruno Haible  <bruno@clisp.org>
53172         gnulib-tool: Ensure the tests in the main directory are executed first.
53173         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
53174         start with the current directory.
53176 2010-04-02  Bruno Haible  <bruno@clisp.org>
53178         Tests for module 'havelib', moved here from GNU gettext.
53179         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
53180         modifications.
53181         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
53182         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
53183         with modifications.
53184         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
53185         modifications.
53186         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
53187         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
53188         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
53189         with modifications.
53190         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
53191         with modifications.
53192         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
53193         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
53194         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
53195         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
53196         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
53197         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
53198         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
53199         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
53200         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
53201         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
53202         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
53203         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
53204         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
53205         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
53206         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
53207         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
53208         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
53209         with modifications.
53210         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
53211         with modifications.
53212         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
53213         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
53214         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
53215         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
53216         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
53217         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
53218         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
53219         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
53220         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
53221         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
53222         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
53223         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
53224         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
53225         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
53226         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
53227         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
53228         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
53229         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
53230         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
53231         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
53232         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
53233         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
53234         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
53235         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
53236         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
53237         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
53238         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
53239         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
53240         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
53241         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
53242         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
53243         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
53244         * tests/havelib/rpathx/rpathx.c: New file, from
53245         gettext/autoconf-lib-link.
53246         * tests/havelib/rpathx/Makefile.am: New file, from
53247         gettext/autoconf-lib-link.
53248         * tests/havelib/rpathx/configure.ac: New file, from
53249         gettext/autoconf-lib-link with modifications.
53250         * tests/havelib/rpathy/rpathy.c: New file, from
53251         gettext/autoconf-lib-link.
53252         * tests/havelib/rpathy/Makefile.am: New file, from
53253         gettext/autoconf-lib-link.
53254         * tests/havelib/rpathy/configure.ac: New file, from
53255         gettext/autoconf-lib-link with modifications.
53256         * tests/havelib/rpathz/rpathz.c: New file, from
53257         gettext/autoconf-lib-link.
53258         * tests/havelib/rpathz/Makefile.am: New file, from
53259         gettext/autoconf-lib-link.
53260         * tests/havelib/rpathz/configure.ac: New file, from
53261         gettext/autoconf-lib-link with modifications.
53262         * tests/havelib/rpathlx/usex.c: New file, from
53263         gettext/autoconf-lib-link.
53264         * tests/havelib/rpathlx/Makefile.am: New file, from
53265         gettext/autoconf-lib-link.
53266         * tests/havelib/rpathlx/configure.ac: New file, from
53267         gettext/autoconf-lib-link with modifications.
53268         * tests/havelib/rpathly/usey.c: New file, from
53269         gettext/autoconf-lib-link.
53270         * tests/havelib/rpathly/Makefile.am: New file, from
53271         gettext/autoconf-lib-link.
53272         * tests/havelib/rpathly/configure.ac: New file, from
53273         gettext/autoconf-lib-link with modifications.
53274         * tests/havelib/rpathlz/usez.c: New file, from
53275         gettext/autoconf-lib-link.
53276         * tests/havelib/rpathlz/Makefile.am: New file, from
53277         gettext/autoconf-lib-link.
53278         * tests/havelib/rpathlz/configure.ac: New file, from
53279         gettext/autoconf-lib-link with modifications.
53280         * tests/havelib/rpathlyx/usey.c: New file, from
53281         gettext/autoconf-lib-link.
53282         * tests/havelib/rpathlyx/Makefile.am: New file, from
53283         gettext/autoconf-lib-link.
53284         * tests/havelib/rpathlyx/configure.ac: New file, from
53285         gettext/autoconf-lib-link with modifications.
53286         * tests/havelib/rpathlzyx/usez.c: New file, from
53287         gettext/autoconf-lib-link.
53288         * tests/havelib/rpathlzyx/Makefile.am: New file, from
53289         gettext/autoconf-lib-link.
53290         * tests/havelib/rpathlzyx/configure.ac: New file, from
53291         gettext/autoconf-lib-link with modifications.
53292         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
53293         with modifications.
53295 2010-04-02  Bruno Haible  <bruno@clisp.org>
53297         gnulib-tool: Create distributed built sources also for the tests.
53298         * gnulib-tool (func_create_testdir): Also generate distributed built
53299         sources in the tests directory.
53301 2010-04-02  Bruno Haible  <bruno@clisp.org>
53303         gnulib-tool: Obey user's environment variables.
53304         * gnulib-tool (func_create_testdir): When creating built sources,
53305         respect the environment variables for autoconf, automake, etc. given by
53306         the user.
53308 2010-04-02  Bruno Haible  <bruno@clisp.org>
53310         gnulib-tool: Provide the value of --m4-base to modules.
53311         * gnulib-tool (func_import, func_create_testdir): Emit a definition
53312         of gl_m4_base.
53314 2010-04-02  Eric Blake  <eblake@redhat.com>
53316         maint.mk: fix some fallout
53317         * NEWS: Document the incompatible change, and its effect on cfg.mk.
53318         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
53320 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53322         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
53323         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
53324         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
53325         (sc_cast_of_x_alloc_return_value): Likewise.
53326         (sc_cast_of_alloca_return_value): Likewise.
53327         (sc_space_tab): Likewise.
53328         (sc_prohibit_atoi_atof): Likewise.
53329         (sc_prohibit_magic_number_exit): Likewise.
53330         (sc_error_exit_success): Likewise.
53331         (sc_file_system): Likewise.
53332         (sc_prohibit_have_config_h): Likewise.
53333         (sc_require_config_h): Likewise.
53334         (sc_prohibit_HAVE_MBRTOWC): Likewise.
53335         (sc_obsolete_symbols): Likewise.
53336         (sc_changelog): Likewise.
53337         (sc_program_name): Likewise.
53338         (sc_the_the): Likewise.
53339         (sc_trailing_blank): Likewise.
53340         (sc_two_space_separator_in_usage): Likewise.
53341         (sc_useless_cpp_parens): Likewise.
53342         (sc_GPL_version): Likewise.
53343         (sc_GFDL_version): Likewise.
53344         (sc_texinfo_acronym): Likewise.
53345         (sc_prohibit_cvs_keyword): Likewise.
53346         (sc_prohibit_stat_st_blocks): Likewise.
53347         (sc_prohibit_S_IS_definition): Likewise.
53348         (sc_redundant_const): Likewise.
53349         (sc_makefile_TAB_only_indentation): Likewise.
53350         (sc_m4_quote_check): Likewise.
53351         (sc_makefile_path_separator_check): Likewise.
53352         (sc_copyright_check): Likewise.
53353         (sc_Wundef_boolean): Likewise.
53354         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
53356         maint.mk: match 0 or more whitespace-before-function-call '('
53357         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
53358         that have zero or two-and-more spaces between the function name
53359         and the open parenthesis.
53360         (sc_error_message_warn_fatal): Likewise.
53361         (sc_error_message_uppercase): Likewise.
53362         (sc_error_message_period): Likewise.
53364 2010-03-31  Eric Blake  <eblake@redhat.com>
53366         maint.mk: check for [ as well as test
53367         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
53368         Based on a libvirt report by Matthias Bolte.
53370         gnumakefile: don't squelch _version output
53371         * top/GNUmakefile (_version): Create one-shot dependency rather
53372         than using $(shell) when version must be regenerated.
53373         (_autoreconf): Run verbosely, by default.
53375         sys_time: avoid compiler warnings
53376         * lib/sys_time.in.h (includes): Ensure gcc pragma is
53377         unconditional, fixing regression from 2010-03-29.
53378         Reported by Simon Josefsson.
53380 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53382         maint.mk: s/_header_without_use/_sc_header_without_use/
53383         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
53384         (sc_prohibit_assert_without_use): Use the new name.
53385         (sc_prohibit_close_stream_without_use): Likewise.
53386         (sc_prohibit_getopt_without_use): Likewise.
53387         (sc_prohibit_quotearg_without_use): Likewise.
53388         (sc_prohibit_quote_without_use): Likewise.
53389         (sc_prohibit_long_options_without_use): Likewise.
53390         (sc_prohibit_inttostr_without_use): Likewise.
53391         (sc_prohibit_ignore_value_without_use): Likewise.
53392         (sc_prohibit_error_without_use): Likewise.
53393         (sc_prohibit_xalloc_without_use): Likewise.
53394         (sc_prohibit_hash_without_use): Likewise.
53395         (sc_prohibit_hash_pjw_without_use): Likewise.
53396         (sc_prohibit_safe_read_without_use): Likewise.
53397         (sc_prohibit_argmatch_without_use): Likewise.
53398         (sc_prohibit_canonicalize_without_use): Likewise.
53399         (sc_prohibit_root_dev_ino_without_use): Likewise.
53400         (sc_prohibit_openat_without_use): Likewise.
53401         (sc_prohibit_c_ctype_without_use): Likewise.
53402         (sc_prohibit_signal_without_use): Likewise.
53403         (sc_prohibit_intprops_without_use): Likewise.
53405 2010-03-30  Eric Blake  <eblake@redhat.com>
53407         maint: improve module indicators
53408         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
53409         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
53410         columns, and avoid extra macro expansion.
53412         fdopendir: work around FreeBSD bug
53413         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
53414         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
53415         * modules/dirent (Makefile.am): Substitute it.
53416         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
53417         declaration.
53418         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
53419         fix.
53420         Reported by Christian Weisgerber <naddy@mips.inka.de>.
53422 2010-03-29  Bruno Haible  <bruno@clisp.org>
53424         Emit #pragma system_header after the inclusion guard, not before.
53425         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
53426         guard that spans the entire file, not before. This enables an
53427         optimization in GCC's preprocessor.
53428         * lib/ctype.in.h: Likewise.
53429         * lib/dirent.in.h: Likewise.
53430         * lib/errno.in.h: Likewise.
53431         * lib/float.in.h: Likewise.
53432         * lib/getopt.in.h: Likewise.
53433         * lib/iconv.in.h: Likewise.
53434         * lib/langinfo.in.h: Likewise.
53435         * lib/locale.in.h: Likewise.
53436         * lib/math.in.h: Likewise.
53437         * lib/netdb.in.h: Likewise.
53438         * lib/netinet_in.in.h: Likewise.
53439         * lib/pty.in.h: Likewise.
53440         * lib/sched.in.h: Likewise.
53441         * lib/se-selinux.in.h: Likewise.
53442         * lib/search.in.h: Likewise.
53443         * lib/spawn.in.h: Likewise.
53444         * lib/stdarg.in.h: Likewise.
53445         * lib/stdint.in.h: Likewise.
53446         * lib/string.in.h: Likewise.
53447         * lib/strings.in.h: Likewise.
53448         * lib/sys_file.in.h: Likewise.
53449         * lib/sys_ioctl.in.h: Likewise.
53450         * lib/sys_time.in.h: Likewise.
53451         * lib/sys_times.in.h: Likewise.
53452         * lib/sys_utsname.in.h: Likewise.
53453         * lib/sys_wait.in.h: Likewise.
53454         * lib/sysexits.in.h: Likewise.
53455         * lib/wctype.in.h: Likewise.
53457 2010-03-28  James Youngman  <jay@gnu.org>
53459         save-cwd: don't leak a file descriptor when the caller execs.
53460         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
53461         saved file descriptor.
53462         * modules/save-cwd (Depends-on): Depend on cloexec.
53464 2010-03-29  Bruno Haible  <bruno@clisp.org>
53466         Remove vestiges of fts-lgpl module.
53467         * lib/fts_.h: Assume GNULIB_FTS is 1.
53468         * lib/fts.c: Likewise.
53469         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53471 2010-03-28  Bruno Haible  <bruno@clisp.org>
53473         Fix definition of tests witness macro.
53474         * gnulib-tool (func_import): Fix definition of witness macro.
53476 2010-03-28  Bruno Haible  <bruno@clisp.org>
53478         Fix ioctl's protoype on glibc systems.
53479         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53480         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53481         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53482         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53483         signature. If not, arrange to replace the ioctl function.
53484         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53485         REPLACE_IOCTL.
53486         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53487         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53488         Reported by Ludovic Courtès <ludo@gnu.org>.
53490 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53492         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53493         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53494         made it so grep -r --include=GLOB* ... did not work.
53496 2010-03-26  Jim Meyering  <meyering@redhat.com>
53497             Eric Blake  <eblake@redhat.com>
53499         maint.mk: prohibit use of test's -o and -a operators
53500         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53502 2010-03-28  Bruno Haible  <bruno@clisp.org>
53504         Remove unused GNULIB_XYZ macro definitions.
53505         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53506         invocation.
53508 2010-03-28  Bruno Haible  <bruno@clisp.org>
53510         Mark privileged tests modules.
53511         * modules/idpriv-drop-tests (Status): New section.
53512         * modules/idpriv-droptemp-tests (Status): New section.
53514 2010-03-28  Bruno Haible  <bruno@clisp.org>
53516         Split C++ tests into separate tests modules.
53517         * modules/dirent-c++-tests: New file, extracted from
53518         modules/dirent-tests.
53519         * modules/dirent-tests: Depend on it.
53520         * modules/fcntl-h-c++-tests: New file, extracted from
53521         modules/fcntl-h-tests.
53522         * modules/fcntl-h-tests: Depend on it.
53523         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53524         * modules/glob-tests: Depend on it.
53525         * modules/iconv-h-c++-tests: New file, extracted from
53526         modules/iconv-h-tests.
53527         * modules/iconv-h-tests: Depend on it.
53528         * modules/langinfo-c++-tests: New file, extracted from
53529         modules/langinfo-tests.
53530         * modules/langinfo-tests: Depend on it.
53531         * modules/locale-c++-tests: New file, extracted from
53532         modules/locale-tests.
53533         * modules/locale-tests: Depend on it.
53534         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53535         * modules/math-tests: Depend on it.
53536         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53537         * modules/pty-tests: Depend on it.
53538         * modules/search-c++-tests: New file, extracted from
53539         modules/search-tests.
53540         * modules/search-tests: Depend on it.
53541         * modules/signal-c++-tests: New file, extracted from
53542         modules/signal-tests.
53543         * modules/signal-tests: Depend on it.
53544         * modules/spawn-c++-tests: New file, extracted from
53545         modules/spawn-tests.
53546         * modules/spawn-tests: Depend on it.
53547         * modules/stdio-c++-tests: New file, extracted from
53548         modules/stdio-tests.
53549         * modules/stdio-tests: Depend on it.
53550         * modules/stdlib-c++-tests: New file, extracted from
53551         modules/stdlib-tests.
53552         * modules/stdlib-tests: Depend on it.
53553         * modules/string-c++-tests: New file, extracted from
53554         modules/string-tests.
53555         * modules/string-tests: Depend on it.
53556         * modules/sys_ioctl-c++-tests: New file, extracted from
53557         modules/sys_ioctl-tests.
53558         * modules/sys_ioctl-tests: Depend on it.
53559         * modules/sys_select-c++-tests: New file, extracted from
53560         modules/sys_select-tests.
53561         * modules/sys_select-tests: Depend on it.
53562         * modules/sys_socket-c++-tests: New file, extracted from
53563         modules/sys_socket-tests.
53564         * modules/sys_socket-tests: Depend on it.
53565         * modules/sys_stat-c++-tests: New file, extracted from
53566         modules/sys_stat-tests.
53567         * modules/sys_stat-tests: Depend on it.
53568         * modules/sys_time-c++-tests: New file, extracted from
53569         modules/sys_time-tests.
53570         * modules/sys_time-tests: Depend on it.
53571         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53572         * modules/time-tests: Depend on it.
53573         * modules/unistd-c++-tests: New file, extracted from
53574         modules/unistd-tests.
53575         * modules/unistd-tests: Depend on it.
53576         * modules/wchar-c++-tests: New file, extracted from
53577         modules/wchar-tests.
53578         * modules/wchar-tests: Depend on it.
53579         * modules/wctype-c++-tests: New file, extracted from
53580         modules/wctype-tests.
53581         * modules/wctype-tests: Depend on it.
53582         Reported by Simon Josefsson.
53584 2010-03-28  Bruno Haible  <bruno@clisp.org>
53586         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53587         * gnulib-tool (func_exists_module): New function, extracted from
53588         func_verify_module.
53589         (func_verify_module): Use it.
53590         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53591         'foo' only if 'foo' exists.
53592         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53593         module.
53595 2010-03-28  Bruno Haible  <bruno@clisp.org>
53597         gnulib-tool: Add support for special categories of tests.
53598         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53599         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53600         (func_usage): Document them.
53601         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53602         inc_unportable_tests, inc_all_tests): New variables.
53603         (func_acceptable): Consider these variables.
53604         (func_modules_transitive_closure): Make it work when the 'Status' field
53605         consists of multiple words.
53606         (func_import): Store and restore the values of inc_cxx_tests,
53607         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53608         inc_all_tests in gnulib-comp.m4.
53609         (func_create_testdir): Set inc_all_tests to true.
53610         * doc/gnulib.texi (Extra tests modules): New section.
53611         Suggested by Jim Meyering.
53613 2010-03-28  Bruno Haible  <bruno@clisp.org>
53615         ansi-c++-opt: Allow turning off the C++ build by default.
53616         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53617         gl_CXX_CHOICE_DEFAULT_NO is defined.
53618         Requested by Eric Blake.
53620 2010-03-28  Bruno Haible  <bruno@clisp.org>
53622         unistd: Avoid #define replacements in C++ mode.
53623         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53624         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53625         setsockopt, shutdown, select): In C++, attach a warning to the function
53626         if possible, rather than #defining the symbol to a dysfunctional alias.
53627         Reported by John W. Eaton <jwe@gnu.org>.
53629 2010-03-28  Bruno Haible  <bruno@clisp.org>
53631         Fix link errors on mingw.
53632         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53633         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53634         $(LIBSOCKET).
53635         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53636         $(LIBSOCKET).
53638 2010-03-28  Bruno Haible  <bruno@clisp.org>
53639             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53641         lib-ignore: Determine different options for different compilers.
53642         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53643         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53644         Add comments.
53645         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53646         * NEWS: Mention the change.
53648 2010-03-27  Bruno Haible  <bruno@clisp.org>
53650         Remove unused GNULIB_XYZ macro definitions.
53651         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53652         * modules/fseek (configure.ac): Likewise.
53653         * modules/ioctl (configure.ac): Likewise.
53654         * modules/open (configure.ac): Likewise.
53655         * modules/stdlib-safer (configure.ac): Likewise.
53657 2010-03-27  Bruno Haible  <bruno@clisp.org>
53659         Add a remark about certain modules.
53660         * modules/malloc (Comment): New section.
53661         * modules/realloc (Comment): Likewise.
53662         * modules/sigpipe (Comment): Likewise.
53664 2010-03-27  Bruno Haible  <bruno@clisp.org>
53666         Resolve conflict between the two kinds of module indicators.
53667         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53668         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53669         * modules/canonicalize (configure.ac): Invoke
53670         gl_MODULE_INDICATOR_FOR_TESTS.
53671         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53672         GNULIB_XYZ.
53673         * tests/test-dirent-c++.cc: Likewise.
53674         * tests/test-dirent-safer.c: Likewise.
53675         * tests/test-dup2.c: Likewise.
53676         * tests/test-fchdir.c: Likewise.
53677         * tests/test-fcntl-h-c++.cc: Likewise.
53678         * tests/test-getopt.c: Likewise.
53679         * tests/test-getopt.h: Likewise.
53680         * tests/test-langinfo-c++.cc: Likewise.
53681         * tests/test-locale-c++.cc: Likewise.
53682         * tests/test-math-c++.cc: Likewise.
53683         * tests/test-pty-c++.cc: Likewise.
53684         * tests/test-search-c++.cc: Likewise.
53685         * tests/test-signal-c++.cc: Likewise.
53686         * tests/test-spawn-c++.cc: Likewise.
53687         * tests/test-stdio-c++.cc: Likewise.
53688         * tests/test-stdlib-c++.cc: Likewise.
53689         * tests/test-string-c++.cc: Likewise.
53690         * tests/test-sys_ioctl-c++.cc: Likewise.
53691         * tests/test-sys_select-c++.cc: Likewise.
53692         * tests/test-sys_socket-c++.cc: Likewise.
53693         * tests/test-sys_stat-c++.cc: Likewise.
53694         * tests/test-sys_time-c++.cc: Likewise.
53695         * tests/test-time-c++.cc: Likewise.
53696         * tests/test-unistd-c++.cc: Likewise.
53697         * tests/test-wchar-c++.cc: Likewise.
53698         * tests/uninorm/test-u8-nfc.c: Likewise.
53699         * tests/uninorm/test-u8-nfd.c: Likewise.
53700         * tests/uninorm/test-u8-nfkc.c: Likewise.
53701         * tests/uninorm/test-u8-nfkd.c: Likewise.
53702         * tests/uninorm/test-u16-nfc.c: Likewise.
53703         * tests/uninorm/test-u16-nfd.c: Likewise.
53704         * tests/uninorm/test-u16-nfkc.c: Likewise.
53705         * tests/uninorm/test-u16-nfkd.c: Likewise.
53706         * tests/uninorm/test-u32-nfc.c: Likewise.
53707         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53708         * tests/uninorm/test-u32-nfd.c: Likewise.
53709         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53710         * tests/uninorm/test-u32-nfkc.c: Likewise.
53711         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53712         * tests/uninorm/test-u32-nfkd.c: Likewise.
53713         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53714         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53716 2010-03-27  Bruno Haible  <bruno@clisp.org>
53718         Distinguish two kinds of module indicators.
53719         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53720         gl_MODULE_INDICATOR.
53721         (gl_MODULE_INDICATOR): New macro.
53722         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53723         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53724         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53725         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53726         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53727         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53728         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53729         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53730         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53731         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53732         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53733         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53734         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53735         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53736         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53737         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53738         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53739         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53740         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53741         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53742         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53743         * modules/cloexec (configure.ac): Likewise.
53744         * modules/getopt-gnu (configure.ac): Likewise.
53745         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53746         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53747         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53748         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53750 2010-03-27  Bruno Haible  <bruno@clisp.org>
53752         New module description field 'Comment'.
53753         * gnulib-tool: New option --extract-comment.
53754         (func_usage): Document it.
53755         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53756         (func_get_comment): New function.
53757         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53759 2010-03-27  Bruno Haible  <bruno@clisp.org>
53761         Addendum to 2010-02-07 commit.
53762         * gnulib-tool (func_usage): Document --extract-applicability option.
53764 2010-03-27  Bruno Haible  <bruno@clisp.org>
53766         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53767         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53768         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53769         rather than link errors.
53771 2010-03-27  Bruno Haible  <bruno@clisp.org>
53773         Avoid side effects from tests-related modules on the compilation of lib.
53774         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53775         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53776         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53777         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53778         macro.
53779         (func_import): Define a witness macro. Assign it a value that depends
53780         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53781         tests-related modules.
53782         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53783         Reported by Jim Meyering.
53785 2010-03-27  Bruno Haible  <bruno@clisp.org>
53787         Factorize common .m4 code.
53788         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53789         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53790         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53791         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53792         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53793         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53794         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53795         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53796         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53797         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53798         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53799         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53800         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53801         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53802         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53803         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53804         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53805         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53806         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53807         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53808         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53809         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53810         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53811         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53812         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53813         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53814         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53815         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53816         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53817         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53818         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53819         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53821 2010-03-27  Bruno Haible  <bruno@clisp.org>
53823         Fix a compilation error on Cygwin with g++ >= 4.3.
53824         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53825         if it is undefined or if we alias it to chmod.
53826         (lstat): Don't warn about the use of this function if it is undefined
53827         or if we alias it to stat.
53828         Reported by Simon Josefsson.
53830 2010-03-27  Bruno Haible  <bruno@clisp.org>
53832         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53833         * modules/getlogin (configure.ac): Update.
53835         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53836         * modules/getlogin_r (configure.ac): Update.
53838         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53839         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53840         * modules/inet_ntop (configure.ac): Update.
53842         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53843         * modules/inet_pton (configure.ac): Update.
53845         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53846         * modules/mbslen (configure.ac): Update.
53848         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53849         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53850         * modules/forkpty (configure.ac): Update.
53851         * modules/openpty (configure.ac): Update.
53853 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53855         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53856         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53858 2010-03-25  Eric Blake  <eblake@redhat.com>
53860         maint: use pragma consistently across replacement headers
53861         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53862         * lib/dirent.in.h (system_header): Likewise.
53863         * lib/errno.in.h (system_header): Likewise.
53864         * lib/float.in.h (system_header): Likewise.
53865         * lib/getopt.in.h (system_header): Likewise.
53866         * lib/iconv.in.h (system_header): Likewise.
53867         * lib/inttypes.in.h (system_header): Likewise.
53868         * lib/langinfo.in.h (system_header): Likewise.
53869         * lib/locale.in.h (system_header): Likewise.
53870         * lib/math.in.h (system_header): Likewise.
53871         * lib/netdb.in.h (system_header): Likewise.
53872         * lib/netinet_in.in.h (system_header): Likewise.
53873         * lib/pty.in.h (system_header): Likewise.
53874         * lib/sched.in.h (system_header): Likewise.
53875         * lib/se-selinux.in.h (system_header): Likewise.
53876         * lib/search.in.h (system_header): Likewise.
53877         * lib/spawn.in.h (system_header): Likewise.
53878         * lib/stdarg.in.h (system_header): Likewise.
53879         * lib/stdint.in.h (system_header): Likewise.
53880         * lib/string.in.h (system_header): Likewise.
53881         * lib/strings.in.h (system_header): Likewise.
53882         * lib/sys_file.in.h (system_header): Likewise.
53883         * lib/sys_ioctl.in.h (system_header): Likewise.
53884         * lib/sys_socket.in.h (system_header): Likewise.
53885         * lib/sys_times.in.h (system_header): Likewise.
53886         * lib/sys_utsname.in.h (system_header): Likewise.
53887         * lib/sys_wait.in.h (system_header): Likewise.
53888         * lib/sysexits.in.h (system_header): Likewise.
53889         * lib/unistd.in.h (system_header): Likewise.
53890         * lib/wctype.in.h (system_header): Likewise.
53892         arpa/inet: fix mingw compilation warning
53893         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53894         Reported by Matthew Bolte.
53896 2010-03-25  Bruno Haible  <bruno@clisp.org>
53898         Avoid collision between gnulib wrapper and libintl wrapper.
53899         * lib/printf.c (printf): Don't define if a printf wrapper is already
53900         defined in intl/printf.c.
53901         Reported by Michel Boaventura <michel@michelboaventura.com>.
53903 2010-03-25  Bruno Haible  <bruno@clisp.org>
53905         Use ANSI C.
53906         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53908 2010-03-25  Bruno Haible  <bruno@clisp.org>
53910         Minor formatting changes.
53911         * lib/acosl.c: Insert space before function argument list.
53912         * lib/argz.c: Likewise.
53913         * lib/asinl.c: Likewise.
53914         * lib/expl.c: Likewise.
53915         * lib/gen-uni-tables.c: Likewise.
53916         * lib/gettext.h: Likewise.
53917         * lib/glthread/lock.h: Likewise.
53918         * lib/tanl.c: Likewise.
53919         * lib/uniname/uniname.c: Likewise.
53920         * tests/test-idpriv-drop.c: Likewise.
53921         * tests/test-idpriv-droptemp.c: Likewise.
53922         * tests/test-lock.c: Likewise.
53923         * tests/test-tls.c: Likewise.
53924         * lib/argp-help.c: Insert space before function-like macro argument
53925         list.
53926         * lib/memcmp.c: Likewise.
53927         * tests/test-base64.c: Likewise.
53928         * lib/localename.c: Insert space before sizeof's argument list.
53929         * lib/safe-alloc.h: Likewise.
53930         * lib/file-set.h: Insert space before macro argument list.
53931         * tests/test-argp.c: Likewise.
53932         * lib/argp-namefrob.h: Insert space before function parameter list.
53933         * lib/getaddrinfo.c: Likewise.
53934         * lib/netdb.in.h: Likewise.
53935         * lib/parse-duration.h: Likewise.
53936         * lib/parse-duration.c: Likewise.
53937         * lib/poll.c: Likewise.
53938         * lib/select.c: Likewise.
53939         * lib/trim.h: Likewise.
53940         * tests/test-usleep.c: Likewise.
53941         * lib/ldexpl.c: Insert space before function parameter list and before
53942         function argument list.
53943         * lib/logl.c: Likewise.
53944         * lib/sqrtl.c: Likewise.
53945         * lib/trim.c: Likewise.
53946         * lib/cosl.c: Use GNU style indentation. Insert space before function
53947         argument list.
53948         * lib/sinl.c: Likewise.
53949         * lib/tsearch.c: Insert space after 'for'.
53950         Reported by Jim Meyering.
53952 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53954         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53955         config header before grepping, as it's not present before
53956         autoreconf/configure are run.  Reported by Simon Josefsson.
53958 2010-03-23  Bruno Haible  <bruno@clisp.org>
53960         pt_chown: Make it work with automake < 1.11.
53961         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53962         Reported by Simon Josefsson.
53964 2010-03-23  Bruno Haible  <bruno@clisp.org>
53966         pt_chown: Don't depend on GPLed modules.
53967         * lib/pt_chown.c: Don't include idpriv.h.
53968         (main): Don't drop privileges.
53969         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53970         Reported by Simon Josefsson.
53972 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53974         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53975         suggestions from karl@freefriends.org (Karl Berry).
53977 2010-03-22  Eric Blake  <eblake@redhat.com>
53979         gethostname: further tweaks
53980         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53981         are overriding gethostname.
53982         Suggested by Bruno Haible.
53984 2010-03-21  Bruno Haible  <bruno@clisp.org>
53986         Fix comments.
53987         * lib/forkpty.c (rpl_forkpty): Fix comment.
53988         * lib/openpty.c (rpl_openpty): Likewise.
53989         Reported by Eric Blake.
53991 2010-03-22  Eric Blake  <eblake@redhat.com>
53993         gethostname: fix build on mingw
53994         * lib/unistd.in.h (includes): Work around fact that mingw
53995         <winsock2.h> re-includes <unistd.h>, by avoiding any
53996         redeclarations if we are being included by <winsock2.h>.
53997         Reported by Matthias Bolte.
53999 2010-03-21  Bruno Haible  <bruno@clisp.org>
54001         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54002         * lib/forkpty.c (forkpty): New replacement function, from glibc with
54003         modifications.
54004         * lib/pty.in.h (forkpty): Update declaration. Add comments.
54005         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
54006         provide the replacement.
54007         * modules/forkpty (Depends-on): Add openpty, login_tty.
54008         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
54009         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
54010         * doc/glibc-functions/forkpty.texi: More supported platforms.
54011         * config/srclist.txt: Add forkpty.c (commented).
54013 2010-03-21  Bruno Haible  <bruno@clisp.org>
54015         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
54016         (Makefile.am): Verify that PTY_LIB is defined.
54018         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
54020 2010-03-21  Bruno Haible  <bruno@clisp.org>
54022         Tests for module 'login_tty'.
54023         * modules/login_tty-tests: New file.
54024         * tests/test-login_tty.c: New file.
54026         New module 'login_tty'.
54027         * lib/login_tty.c: New file.
54028         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
54029         * modules/login_tty: New file.
54030         * doc/glibc-functions/login_tty.texi: Mention the new module.
54032 2010-03-21  Bruno Haible  <bruno@clisp.org>
54034         login_tty: Documentation.
54035         * doc/glibc-functions/login_tty.texi: New file.
54036         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
54038 2010-03-21  Bruno Haible  <bruno@clisp.org>
54040         pty: Consistent macro naming.
54041         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
54042         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
54043         * modules/pty (configure.ac): Update.
54045 2010-03-21  Bruno Haible  <bruno@clisp.org>
54047         Tests for openpty: Make stricter.
54048         * tests/test-openpty.c (main): Add test of canonical processing and
54049         erase.
54050         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
54052         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54053         * lib/openpty.c (openpty): New replacement function.
54054         * lib/pty.in.h: Include <termios.h>.
54055         (openpty): Update declaration. Add comments.
54056         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
54057         is not declared, arrange to provide the replacement. Check for _getpty
54058         and posix_openpt.
54059         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
54060         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
54061         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
54062         * modules/pty-tests (test_pty_c___LDADD): New variable.
54063         * doc/glibc-functions/openpty.texi: More supported platforms.
54065 2010-03-21  Bruno Haible  <bruno@clisp.org>
54067         setenv: Tweaks.
54068         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
54069         the test program.
54070         * doc/posix-functions/setenv.texi: Update platforms list.
54072 2010-03-21  Bruno Haible  <bruno@clisp.org>
54074         New module 'unlockpt'.
54075         * lib/unlockpt.c: New file, from glibc with modifications.
54076         * m4/unlockpt.m4: New file.
54077         * modules/unlockpt: New file.
54078         * lib/stdlib.in.h (unlockpt): New declaration.
54079         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
54080         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
54081         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
54082         HAVE_UNLOCKPT.
54083         * doc/posix-functions/unlockpt.texi: Mention the new module.
54084         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
54085         * config/srclist.txt: Add unlockpt.c (commented).
54087 2010-03-21  Jim Meyering  <meyering@redhat.com>
54089         maint.mk: prohibit inclusion of "intprops.h" without use
54090         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
54092 2010-03-21  Bruno Haible  <bruno@clisp.org>
54094         New module 'grantpt'.
54095         * lib/grantpt.c: New file, from glibc with modifications.
54096         * m4/grantpt.m4: New file.
54097         * modules/grantpt: New file.
54098         * lib/stdlib.in.h (grantpt): New declaration.
54099         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
54100         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
54101         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
54102         HAVE_GRANTPT.
54103         * doc/posix-functions/grantpt.texi: Mention the new module.
54104         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
54105         * config/srclist.txt: Add grantpt.c (commented).
54107 2010-03-21  Bruno Haible  <bruno@clisp.org>
54109         New module 'pt_chown'.
54110         * lib/pt_chown.c: New file, from glibc with modifications.
54111         * lib/pty-private.h: New file, from glibc with modifications.
54112         * modules/pt_chown: New file.
54113         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
54115 2010-03-21  Bruno Haible  <bruno@clisp.org>
54117         Tests for module 'ptsname'.
54118         * modules/ptsname-tests: New file.
54119         * tests/test-ptsname.c: New file.
54121         New module 'ptsname'.
54122         * lib/ptsname.c: New file, from glibc with modifications.
54123         * m4/ptsname.m4: New file.
54124         * modules/ptsname: New file.
54125         * lib/stdlib.in.h (ptsname): New declaration.
54126         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
54127         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
54128         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
54129         HAVE_PTSNAME.
54130         * doc/posix-functions/ptsname.texi: Mention the new module.
54131         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
54132         * config/srclist.txt: Add ptsname.c (commented).
54134 2010-03-21  Bruno Haible  <bruno@clisp.org>
54136         Tests for module 'ttyname_r'.
54137         * modules/ttyname_r-tests: New file.
54138         * tests/test-ttyname_r.c: New file.
54140         New module 'ttyname_r'.
54141         * lib/ttyname_r.c: New file.
54142         * m4/ttyname_r.m4: New file.
54143         * modules/ttyname_r: New file.
54144         * lib/unistd.in.h (ttyname_r): New declaration.
54145         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
54146         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
54147         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
54148         HAVE_TTYNAME_R.
54149         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
54150         * doc/posix-functions/ttyname_r.texi: Mention the new module.
54152 2010-03-20  Bruno Haible  <bruno@clisp.org>
54154         signal: Undefine macro definitions in C++ mode.
54155         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
54156         sigfillset): Undefine macro definitions from the system header in C++
54157         mode.
54158         Reported by John W. Eaton <jwe@gnu.org>.
54160 2010-03-20  Bruno Haible  <bruno@clisp.org>
54162         Ensure no #include statements inside extern "C" { ... }.
54163         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
54164         contain #include statements.
54165         * lib/time.in.h: Likewise.
54167 2010-03-20  Bruno Haible  <bruno@clisp.org>
54169         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
54170         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
54171         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
54172         Reported by John W. Eaton <jwe@gnu.org>.
54174 2010-03-20  Bruno Haible  <bruno@clisp.org>
54176         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
54177         Reported by Jim Meyering.
54179 2010-03-20  Bruno Haible  <bruno@clisp.org>
54181         pipe: Set errno upon failure.
54182         * lib/pipe.h: Specify that when -1 is returned, errno is set.
54183         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
54184         errno value in error message.
54186 2010-03-20  Bruno Haible  <bruno@clisp.org>
54187             Jim Meyering  <meyering@redhat.com>
54189         lchown: Avoid "unused variable" warning.
54190         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
54192 2010-03-20  Bruno Haible  <bruno@clisp.org>
54194         Work around unlink() bug on MacOS X 10.5.6.
54195         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
54196         attempting to unlink a parent directory.
54197         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
54198         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
54199         activate for the replacement function.
54200         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
54202 2010-03-20  Bruno Haible  <bruno@clisp.org>
54204         Fix link errors on Solaris 8.
54205         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
54206         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
54208 2010-03-19  Jim Meyering  <meyering@redhat.com>
54210         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
54211         The _LIBC implementation of build_range_exp correctly honors the
54212         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
54213         However, the non-_LIBC implementation would ignore that syntax-bit
54214         flag and return REG_ERANGE unconditionally.
54215         This change makes it honor that flag.
54216         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
54217         Make two pointer parameters "const".
54218         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
54219         (parse_bracket_exp): Update caller.
54221         regex.m4: correct the reversed range endpoint ([b-a]) test
54222         * m4/regex.m4: When requiring that [b-a] evoke failure,
54223         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
54224         test pass once again for x86-based systems.
54226 2010-03-19  Bruno Haible  <bruno@clisp.org>
54228         scandir: Fix link error on Solaris 8.
54229         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
54230         macros.
54232 2010-03-19  Bruno Haible  <bruno@clisp.org>
54234         getusershell: Fix documentation.
54235         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
54236         module.
54237         * doc/glibc-functions/setusershell.texi: Likewise.
54239         getusershell: Provide declaration, missing on Solaris 9.
54240         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
54241         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
54242         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
54243         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
54244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54245         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
54246         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
54247         HAVE_GETUSERSHELL.
54248         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
54250 2010-03-19  Bruno Haible  <bruno@clisp.org>
54252         wctype: Provide iswblank function.
54253         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
54254         exists and is fine.
54255         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
54256         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
54257         * tests/test-wctype.c (main): Re-enable the iswblank tests.
54258         * doc/posix-functions/iswblank.texi: Update.
54260 2010-03-19  Bruno Haible  <bruno@clisp.org>
54262         Tests of module 'pty' in C++ mode.
54263         * modules/pty-tests: New file.
54264         * tests/test-pty-c++.cc: New file.
54265         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54267 2010-03-19  Eric Blake  <eblake@redhat.com>
54269         logb: fix documentation
54270         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
54271         1.5 declaration bug.
54273         forkpty, openpty: prefer glibc's const-safe prototype
54274         * lib/forkpty.c (rpl_forkpty): New file.
54275         * lib/openpty.c (rpl_openpty): Likewise.
54276         * modules/forkpty (Files): Distribute it.
54277         * modules/openpty (Files): Likewise.
54278         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
54279         check...
54280         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
54281         replacement for non-const BSD signature.
54282         * modules/pty (Makefile.am): Substitute witnesses.
54283         * lib/pty.in.h (forkpty, openpty): Declare replacements.
54284         * tests/test-forkpty.c: Update signature check.
54285         * tests/test-openpty.c: Likewise.
54286         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
54287         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54289         forkpty, openpty: split functions into new modules
54290         * modules/pty (Makefile.am): Substitute new witnesses.
54291         (Libraries): Move library detection...
54292         * modules/forkpty: ...into new module.
54293         * modules/openpty: Another new module.
54294         * modules/pty-tests: Rename and split...
54295         * modules/forkpty-tests: ...to this...
54296         * modules/openpty-tests: ...and this.
54297         * tests/test-pty.c: Rename and split...
54298         * tests/test-forkpty.c: ...to this...
54299         * tests/test-openpty.c: ...and this.
54300         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
54301         (gl_PTY): Split library searching...
54302         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
54303         (gl_FORKPTY, gl_OPENPTY): New macros.
54304         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
54305         * NEWS: Mention the split.
54306         * MODULES.html.sh (Misc): Document the modules.
54307         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
54308         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54310         pty: improve replacement header
54311         * lib/pty.in.h: New file.
54312         * modules/pty (Files): Ship it.
54313         (Makefile.am): Always build replacement.
54314         * m4/pty.m4: Rename...
54315         * m4/pty_h.m4: ...to this.
54316         (gl_PTY): Modernize setting of witness macros; update check of
54317         forkpty to take proper advantage of cache.
54318         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
54320         getopt: avoid compiler warning
54321         * lib/getopt.c (attribute_hidden): Remove unused macro.
54323 2010-03-18  Bruno Haible  <bruno@clisp.org>
54325         Fix link errors on Solaris 8.
54326         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
54327         * modules/search-tests (test_search_c___LDADD): Likewise.
54328         * modules/signal-tests (test_signal_c___LDADD): Likewise.
54329         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
54330         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
54331         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
54332         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
54333         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
54334         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
54336 2010-03-18  Bruno Haible  <bruno@clisp.org>
54338         Fix bug introduced on 2010-03-14.
54339         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
54340         (gl_SPAWN_H): Require it.
54341         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
54342         Reported by Simon Josefsson.
54344 2010-03-18  Bruno Haible  <bruno@clisp.org>
54346         Fix typo introduced on 2009-12-31.
54347         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
54348         posix_spawn_file_actions_adddup2.
54350 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
54351         and Eric Blake  <eblake@redhat.com>
54353         test-vc-list-files-git: make more robust
54354         * tests/test-vc-list-files-git.sh: Unset problematic environment
54355         variables.  Chain commands together.
54357 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
54359         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
54360         `AC_CHECK_DECL' invocation.
54362 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
54364         * lib/inttostr.c (inttostr): Make sure the invocation of verify
54365         appears before executable statements. Suggested by Petr Sumbera
54366         <Petr.Sumbera@Sun.COM>.
54368 2010-03-14  Bruno Haible  <bruno@clisp.org>
54370         * tests/test-flock.c (test_exclusive): Comment out a test that causes
54371         portability problems. Instead use a simpler test.
54372         (main): Check that invalid arguments are rejected only on Linux.
54374 2010-03-14  Bruno Haible  <bruno@clisp.org>
54376         Fix bug introduced on 2009-12-31.
54377         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
54378         gl_PREREQ_SYS_H_WINSOCK2 always.
54379         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
54380         SYS_SOCKET_H variable.
54381         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
54382         Update comments.
54383         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
54384         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
54385         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54386         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54387         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
54389 2010-03-14  Bruno Haible  <bruno@clisp.org>
54391         Fix values returned by sinl, cosl.
54392         * lib/trigl.h: Add specification comments.
54393         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
54394         that combines the values from the precomputed table with the values of
54395         the Chebyshev polynomials.
54397 2010-03-14  Bruno Haible  <bruno@clisp.org>
54399         Fix compilation error when modules 'posix_spawn[p]' are not used.
54400         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
54401         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
54403 2010-03-14  Bruno Haible  <bruno@clisp.org>
54405         Fix compilation error on mingw when module 'time_r' is not used.
54406         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
54407         is 1.
54408         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
54409         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54410         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
54411         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
54413 2010-03-14  Bruno Haible  <bruno@clisp.org>
54415         Fix compilation error with Sun C.
54416         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
54417         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
54418         instead of GCC specific ULONG_LONG_MAX.
54419         * lib/xstrtoll.c: Likewise.
54420         * lib/xstrtoull.c: Likewise.
54422 2010-03-13  Bruno Haible  <bruno@clisp.org>
54424         Allow the user to disable C++ code and tests.
54425         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
54426         (gl_PROG_ANSI_CXX): Require it.
54428 2010-03-13  Bruno Haible  <bruno@clisp.org>
54430         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
54431         cases.
54433 2010-03-13  Bruno Haible  <bruno@clisp.org>
54435         Test that gnulib does not break the standard C++ headers.
54436         * tests/test-locale-c++2.cc: New file.
54437         * modules/locale-tests (Files): Add it.
54438         (Makefile.am): Compile it for test-locale-c++.
54439         * tests/test-math-c++2.cc: New file.
54440         * modules/math-tests (Files): Add it.
54441         (Makefile.am): Compile it for test-math-c++.
54442         * tests/test-signal-c++2.cc: New file.
54443         * modules/signal-tests (Files): Add it.
54444         (Makefile.am): Compile it for test-signal-c++.
54445         * tests/test-stdio-c++2.cc: New file.
54446         * modules/stdio-tests (Files): Add it.
54447         (Makefile.am): Compile it for test-stdio-c++.
54448         * tests/test-stdlib-c++2.cc: New file.
54449         * modules/stdlib-tests (Files): Add it.
54450         (Makefile.am): Compile it for test-stdlib-c++.
54451         * tests/test-string-c++2.cc: New file.
54452         * modules/string-tests (Files): Add it.
54453         (Makefile.am): Compile it for test-string-c++.
54454         * tests/test-time-c++2.cc: New file.
54455         * modules/time-tests (Files): Add it.
54456         (Makefile.am): Compile it for test-time-c++.
54457         Reported by John W. Eaton <jwe@gnu.org>.
54459 2010-03-13  Bruno Haible  <bruno@clisp.org>
54461         * gnulib-tool (func_usage): Clarify which options are available for
54462         --create-testdir and --create-megatestdir.
54464 2010-03-13  Bruno Haible  <bruno@clisp.org>
54466         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
54467         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
54468         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
54469         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
54470         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54471         when appropriate.
54472         Reported by Jim Meyering.
54474 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54476         * gnulib-tool (func_import): Explain origin of code.
54478 2010-03-12  Bruno Haible  <bruno@clisp.org>
54480         Fix problem with automake's definition of CXXLINK.
54481         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54482         Reported by Simon Josefsson and Ludovic Courtès.
54484 2010-03-12  Bruno Haible  <bruno@clisp.org>
54486         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54487         stable releases.
54489 2010-03-11  Bruno Haible  <bruno@clisp.org>
54491         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54492         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54493         whether the system provides one variant or multiple variants of the
54494         function.
54495         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54496         C++ compilers.
54497         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54498         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54499         Reported by Jim Meyering.
54501 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54503         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54505 2010-03-08  Bruno Haible  <bruno@clisp.org>
54507         gnulib-tool: Add support for --libtool in --create-testdir.
54508         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54509         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54511 2010-03-08  Eric Blake  <eblake@redhat.com>
54513         gnulib-tool.texi: mention possibility of git submodule
54514         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54515         submodules.
54516         * doc/.gitignore: Ignore another generated file.
54518 2010-03-08  Karl Berry  <karl@gnu.org>
54520         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54521         of committing gnulib files while skipping others.
54523 2010-03-07  Bruno Haible  <bruno@clisp.org>
54525         Tests of module 'wctype' in C++ mode.
54526         * tests/test-wctype-c++.cc: New file.
54527         * modules/wctype-tests (Files): Add it and tests/signature.h.
54528         (Depends-on): Add ansi-c++-opt.
54529         (Makefile.am): Arrange to compile and run test-wctype-c++.
54531         Tests of module 'wchar' in C++ mode.
54532         * tests/test-wchar-c++.cc: New file.
54533         * modules/wchar-tests (Files): Add it and tests/signature.h.
54534         (Depends-on): Add ansi-c++-opt.
54535         (Makefile.am): Arrange to compile and run test-wchar-c++.
54536         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54537         gl_MODULE_INDICATOR.
54539         Tests of module 'unistd' in C++ mode.
54540         * tests/test-unistd-c++.cc: New file.
54541         * modules/unistd-tests (Files): Add it and tests/signature.h.
54542         (Depends-on): Add ansi-c++-opt.
54543         (Makefile.am): Arrange to compile and run test-unistd-c++.
54544         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54545         gl_MODULE_INDICATOR.
54547         Tests of module 'time' in C++ mode.
54548         * tests/test-time-c++.cc: New file.
54549         * modules/time-tests (Files): Add it and tests/signature.h.
54550         (Depends-on): Add ansi-c++-opt.
54551         (Makefile.am): Arrange to compile and run test-time-c++.
54552         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54554         Tests of module 'sys_time' in C++ mode.
54555         * tests/test-sys_time-c++.cc: New file.
54556         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54557         (Depends-on): Add ansi-c++-opt.
54558         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54559         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54560         gl_MODULE_INDICATOR.
54562         Tests of module 'sys_stat' in C++ mode.
54563         * tests/test-sys_stat-c++.cc: New file.
54564         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54565         (Depends-on): Add ansi-c++-opt.
54566         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54567         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54568         gl_MODULE_INDICATOR.
54570         Tests of module 'sys_socket' in C++ mode.
54571         * tests/test-sys_socket-c++.cc: New file.
54572         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54573         (Depends-on): Add ansi-c++-opt.
54574         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54575         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54576         gl_MODULE_INDICATOR.
54578         Tests of module 'sys_select' in C++ mode.
54579         * tests/test-sys_select-c++.cc: New file.
54580         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54581         (Depends-on): Add ansi-c++-opt.
54582         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54583         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54584         gl_MODULE_INDICATOR.
54586         Tests of module 'sys_ioctl' in C++ mode.
54587         * tests/test-sys_ioctl-c++.cc: New file.
54588         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54589         (Depends-on): Add ansi-c++-opt.
54590         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54591         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54592         gl_MODULE_INDICATOR.
54594         Tests of module 'string' in C++ mode.
54595         * tests/test-string-c++.cc: New file.
54596         * modules/string-tests (Files): Add it and tests/signature.h.
54597         (Depends-on): Add ansi-c++-opt.
54598         (Makefile.am): Arrange to compile and run test-string-c++.
54599         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54600         gl_MODULE_INDICATOR.
54602         Tests of module 'stdlib' in C++ mode.
54603         * tests/test-stdlib-c++.cc: New file.
54604         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54605         (Depends-on): Add ansi-c++-opt.
54606         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54607         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54608         gl_MODULE_INDICATOR.
54610         Tests of module 'stdio' in C++ mode.
54611         * tests/test-stdio-c++.cc: New file.
54612         * modules/stdio-tests (Files): Add it and tests/signature.h.
54613         (Depends-on): Add ansi-c++-opt.
54614         (Makefile.am): Arrange to compile and run test-stdio-c++.
54615         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54616         gl_MODULE_INDICATOR.
54618         Tests of module 'spawn' in C++ mode.
54619         * tests/test-spawn-c++.cc: New file.
54620         * modules/spawn-tests (Files): Add it and tests/signature.h.
54621         (Depends-on): Add ansi-c++-opt.
54622         (Makefile.am): Arrange to compile and run test-spawn-c++.
54623         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54624         gl_MODULE_INDICATOR.
54626         Tests of module 'signal' in C++ mode.
54627         * tests/test-signal-c++.cc: New file.
54628         * modules/signal-tests (Files): Add it and tests/signature.h.
54629         (Depends-on): Add ansi-c++-opt.
54630         (Makefile.am): Arrange to compile and run test-signal-c++.
54631         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54632         gl_MODULE_INDICATOR.
54634         Tests of module 'search' in C++ mode.
54635         * tests/test-search-c++.cc: New file.
54636         * modules/search-tests (Files): Add it and tests/signature.h.
54637         (Depends-on): Add ansi-c++-opt.
54638         (Makefile.am): Arrange to compile and run test-search-c++.
54639         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54640         gl_MODULE_INDICATOR.
54642         Tests of module 'math' in C++ mode.
54643         * tests/test-math-c++.cc: New file.
54644         * modules/math-tests (Files): Add it and tests/signature.h.
54645         (Depends-on): Add ansi-c++-opt.
54646         (Makefile.am): Arrange to compile and run test-math-c++.
54647         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54649         Tests of module 'locale' in C++ mode.
54650         * tests/test-locale-c++.cc: New file.
54651         * modules/locale-tests (Files): Add it and tests/signature.h.
54652         (Depends-on): Add ansi-c++-opt.
54653         (Makefile.am): Arrange to compile and run test-locale-c++.
54654         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54655         gl_MODULE_INDICATOR.
54657         Tests of module 'langinfo' in C++ mode.
54658         * tests/test-langinfo-c++.cc: New file.
54659         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54660         (Depends-on): Add ansi-c++-opt.
54661         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54662         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54663         gl_MODULE_INDICATOR.
54665         Tests of module 'iconv-h' in C++ mode.
54666         * tests/test-iconv-h-c++.cc: New file.
54667         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54668         (Depends-on): Add ansi-c++-opt.
54669         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54671         Tests of module 'glob' in C++ mode.
54672         * tests/test-glob-c++.cc: New file.
54673         * modules/glob-tests (Files): Add it.
54674         (Depends-on): Add ansi-c++-opt.
54675         (Makefile.am): Arrange to compile and run test-glob-c++.
54677         Tests of module 'fcntl-h' in C++ mode.
54678         * tests/test-fcntl-h-c++.cc: New file.
54679         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54680         (Depends-on): Add ansi-c++-opt.
54681         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54682         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54683         gl_MODULE_INDICATOR.
54685         Tests of module 'dirent' in C++ mode.
54686         * tests/test-dirent-c++.cc: New file.
54687         * modules/dirent-tests (Files): Add it and tests/signature.h.
54688         (Depends-on): Add ansi-c++-opt.
54689         (Makefile.am): Arrange to compile and run test-dirent-c++.
54690         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54691         gl_MODULE_INDICATOR.
54693         New module 'ansi-c++-opt'.
54694         * modules/ansi-c++-opt: New file.
54695         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54697         Document C++ namespace mode.
54698         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54700         wctype: Avoid #define replacements in C++ mode.
54701         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54702         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54703         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54704         In C++, define a namespaced alias symbol.
54705         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54706         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54707         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54708         rule.
54710         wchar: Avoid #define replacements in C++ mode.
54711         * lib/wchar.in.h: Include c++defs.h.
54712         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54713         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54714         symbol.
54715         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54716         * modules/wchar (Depends-on): Add c++defs.
54717         (Makefile.am): Update wchar.h rule.
54719         unistd: Avoid #define replacements in C++ mode.
54720         * lib/unistd.in.h: Include c++defs.h.
54721         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54722         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54723         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54724         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54725         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54726         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54727         symbol.
54728         (environ): Update.
54729         * modules/unistd (Depends-on): Add c++defs.
54730         (Makefile.am): Update unistd.h rule.
54732         time: Avoid #define replacements in C++ mode.
54733         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54734         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54735         define a namespaced alias symbol.
54736         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54737         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54738         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54739         * modules/time (Depends-on): Add c++defs, warn-on-use.
54740         (Makefile.am): Update time.h rule.
54741         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54742         * modules/nanosleep (configure.ac): Likewise.
54743         * modules/strptime (configure.ac): Likewise.
54744         * modules/timegm (configure.ac): Likewise.
54746         sys_time: Avoid #define replacements in C++ mode.
54747         * lib/sys_time.in.h: Include c++defs.h.
54748         (gettimeofday): In C++, define a namespaced alias symbol.
54749         * modules/sys_time (Depends-on): Add c++defs.
54750         (Makefile.am): Update sys/time.h rule.
54752         sys_stat: Avoid #define replacements in C++ mode.
54753         * lib/sys_stat.in.h: Include c++defs.h.
54754         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54755         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54756         namespaced alias symbol.
54757         In C++, define a namespaced alias symbol.
54758         * modules/sys_stat (Depends-on): Add c++defs.
54759         (Makefile.am): Update sys/stat.h rule.
54761         sys_socket: Avoid #define replacements in C++ mode.
54762         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54763         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54764         definitions also when the system has a <sys/socket.h>.
54765         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54766         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54767         In C++, define a namespaced alias symbol.
54768         * modules/sys_socket (Depends-on): Add c++defs.
54769         (Makefile.am): Update sys/socket.h rule.
54771         sys_select: Avoid #define replacements in C++ mode.
54772         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54773         definitions also when the system has a <sys/select.h>.
54774         (select): In C++, define a namespaced alias symbol.
54775         * modules/sys_select (Depends-on): Add c++defs.
54776         (Makefile.am): Update sys/select.h rule.
54778         sys_ioctl: Avoid #define replacements in C++ mode.
54779         * lib/sys_ioctl.in.h: Include c++defs.h.
54780         (ioctl): In C++, define a namespaced alias symbol.
54781         * modules/sys_ioctl (Depends-on): Add c++defs.
54782         (Makefile.am): Update sys/ioctl.h rule.
54784         string: Avoid #define replacements in C++ mode.
54785         * lib/string.in.h: Include c++defs.h.
54786         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54787         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54788         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54789         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54790         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54791         * modules/string (Depends-on): Add c++defs.
54792         (Makefile.am): Update string.h rule.
54794         stdlib: Avoid #define replacements in C++ mode.
54795         * lib/stdlib.in.h: Include c++defs.h.
54796         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54797         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54798         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54799         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54800         symbol.
54801         * modules/stdlib (Depends-on): Add c++defs.
54802         (Makefile.am): Update stdlib.h rule.
54804         stdio: Avoid #define replacements in C++ mode.
54805         * lib/stdio.in.h: Include c++defs.h.
54806         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54807         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54808         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54809         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54810         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54811         namespaced alias symbol.
54812         * modules/stdio (Depends-on): Add c++defs.
54813         (Makefile.am): Update stdio.h rule.
54815         spawn: Avoid #define replacements in C++ mode.
54816         * lib/spawn.in.h: Include c++defs.h.
54817         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54818         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54819         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54820         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54821         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54822         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54823         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54824         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54825         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54826         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54827         In C++, define a namespaced alias symbol.
54828         * modules/spawn (Depends-on): Add c++defs.
54829         (Makefile.am): Update spawn.h rule.
54831         signal: Avoid #define replacements in C++ mode.
54832         * lib/signal.in.h: Include c++defs.h.
54833         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54834         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54835         namespaced alias symbol.
54836         * modules/signal (Depends-on): Add c++defs.
54837         (Makefile.am): Update signal.h rule.
54839         search: Avoid #define replacements in C++ mode.
54840         * lib/search.in.h: Include c++defs.h.
54841         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54842         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54843         symbol.
54844         * modules/search (Depends-on): Add c++defs.
54845         (Makefile.am): Update search.h rule.
54847         math: Avoid #define replacements in C++ mode.
54848         * lib/math.in.h: Include c++defs.h.
54849         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54850         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54851         trunc, truncl): In C++, define a namespaced alias symbol.
54852         * modules/math (Depends-on): Add c++defs.
54853         (Makefile.am): Update math.h rule.
54855         locale: Avoid #define replacements in C++ mode.
54856         * lib/locale.in.h: Include c++defs.h.
54857         (duplocale): In C++, define a namespaced alias symbol.
54858         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54859         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54860         * modules/locale (Depends-on): Add c++defs.
54861         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54863         langinfo: Avoid #define replacements in C++ mode.
54864         * lib/langinfo.in.h: Include c++defs.h.
54865         (nl_langinfo): In C++, define a namespaced alias symbol.
54866         * modules/langinfo (Depends-on): Add c++defs.
54867         (Makefile.am): Update langinfo.h rule.
54869         iconv-h: Avoid #define replacements in C++ mode.
54870         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54871         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54872         symbol.
54873         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54874         whenever iconv is present.
54875         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54876         (Makefile.am): Update iconv.h rule.
54878         glob: Avoid #define replacements in C++ mode.
54879         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54880         (_gl_glob_errfunc_fn): New type.
54881         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54882         symbol.
54883         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54884         (Makefile.am): Update glob.h rule.
54886         fcntl-h: Avoid #define replacements in C++ mode.
54887         * lib/fcntl.in.h: Include c++defs.h.
54888         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54889         * modules/fcntl-h (Depends-on): Add c++defs.
54890         (Makefile.am): Update fcntl.h rule.
54892         dirent: Avoid #define replacements in C++ mode.
54893         * lib/dirent.in.h: Include c++defs.h.
54894         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54895         namespaced alias symbol.
54896         (dirfd): Update declaration.
54897         * modules/dirent (Depends-on): Add c++defs.
54898         (Makefile.am): Update dirent.h rule.
54900         ctype: Make it usable in C++ code.
54901         * lib/ctype.in.h: Include c++defs.h.
54902         (isblank): Declare as extern "C".
54903         * modules/ctype (Depends-on): Add c++defs.
54904         (Makefile.am): Update ctype.h rule.
54906         New module 'c++defs'.
54907         * modules/c++defs: New file.
54908         * build-aux/c++defs.h: New file.
54909         Reported by John W. Eaton <jwe@gnu.org>.
54911 2010-03-07  Bruno Haible  <bruno@clisp.org>
54913         logb: Provide missing declaration for Cygwin.
54914         * lib/math.in.h (logb): New declaration.
54915         * m4/logb.m4: New file.
54916         * modules/logb (Files): Add m4/logb.m4.
54917         (Depends-on): Add math.
54918         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54919         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54921         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54922         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54924 2010-03-07  Bruno Haible  <bruno@clisp.org>
54926         Fix test-cond link error.
54927         * tests/test-cond.c: Include <stdio.h>.
54929 2010-03-07  Bruno Haible  <bruno@clisp.org>
54931         Fix test-dirent-safer link error.
54932         * modules/dirent-safer-tests (Makefile.am): Define
54933         test_dirent_safer_LDADD.
54935 2010-03-07  Bruno Haible  <bruno@clisp.org>
54937         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54938         among default module list.
54940 2010-03-07  Bruno Haible  <bruno@clisp.org>
54942         Fix link error on platforms with GNU libiconv.
54943         * modules/unistr/u8-strcoll-tests (Makefile): Define
54944         test_u8_strcoll_LDADD.
54945         * modules/unistr/u16-strcoll-tests (Makefile): Define
54946         test_u16_strcoll_LDADD.
54947         * modules/unistr/u32-strcoll-tests (Makefile): Define
54948         test_u32_strcoll_LDADD.
54950 2010-03-07  Bruno Haible  <bruno@clisp.org>
54952         Use POSIX declarations for socket functions.
54953         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54954         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54955         rpl_sendto): Change declaration to match POSIX.
54956         * lib/connect.c (rpl_connect): Likewise.
54957         * lib/accept.c (rpl_accept): Likewise.
54958         * lib/bind.c (rpl_bind): Likewise.
54959         * lib/getpeername.c (rpl_getpeername): Likewise.
54960         * lib/getsockname.c (rpl_getsockname): Likewise.
54961         * lib/recv.c (rpl_recv): Likewise.
54962         * lib/send.c (rpl_send): Likewise.
54963         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54964         * lib/sendto.c (rpl_sendto): Likewise.
54966 2010-03-06  Bruno Haible  <bruno@clisp.org>
54968         Clarify access, euidaccess, faccessat.
54969         * doc/posix-functions/faccessat.texi: Mention security problem under
54970         "Other problems", not "Portability problems".
54971         * doc/posix-functions/access.texi: Likewise. Mention a related security
54972         problem.
54973         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54974         * lib/euidaccess.c: Add comments about platforms.
54975         * lib/unistd.in.h (access, euidaccess): Add warnings.
54977 2010-03-07  Bruno Haible  <bruno@clisp.org>
54979         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54980         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54981         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54982         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54983         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54984         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54985         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54986         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54987         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54988         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54989         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54990         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54991         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54992         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54993         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54994         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54995         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54996         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54997         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54998         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54999         Likewise.
55000         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
55001         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
55002         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
55003         Likewise.
55004         * tests/test-spawn.c (main): Make it work when
55005         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
55007 2010-03-07  Bruno Haible  <bruno@clisp.org>
55009         Fix incorrect Makefile.am generation in German locale.
55010         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55011         Execute sed command with character range in C locale.
55013 2010-03-06  Bruno Haible  <bruno@clisp.org>
55015         Tests for module 'iconv-h'.
55016         * modules/iconv-h-tests: New file.
55017         * tests/test-iconv-h.c: New file.
55019         New module 'iconv-h'.
55020         * modules/iconv-h: New file.
55021         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
55022         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
55023         (configure.ac): Remove gl_ICONV_H.
55024         (Makefile.am): Remove rule for iconv.h.
55026 2010-03-06  Bruno Haible  <bruno@clisp.org>
55028         More consistent naming of *.m4 files.
55029         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
55030         * modules/wctype (Files): Update.
55032         More consistent naming of *.m4 files.
55033         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
55034         * modules/wchar (Files): Update.
55036 2010-03-06  Jim Meyering  <meyering@redhat.com>
55038         euidaccess: relax license to LGPLv2+
55039         * modules/euidaccess (License): Relax to LGPLv2+.
55041 2010-03-06  Bruno Haible  <bruno@clisp.org>
55043         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
55044         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
55045         (Makefile.am): Augment lib_SOURCES instead.
55047 2010-03-04  Jim Meyering  <meyering@redhat.com>
55049         utime: remove obsolete module
55050         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
55051         unnecessary for years, and has been marked as obsolete for 10 months.
55052         * modules/utime: Remove file.
55053         * lib/utime.c: Remove file.
55054         * m4/utime.m4: Remove file.
55055         * m4/utimes-null.m4: Remove file.
55056         * doc/posix-functions/utime.texi (utime): Remove reference to
55057         the module.  Move the sole "fixed by gnulib" item into the
55058         "problems not fixed by Gnulib" list.
55059         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
55061 2010-03-05  Simon Josefsson  <simon@josefsson.org>
55063         * modules/exit (License): Relax license to LGPLv2+.
55064         (Status): Mark as obsolete.
55065         * NEWS: Mention deprecated 'exit' module.
55066         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
55067         of now obsolete 'exit'.
55069 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55071         fts-lgpl: remove unused module
55072         * modules/fts-lgpl: Remove.
55073         * MODULES.html.sh (func_all_modules): Adjust.
55074         * check-module (find_included_lib_files): Adjust.
55075         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
55077 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
55079         copy-acl: enhance Solaris ACL error handling
55080         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
55081         * lib/set-mode-acl.c (qset_acl): Likewise.
55083 2010-03-02  Bruno Haible  <bruno@clisp.org>
55085         spawn: Don't override the system defined values on FreeBSD 8.
55086         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
55087         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
55088         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
55089         if HAVE_POSIX_SPAWN is 1.
55090         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
55092 2010-03-01  Bruno Haible  <bruno@clisp.org>
55094         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55095         regarding Automake.
55097 2010-02-25  Bruno Haible  <bruno@clisp.org>
55099         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
55100         * gnulib-tool: Define 'echo' as a function only before the ksh alias
55101         setting, not afterwards.
55102         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
55104 2010-02-24  Eric Blake  <eblake@redhat.com>
55106         bootstrap, git-version-gen: use timestamp
55107         * build-aux/git-version-gen (scriptversion): Force UTC.
55108         * build-aux/bootstrap (scriptversion): New variable.
55110         bootstrap: allow older git
55111         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
55112         older than 1.6.4.  Requested by the libvirt project.
55114 2010-02-23  Eric Blake  <eblake@redhat.com>
55116         warn-on-use: work with old autoconf
55117         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
55118         AS_VAR semantics of autoconf 2.60.
55119         Reported by Bruno Haible.
55121         bootstrap: improve some comments
55122         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
55123         clarification comments.
55125         gettimeofday: provide correct function
55126         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
55127         when replacement is declared, otherwise provide gettimeofday.
55128         Reported by Michael Goffioul.
55130 2010-02-23  Jim Meyering  <meyering@redhat.com>
55132         lib-ignore: relax license to "unlimited", not LGPLv2+
55133         * modules/lib-ignore (License): Relax to "unlimited".
55135 2010-02-23  Jim Meyering  <meyering@redhat.com>
55137         lib-ignore: relax license to LGPLv2+
55138         * modules/lib-ignore (License): Relax to LGPLv2+.
55140 2010-02-22  Eric Blake  <eblake@redhat.com>
55142         lseek: avoid bash 3.2 broken pipe bug
55143         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
55144         warning from bash 3.2.
55145         Reported by Ben Pfaff, with analysis from Bruno Haible.
55147         bootstrap: support non-FSF copyright holder
55148         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
55149         bootstrap.conf override of COPYRIGHT_HOLDER.
55150         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
55152         bootstrap: interoperate with gettext 0.14.1
55153         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
55155         bootstrap: allow for alternate submodule location
55156         * build-aux/bootstrap (gnulib_path): New variable; use instead of
55157         hardcoding submodule location.
55158         (gnulib_mk): Allow direct use of Makefile.am.
55160         bootstrap: use GNULIB_SRCDIR to reduce disk usage
55161         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
55162         rather than reconfiguring where the submodule points.
55164         gettimeofday: restore support for platforms that lack function
55165         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
55166         replacement if function is missing.
55167         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
55168         * modules/sys_time (Makefile.am): Substitute it.
55169         * lib/sys_time.in.h (gettimeofday): Check it.
55170         Reported by Michael Goffioul.
55172 2010-02-21  Bruno Haible  <bruno@clisp.org>
55174         * lib/stdio.in.h (obstack_printf): Fix typo.
55176 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
55178         vc-list-files: use bzr ls's -R option
55179         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
55180         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
55182 2010-02-21  Jim Meyering  <meyering@redhat.com>
55184         init.sh: fix EXEEXT shims to work also for names like test-prog
55185         * tests/init.sh: Re-exec a better shell, when needed.
55186         If the current shell lacks support for posix $(...), an init.sh-using
55187         test will now try to find a shell that supports that.  If EXEEXT is
55188         nonempty, we also require support for hyphen-in-alias-name and shell
55189         substitutions like ${var#glob}.  Failure to find such a shell results
55190         in a skipped test.
55192 2010-02-21  Bruno Haible  <bruno@clisp.org>
55194         Really work around "broken pipe" error message from bash 3.2.
55195         * gnulib-tool (func_reset_sigpipe): Remove function.
55196         (echo): In bash 3.2, define to a function that uses printf.
55197         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
55199 2010-02-20  Bruno Haible  <bruno@clisp.org>
55201         Restore support for automake 1.9.6 with autoconf 2.61.
55202         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
55203         Reported by James Youngman <jay@gnu.org>.
55205 2010-02-20  Bruno Haible  <bruno@clisp.org>
55207         Improve *printf warning condition.
55208         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
55209         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
55210         and the function is overridden due to SIGPIPE emulation.
55212 2010-02-20  Bruno Haible  <bruno@clisp.org>
55214         * lib/stdio.in.h: Tweak comments.
55216 2010-02-19  Bruno Haible  <bruno@clisp.org>
55218         Make it easier to find modules. New gnulib-tool option '--find'.
55219         * gnulib-tool: New option --find.
55220         (func_usage): Document it.
55221         (func_sanitize_modulelist): New function, extracted from
55222         func_all_modules.
55223         (func_all_modules): Invoke it.
55224         * doc/gnulib-tool.texi (Which modules?): New node.
55226 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
55228         * lib/sys_select.in.h: Provide select replacement even if
55229         sys/select.h exists on a system, for Interix.
55231 2010-02-18  Jim Meyering  <meyering@redhat.com>
55233         init.sh: don't use $(...) just yet
55234         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
55235         to accommodate e.g., Solaris' /bin/sh.
55237 2010-02-17  Bruno Haible  <bruno@clisp.org>
55239         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
55240         Reported by Ludovic Courtès <ludo@gnu.org>.
55242 2010-02-16  Simon Josefsson  <simon@josefsson.org>
55244         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
55245         linking with -lintl.
55247 2010-02-17  Simon Josefsson  <simon@josefsson.org>
55249         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
55250         if not provided by the system's netdb.h.  Reported by
55251         ludo@gnu.org (Ludovic Courtès).
55253 2010-02-15  Jim Meyering  <meyering@redhat.com>
55255         init.sh: improve portability and efficiency
55256         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
55257         "dummy" in a for loop.
55258         Use '!', not '^' to select the complement of a character set used
55259         in a "case" statement.
55260         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
55261         Suggestions from Eric Blake.
55263         init.sh: automatically accommodate programs with the .exe suffix
55264         Automatically arrange for an invocation of "prog" to execute the
55265         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
55266         may use the simpler "prog", yet still work when built on a system
55267         that requires specifying the added suffix.
55268         Do this by constructing a function named "prog" that invokes
55269         "prog.exe" for each .exe file in selected directories.
55270         * tests/init.sh (find_exe_basenames_): New function.
55271         (create_exe_shim_functions_): New function.
55272         (path_prepend_): Use it.
55274         maint.mk: mark syntax-check sc_*.m rules as .PHONY
55275         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
55276         "make -t syntax-check" doesn't create a ton of sc_*.m files.
55278 2010-02-14  Jim Meyering  <meyering@redhat.com>
55280         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
55281         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
55282         (sc_prohibit_hash_pjw_without_use): New rule.
55284         maint.mk: allow the default upload destination dir to be overridden
55285         * top/maint.mk (upload_dest_dir_): Define with a default that
55286         preserves the status quo.
55287         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
55288         Reported by Peter Simons.
55290         maint.mk: prohibit inclusion of "hash.h" without_use
55291         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
55293 2010-02-10  Jim Meyering  <meyering@redhat.com>
55295         maint.mk: prohibit inclusion of "ignore-value.h" without_use
55296         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
55298 2010-02-09  Eric Blake  <ebb9@byu.net>
55299         and Bruno Haible  <bruno@clisp.org>
55301         obstack-printf-posix: ensure declaration
55302         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
55303         extracted from gl_FUNC_OBSTACK_PRINTF.
55304         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
55305         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55306         Likewise.
55307         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
55308         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
55309         0.
55311 2010-02-08  Bruno Haible  <bruno@clisp.org>
55313         gnulib-tool: Fix typo in 2010-02-07 commit.
55314         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
55315         Reported by Eric Blake.
55317 2010-02-07  Bruno Haible  <bruno@clisp.org>
55319         gnulib-tool: Fix up caching patches.
55320         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
55321         option --no-cache. Use associative arrays when supported by the shell.
55322         (sed_comments): New variable.
55323         (modcache): Renamed from do_cache.
55324         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
55325         abbreviate unnecessarily.
55326         (have_associative): New variable.
55327         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
55328         way also for ksh and zsh.
55329         (func_init_sed_convert_to_cache_statements): New function, extracted
55330         from func_cache_lookup_module. Add support for associative arrays.
55331         Don't set the c_MODULE_cached variable here. Ignore all lines before
55332         the first field header. Remove only the final newline, not all trailing
55333         newlines. Support empty fields correctly. Limit the use of 'eval' to
55334         assignments.
55335         (func_get_description, func_get_status, func_get_notice,
55336         func_get_applicability, func_get_filelist, func_get_dependencies,
55337         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
55338         func_get_automake_snippet, func_get_include_directive,
55339         func_get_link_directive, func_get_license, func_get_maintainer):
55340         Update documentation. List the unoptimized code first. Add support for
55341         associative arrays. Limit the use of 'eval' to assignments.
55342         (func_get_applicability): Undo stylistic pessimisations.
55343         (func_get_automake_snippet, func_get_include_directive): Reduce code
55344         duplication.
55345         (func_modules_transitive_closure, func_modules_add_dummy,
55346         func_modules_notice, func_modules_to_filelist, func_add_file,
55347         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
55348         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
55349         func_create_testdir, func_create_megatestdir): Update documentation.
55351 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55353         * gnulib-tool (func_cache_lookup_module): Store the module name
55354         belonging to the cache variable; error out if two different
55355         module names map to the same cache variable name.
55357 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55359         gnulib-tool: Make caching optional.
55360         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
55361         Update matching short versions of --no-changelog.
55362         (func_usage): Update.
55363         (sed_extract_cache_prog): Renamed from ...
55364         (sed_extract_prog): ... this; revert to old extraction script.
55365         (func_get_description, func_get_status)
55366         (func_get_notice, func_get_applicability, func_get_filelist)
55367         (func_get_dependencies, func_get_autoconf_early_snippet)
55368         (func_get_autoconf_snippet, func_get_automake_snippet)
55369         (func_get_include_directive, func_get_link_directive)
55370         (func_get_license, func_get_maintainer): If $do_cache is false,
55371         use old, non-caching extraction scripts.
55372         Suggestion by Bruno Haible.
55374 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55376         gnulib-tool: cache module metainformation.
55377         * gnulib-tool (sed_extract_prog): Match newline before each
55378         header, and rewrite header to a shell variable suffix.
55379         (func_cache_var, func_cache_lookup_module): New functions,
55380         to turn a module name into a cache variable prefix, and to
55381         look up and cache module metainformation.
55382         (func_get_description, func_get_status)
55383         (func_get_notice, func_get_applicability, func_get_filelist)
55384         (func_get_dependencies, func_get_autoconf_early_snippet)
55385         (func_get_autoconf_snippet, func_get_automake_snippet)
55386         (func_get_include_directive, func_get_link_directive)
55387         (func_get_license, func_get_maintainer): Use
55388         func_cache_lookup_module.
55390 2010-02-07  Bruno Haible  <bruno@clisp.org>
55392         fnctl: Fix missing dependency.
55393         * modules/fcntl (Depends-on): Add getdtablesize.
55394         Reported by John W. Eaton <jwe@gnu.org>.
55396 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55398         Argp: fix recognition of short alias options.
55400         * lib/argp-parse.c (convert_options): Fix improper use of
55401         `|' between character values.
55402         * tests/test-argp.c (group1_option): New alias option
55403         --read (-r).
55404         (group1_parser): Special handling for 'r'.
55405         (test15): New test case.
55406         (test_fun): Add test15.
55407         * tests/test-argp-2.sh: Update expected --help and --usage
55408         outputs.
55410 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55412         * tests/test-argp.c: Fix indentation.
55414 2010-02-04  Eric Blake  <ebb9@byu.net>
55416         gettimeofday: expose type of second argument
55417         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
55418         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
55419         * tests/test-gettimeofday.c: Use it to silence warning.
55420         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
55421         the issue.
55423 2010-02-03  Jim Meyering  <meyering@redhat.com>
55425         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
55426         * lib/regcomp.c (TYPE_SIGNED): Define.
55427         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
55429         regcomp.c: avoid a new -Wshadow warning
55430         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
55432 2010-02-01  Jim Meyering  <meyering@redhat.com>
55434         removing useless parentheses in cpp #define directives
55435         For motivation, see commit c0221df4, "define STREQ(a,b)
55436         consistently, removing useless parentheses"
55437         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
55438         * lib/mountlist.c (MNT_IGNORE): Likewise.
55439         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
55441 2010-02-01  Eric Blake  <ebb9@byu.net>
55443         sys_time: use link-warning
55444         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
55445         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
55446         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
55447         * modules/sys_time (Depends-on): Add warn-on-use.
55448         (Makefile.am): Always build replacement.
55449         (configure.ac): Update substitutions.
55450         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
55451         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
55452         bother with SYS_TIME_H.
55453         * modules/gettimeofday (configure.ac): Declare indicator.
55454         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
55455         in use.
55457         closein-tests: silence compiler warning
55458         * tests/test-closein.c (main): Ignore fread result.
55459         * modules/closein-tests (Depends-on): Add ignore-value.
55461         tests: silence warning about system return
55462         * tests/test-areadlink-with-size.c (main): Ignore system result.
55463         * tests/test-areadlink.c (main): Likewise.
55464         * tests/test-areadlinkat-with-size.c (main): Likewise.
55465         * tests/test-areadlinkat.c (main): Likewise.
55466         * tests/test-canonicalize-lgpl.c (main): Likewise.
55467         * tests/test-canonicalize.c (main): Likewise.
55468         * tests/test-chown.c (main): Likewise.
55469         * tests/test-fchownat.c (main): Likewise.
55470         * tests/test-fdutimensat.c (main): Likewise.
55471         * tests/test-fstatat.c (main): Likewise.
55472         * tests/test-futimens.c (main): Likewise.
55473         * tests/test-lchown.c (main): Likewise.
55474         * tests/test-link.c (main): Likewise.
55475         * tests/test-linkat.c (main): Likewise.
55476         * tests/test-lstat.c (main): Likewise.
55477         * tests/test-mkdir.c (main): Likewise.
55478         * tests/test-mkdirat.c (main): Likewise.
55479         * tests/test-mkfifo.c (main): Likewise.
55480         * tests/test-mkfifoat.c (main): Likewise.
55481         * tests/test-mknod.c (main): Likewise.
55482         * tests/test-readlink.c (main): Likewise.
55483         * tests/test-remove.c (main): Likewise.
55484         * tests/test-rename.c (main): Likewise.
55485         * tests/test-renameat.c (main): Likewise.
55486         * tests/test-rmdir.c (main): Likewise.
55487         * tests/test-symlink.c (main): Likewise.
55488         * tests/test-symlinkat.c (main): Likewise.
55489         * tests/test-unlink.c (main): Likewise.
55490         * tests/test-unlinkat.c (main): Likewise.
55491         * tests/test-utimens.c (main): Likewise.
55492         * tests/test-utimensat.c (main): Likewise.
55493         * modules/areadlink-tests (Depends-on): Add ignore-value.
55494         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55495         * modules/areadlinkat-tests (Depends-on): Likewise.
55496         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55497         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55498         * modules/canonicalize-tests (Depends-on): Likewise.
55499         * modules/chown-tests (Depends-on): Likewise.
55500         * modules/fdutimensat-tests (Depends-on): Likewise.
55501         * modules/futimens-tests (Depends-on): Likewise.
55502         * modules/lchown-tests (Depends-on): Likewise.
55503         * modules/link-tests (Depends-on): Likewise.
55504         * modules/linkat-tests (Depends-on): Likewise.
55505         * modules/lstat-tests (Depends-on): Likewise.
55506         * modules/mkdir-tests (Depends-on): Likewise.
55507         * modules/mkfifo-tests (Depends-on): Likewise.
55508         * modules/mkfifoat-tests (Depends-on): Likewise.
55509         * modules/mknod-tests (Depends-on): Likewise.
55510         * modules/openat-tests (Depends-on): Likewise.
55511         * modules/readlink-tests (Depends-on): Likewise.
55512         * modules/remove-tests (Depends-on): Likewise.
55513         * modules/rename-tests (Depends-on): Likewise.
55514         * modules/renameat-tests (Depends-on): Likewise.
55515         * modules/rmdir-tests (Depends-on): Likewise.
55516         * modules/symlink-tests (Depends-on): Likewise.
55517         * modules/symlinkat-tests (Depends-on): Likewise.
55518         * modules/unlink-tests (Depends-on): Likewise.
55519         * modules/utimens-tests (Depends-on): Likewise.
55520         * modules/utimensat-tests (Depends-on): Likewise.
55522 2010-01-31  Bruno Haible  <bruno@clisp.org>
55524         Perform the same test for many <math.h> functions.
55525         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55526         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55527         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55528         of gl_MATHFUNC.
55529         * modules/acos (configure.ac): Likewise.
55530         * modules/asin (configure.ac): Likewise.
55531         * modules/atan (configure.ac): Likewise.
55532         * modules/atan2 (configure.ac): Likewise.
55533         * modules/cbrt (configure.ac): Likewise.
55534         * modules/copysign (configure.ac): Likewise.
55535         * modules/cos (configure.ac): Likewise.
55536         * modules/cosh (configure.ac): Likewise.
55537         * modules/erf (configure.ac): Likewise.
55538         * modules/erfc (configure.ac): Likewise.
55539         * modules/exp (configure.ac): Likewise.
55540         * modules/fmod (configure.ac): Likewise.
55541         * modules/hypot (configure.ac): Likewise.
55542         * modules/j0 (configure.ac): Likewise.
55543         * modules/j1 (configure.ac): Likewise.
55544         * modules/jn (configure.ac): Likewise.
55545         * modules/lgamma (configure.ac): Likewise.
55546         * modules/log (configure.ac): Likewise.
55547         * modules/log10 (configure.ac): Likewise.
55548         * modules/log1p (configure.ac): Likewise.
55549         * modules/pow (configure.ac): Likewise.
55550         * modules/remainder (configure.ac): Likewise.
55551         * modules/sin (configure.ac): Likewise.
55552         * modules/sinh (configure.ac): Likewise.
55553         * modules/tan (configure.ac): Likewise.
55554         * modules/tanh (configure.ac): Likewise.
55555         * modules/y0 (configure.ac): Likewise.
55556         * modules/y1 (configure.ac): Likewise.
55557         * modules/yn (configure.ac): Likewise.
55558         Suggested by Paolo Bonzini.
55560 2010-01-31  Bruno Haible  <bruno@clisp.org>
55562         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55564 2010-01-31  Bruno Haible  <bruno@clisp.org>
55566         Work around getdelim() bug on FreeBSD 8.0.
55567         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55568         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55569         not work.
55570         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55571         is 1.
55572         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55573         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55574         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55575         a non-zero size.
55576         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55578 2010-01-31  Bruno Haible  <bruno@clisp.org>
55580         Work around getline() bug on FreeBSD 8.0.
55581         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55582         and a non-zero size.
55583         * tests/test-getline.c (main): Likewise.
55584         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55585         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55587 2010-01-28  Eric Blake  <ebb9@byu.net>
55589         regex: fix build failure
55590         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55591         platforms.
55593 2010-01-28  Jim Meyering  <meyering@redhat.com>
55595         regex: do not ignore memory allocation failure
55596         * lib/regex_internal.c (create_cd_newstate): Detect
55597         re_node_set_init_copy failure.   Extracted from glibc commit
55598         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55600         regex: sync more white-space changes from libc
55601         * lib/regex_internal.c: White-space only changes.
55602         * lib/regexec.c: Likewise.
55604         regex: add many uses of __attribute_warn_unused_result__
55605         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55606         * lib/regexec.c: Likewise.
55607         Extracted from a messy glibc commit.
55609         regcomp.c: spelling and merge-artifact from glibc
55610         * lib/regcomp.c: Merge remainder of glibc's
55611         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55613         regcomp.c: sync white-space changes from glibc
55614         * lib/regcomp.c: Merge to accommodate white space
55615         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55617         regcomp.c: do not ignore internal return values
55618         * lib/regcomp.c: Do not ignore internal return values.
55619         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55620         but without its white-space changes and spelling fixes.
55622         regex_internal.h: define __attribute_warn_unused_result__
55623         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55625         maint: add a syntax-check rule to check for vulnerable Makefile.in
55626         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55628 2010-01-27  Jim Meyering  <meyering@redhat.com>
55630         ncftpput-ftp: clean up spaces
55631         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55632         Remove trailing blanks.
55634 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55636         * build-aux/git-version-gen: Fix copyright statement.
55637         * build-aux/gnupload: Likewise.
55638         * tests/test-arcfour.c: Likewise.
55639         * tests/test-arctwo.c: Likewise.
55640         * tests/test-count-one-bits.c: Likewise.
55641         * tests/test-crc.c: Likewise.
55642         * tests/test-des.c: Likewise.
55643         * tests/test-gc-arcfour.c: Likewise.
55644         * tests/test-gc-arctwo.c: Likewise.
55645         * tests/test-gc-des.c: Likewise.
55646         * tests/test-gc-hmac-md5.c: Likewise.
55647         * tests/test-gc-hmac-sha1.c: Likewise.
55648         * tests/test-gc-md2.c: Likewise.
55649         * tests/test-gc-md4.c: Likewise.
55650         * tests/test-gc-md5.c: Likewise.
55651         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55652         * tests/test-gc-rijndael.c: Likewise.
55653         * tests/test-gc-sha1.c: Likewise.
55654         * tests/test-gc.c: Likewise.
55655         * tests/test-gethostname.c: Likewise.
55656         * tests/test-gettimeofday.c: Likewise.
55657         * tests/test-hash.c: Likewise.
55658         * tests/test-hmac-md5.c: Likewise.
55659         * tests/test-hmac-sha1.c: Likewise.
55660         * tests/test-md2.c: Likewise.
55661         * tests/test-md4.c: Likewise.
55662         * tests/test-md5.c: Likewise.
55663         * tests/test-memchr.c: Likewise.
55664         * tests/test-memchr2.c: Likewise.
55665         * tests/test-memcmp.c: Likewise.
55666         * tests/test-memmem.c: Likewise.
55667         * tests/test-memrchr.c: Likewise.
55668         * tests/test-rawmemchr.c: Likewise.
55669         * tests/test-read-file.c: Likewise.
55670         * tests/test-rijndael.c: Likewise.
55671         * tests/test-sockets.c: Likewise.
55672         * tests/test-strchrnul.c: Likewise.
55673         * tests/test-strstr.c: Likewise.
55674         * tests/test-strtod.c: Likewise.
55675         * build-aux/ncftpput-ftp: Likewise.
55677 2010-01-26  Eric Blake  <ebb9@byu.net>
55679         ignore-value: update recommended header name
55680         * modules/ignore-value (Include): Only use <> for headers that
55681         exist in glibc.
55683 2010-01-26  Jim Meyering  <meyering@redhat.com>
55685         test-userspec.c: avoid compiler warnings
55686         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55687         and "initialization discards qualifiers..." warnings.
55688         Put the first "uid" in its own scope, and make char* members "const".
55690 2010-01-25  Bruno Haible  <bruno@clisp.org>
55692         gnulib-tool: Make warning diagnostics consistent.
55693         * gnulib-tool (func_warning): New function.
55694         Use it everywhere where gnulib-tool produces output to stderr and it is
55695         not a fatal error.
55697 2010-01-25  Bruno Haible  <bruno@clisp.org>
55699         Fix test dependencies.
55700         * modules/xstrtol-tests (Depends-on): Add inttypes.
55701         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55703 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55705         syntax-check: detect incorrect boolean macro values in config.h
55706         * modules/maintainer-makefile (configure.ac): Parameterize the location
55707         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55708         The logic is from Eric Blake and the location indicated by Jim Meyering.
55709         Note the more natural CONFIG_HEADER name is prohibited by automake
55710         for backwards compatibility reasons.
55711         * top/maint.mk (sc_Wundef_boolean): New rule.
55713 2010-01-25  Jim Meyering  <meyering@redhat.com>
55715         bootstrap: detect MacOS 10.6's shasum, too
55716         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55717         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55719 2010-01-23  Jim Meyering  <meyering@redhat.com>
55721         xstrtoll: new module
55722         * modules/xstrtoll: New file.
55723         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55724         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55725         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55726         ./configure fails if you use this module and lack "long long".
55727         * modules/xstrtoll-tests: New module.
55728         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55729         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55730         new init.sh-based test framework.
55732 2010-01-24  Bruno Haible  <bruno@clisp.org>
55734         Tests for module 'yn'.
55735         * modules/yn-tests: New file.
55736         * tests/test-yn.c: New file.
55738         Tests for module 'y1'.
55739         * modules/y1-tests: New file.
55740         * tests/test-y1.c: New file.
55742         Tests for module 'y0'.
55743         * modules/y0-tests: New file.
55744         * tests/test-y0.c: New file.
55746         Tests for module 'tanh'.
55747         * modules/tanh-tests: New file.
55748         * tests/test-tanh.c: New file.
55750         Tests for module 'tan'.
55751         * modules/tan-tests: New file.
55752         * tests/test-tan.c: New file.
55754         Tests for module 'sqrt'.
55755         * modules/sqrt-tests: New file.
55756         * tests/test-sqrt.c: New file.
55758         Tests for module 'sinh'.
55759         * modules/sinh-tests: New file.
55760         * tests/test-sinh.c: New file.
55762         Tests for module 'sin'.
55763         * modules/sin-tests: New file.
55764         * tests/test-sin.c: New file.
55766         Tests for module 'rint'.
55767         * modules/rint-tests: New file.
55768         * tests/test-rint.c: New file.
55770         Tests for module 'remainder'.
55771         * modules/remainder-tests: New file.
55772         * tests/test-remainder.c: New file.
55774         Tests for module 'pow'.
55775         * modules/pow-tests: New file.
55776         * tests/test-pow.c: New file.
55778         Tests for module 'nextafter'.
55779         * modules/nextafter-tests: New file.
55780         * tests/test-nextafter.c: New file.
55782         Tests for module 'modf'.
55783         * modules/modf-tests: New file.
55784         * tests/test-modf.c: New file.
55786         Tests for module 'logb'.
55787         * modules/logb-tests: New file.
55788         * tests/test-logb.c: New file.
55790         Tests for module 'log1p'.
55791         * modules/log1p-tests: New file.
55792         * tests/test-log1p.c: New file.
55794         Tests for module 'log10'.
55795         * modules/log10-tests: New file.
55796         * tests/test-log10.c: New file.
55798         Tests for module 'log'.
55799         * modules/log-tests: New file.
55800         * tests/test-log.c: New file.
55802         Tests for module 'lgamma'.
55803         * modules/lgamma-tests: New file.
55804         * tests/test-lgamma.c: New file.
55806         Tests for module 'ldexp'.
55807         * modules/ldexp-tests: New file.
55808         * tests/test-ldexp.c: New file.
55810         Tests for module 'jn'.
55811         * modules/jn-tests: New file.
55812         * tests/test-jn.c: New file.
55814         Tests for module 'j1'.
55815         * modules/j1-tests: New file.
55816         * tests/test-j1.c: New file.
55818         Tests for module 'j0'.
55819         * modules/j0-tests: New file.
55820         * tests/test-j0.c: New file.
55822         Tests for module 'hypot'.
55823         * modules/hypot-tests: New file.
55824         * tests/test-hypot.c: New file.
55826         Tests for module 'fmod'.
55827         * modules/fmod-tests: New file.
55828         * tests/test-fmod.c: New file.
55830         Tests for module 'fabs'.
55831         * modules/fabs-tests: New file.
55832         * tests/test-fabs.c: New file.
55834         Tests for module 'exp'.
55835         * modules/exp-tests: New file.
55836         * tests/test-exp.c: New file.
55838         Tests for module 'erfc'.
55839         * modules/erfc-tests: New file.
55840         * tests/test-erfc.c: New file.
55842         Tests for module 'erf'.
55843         * modules/erf-tests: New file.
55844         * tests/test-erf.c: New file.
55846         Tests for module 'cosh'.
55847         * modules/cosh-tests: New file.
55848         * tests/test-cosh.c: New file.
55850         Tests for module 'cos'.
55851         * modules/cos-tests: New file.
55852         * tests/test-cos.c: New file.
55854         Tests for module 'copysign'.
55855         * modules/copysign-tests: New file.
55856         * tests/test-copysign.c: New file.
55858         Tests for module 'cbrt'.
55859         * modules/cbrt-tests: New file.
55860         * tests/test-cbrt.c: New file.
55862         Tests for module 'atan2'.
55863         * modules/atan2-tests: New file.
55864         * tests/test-atan2.c: New file.
55866         Tests for module 'atan'.
55867         * modules/atan-tests: New file.
55868         * tests/test-atan.c: New file.
55870         Tests for module 'asin'.
55871         * modules/asin-tests: New file.
55872         * tests/test-asin.c: New file.
55874         Tests for module 'acos'.
55875         * modules/acos-tests: New file.
55876         * tests/test-acos.c: New file.
55878 2010-01-24  Bruno Haible  <bruno@clisp.org>
55880         Fix tests for common <math.h> functions.
55881         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55882         code snippet that references the function pointer, rather than merely
55883         calling the function. Substitute the FUNC_LIBM variable.
55884         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55885         * modules/acos (configure.ac): Likewise.
55886         * modules/asin (configure.ac): Likewise.
55887         * modules/atan (configure.ac): Likewise.
55888         * modules/atan2 (configure.ac): Likewise.
55889         * modules/cbrt (configure.ac): Likewise.
55890         * modules/copysign (configure.ac): Likewise.
55891         * modules/cos (configure.ac): Likewise.
55892         * modules/cosh (configure.ac): Likewise.
55893         * modules/erf (configure.ac): Likewise.
55894         * modules/erfc (configure.ac): Likewise.
55895         * modules/exp (configure.ac): Likewise.
55896         * modules/fabs (configure.ac): Likewise.
55897         * modules/fmod (configure.ac): Likewise.
55898         * modules/hypot (configure.ac): Likewise.
55899         * modules/j0 (configure.ac): Likewise.
55900         * modules/j1 (configure.ac): Likewise.
55901         * modules/jn (configure.ac): Likewise.
55902         * modules/ldexp (configure.ac): Likewise.
55903         * modules/lgamma (configure.ac): Likewise.
55904         * modules/log (configure.ac): Likewise.
55905         * modules/log10 (configure.ac): Likewise.
55906         * modules/log1p (configure.ac): Likewise.
55907         * modules/logb (configure.ac): Likewise.
55908         * modules/modf (configure.ac): Likewise.
55909         * modules/nextafter (configure.ac): Likewise.
55910         * modules/pow (configure.ac): Likewise.
55911         * modules/remainder (configure.ac): Likewise.
55912         * modules/rint (configure.ac): Likewise.
55913         * modules/sin (configure.ac): Likewise.
55914         * modules/sinh (configure.ac): Likewise.
55915         * modules/tan (configure.ac): Likewise.
55916         * modules/tanh (configure.ac): Likewise.
55917         * modules/y0 (configure.ac): Likewise.
55918         * modules/y1 (configure.ac): Likewise.
55919         * modules/yn (configure.ac): Likewise.
55921 2010-01-24  Bruno Haible  <bruno@clisp.org>
55923         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55924         * tests/test-acosl.c (x): New variable.
55925         (main): Store argument in x and fetch it from x.
55926         * tests/test-asinl.c (x): New variable.
55927         (main): Store argument in x and fetch it from x.
55928         * tests/test-atanl.c (x): New variable.
55929         (main): Store argument in x and fetch it from x.
55930         * tests/test-cosl.c (x): New variable.
55931         (main): Store argument in x and fetch it from x.
55932         * tests/test-expl.c (x): New variable.
55933         (main): Store argument in x and fetch it from x.
55934         * tests/test-logl.c (x): New variable.
55935         (main): Store argument in x and fetch it from x.
55936         * tests/test-sinl.c (x): New variable.
55937         (main): Store argument in x and fetch it from x.
55938         * tests/test-sqrtl.c (x): New variable.
55939         (main): Store argument in x and fetch it from x.
55940         * tests/test-tanl.c (x): New variable.
55941         (main): Store argument in x and fetch it from x.
55943 2010-01-24  Bruno Haible  <bruno@clisp.org>
55945         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55946         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55947         assignments to the initial TESTS_ENVIRONMENT.
55948         * doc/gnulib.texi (Unit test modules): Document it.
55949         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55950         TESTS_ENVIRONMENT.
55951         * modules/btowc-tests (Makefile.am): Likewise.
55952         * modules/c-stack-tests (Makefile.am): Likewise.
55953         * modules/c-strcase-tests (Makefile.am): Likewise.
55954         * modules/copy-file-tests (Makefile.am): Likewise.
55955         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55956         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55957         * modules/mbrtowc-tests (Makefile.am): Likewise.
55958         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55959         * modules/mbscasestr-tests (Makefile.am): Likewise.
55960         * modules/mbschr-tests (Makefile.am): Likewise.
55961         * modules/mbscspn-tests (Makefile.am): Likewise.
55962         * modules/mbsinit-tests (Makefile.am): Likewise.
55963         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55964         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55965         * modules/mbspbrk-tests (Makefile.am): Likewise.
55966         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55967         * modules/mbsrchr-tests (Makefile.am): Likewise.
55968         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55969         * modules/mbsspn-tests (Makefile.am): Likewise.
55970         * modules/mbsstr-tests (Makefile.am): Likewise.
55971         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55972         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55973         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55974         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55975         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55976         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55977         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55978         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55979         * modules/wcrtomb-tests (Makefile.am): Likewise.
55980         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55981         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55982         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55983         assignments from TESTS_ENVIRONMENT.
55984         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55985         augmentation.
55986         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55987         * modules/atexit-tests (Makefile.am): Likewise.
55988         * modules/binary-io-tests (Makefile.am): Likewise.
55989         * modules/closein-tests (Makefile.am): Likewise.
55990         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55991         * modules/exclude-tests (Makefile.am): Likewise.
55992         * modules/fflush-tests (Makefile.am): Likewise.
55993         * modules/fpending-tests (Makefile.am): Likewise.
55994         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55995         * modules/freadahead-tests (Makefile.am): Likewise.
55996         * modules/freadptr-tests (Makefile.am): Likewise.
55997         * modules/freadseek-tests (Makefile.am): Likewise.
55998         * modules/fseek-tests (Makefile.am): Likewise.
55999         * modules/fseeko-tests (Makefile.am): Likewise.
56000         * modules/ftell-tests (Makefile.am): Likewise.
56001         * modules/ftello-tests (Makefile.am): Likewise.
56002         * modules/idpriv-drop-tests (Makefile.am): Likewise.
56003         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
56004         * modules/lseek-tests (Makefile.am): Likewise.
56005         * modules/parse-duration-tests (Makefile.am): Likewise.
56006         * modules/perror-tests (Makefile.am): Likewise.
56007         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
56008         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
56009         * modules/pipe-tests (Makefile.am): Likewise.
56010         * modules/pread-tests (Makefile.am): Likewise.
56011         * modules/printf-posix-tests (Makefile.am): Likewise.
56012         * modules/select-tests (Makefile.am): Likewise.
56013         * modules/sigpipe-tests (Makefile.am): Likewise.
56014         * modules/tsearch-tests (Makefile.am): Likewise.
56015         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
56016         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
56017         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56018         * modules/uniwidth/width-tests (Makefile.am): Likewise.
56019         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
56020         * modules/version-etc-tests (Makefile.am): Likewise.
56021         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56022         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56023         * modules/xalloc-die-tests (Makefile.am): Likewise.
56024         * modules/xprintf-posix-tests (Makefile.am): Likewise.
56025         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56026         * modules/xstrtol-tests (Makefile.am): Likewise.
56027         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56028         * modules/yesno-tests (Makefile.am): Likewise.
56029         Suggested by Jim Meyering.
56031 2010-01-24  Bruno Haible  <bruno@clisp.org>
56033         More documentation.
56034         * doc/gnulib.texi (Writing modules): New chapter.
56035         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
56036         the new chapter.
56038 2010-01-24  Jim Meyering  <meyering@redhat.com>
56040         maint.mk: do not prepend "./" after filtering
56041         * top/maint.mk (_prepend_srcdir_prefix): New variable
56042         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
56043         "./" when $(srcdir) is ".".
56045         define STREQ(a,b) consistently, removing useless parentheses
56046         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
56047         since the only risk is that "a" or "b" contains an unparenthesized
56048         comma, but if either did that, STREQ would have 3 or more arguments.
56049         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
56050         * lib/fts.c (STREQ): Remove unnecessary parentheses.
56051         * lib/hash-triple.c (STREQ): Likewise.
56052         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
56053         * lib/getugroups.c (STREQ): Likewise.
56055 2010-01-23  Jim Meyering  <meyering@redhat.com>
56057         maint.mk: fix syntax-check in a non-srcdir build directory
56058         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
56059         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
56061 2010-01-22  Jim Meyering  <meyering@redhat.com>
56063         userspec: add unit tests
56064         * tests/test-userspec.c: New file.
56065         * modules/userspec-tests: Likewise.
56067 2010-01-21  Jim Meyering  <meyering@redhat.com>
56069         maint.mk: handle source file names containing "." robustly
56070         * top/maint.mk (_dot_escaped_srcdir): Define.
56071         (VC_LIST): Use it in LHS of sed substitution.
56073 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
56075         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
56076         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
56077         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
56078         from a non-srcdir build.
56080 2010-01-20  Eric Blake  <ebb9@byu.net>
56082         warn-on-use: use instead of link-warning
56083         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
56084         * modules/unistd (Depends-on, Makefile.am): Likewise.
56085         * modules/arpa_inet (Depends-on): Replace link-warning with
56086         warn-on-use.
56087         (Makefile.am): Update rules accordingly.
56088         * modules/ctype (Depends-on, Makefile.am): Likewise.
56089         * modules/dirent (Depends-on, Makefile.am): Likewise.
56090         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
56091         * modules/inttypes (Depends-on, Makefile.am): Likewise.
56092         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56093         * modules/locale (Depends-on, Makefile.am): Likewise.
56094         * modules/math (Depends-on, Makefile.am): Likewise.
56095         * modules/search (Depends-on, Makefile.am): Likewise.
56096         * modules/signal (Depends-on, Makefile.am): Likewise.
56097         * modules/spawn (Depends-on, Makefile.am): Likewise.
56098         * modules/stdlib (Depends-on, Makefile.am): Likewise.
56099         * modules/string (Depends-on, Makefile.am): Likewise.
56100         * modules/strings (Depends-on, Makefile.am): Likewise.
56101         * modules/sys_file (Depends-on, Makefile.am): Likewise.
56102         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
56103         * modules/sys_select (Depends-on, Makefile.am): Likewise.
56104         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
56105         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
56106         * modules/sys_times (Depends-on, Makefile.am): Likewise.
56107         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56108         * modules/wchar (Depends-on, Makefile.am): Likewise.
56109         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
56110         should be poisoned.
56111         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
56112         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
56113         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
56114         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56115         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56116         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56117         * m4/math_h.m4 (gl_MATH_H): Likewise.
56118         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56119         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56120         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56121         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56122         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56123         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56124         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
56125         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
56126         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
56127         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56128         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56129         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56130         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56131         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
56132         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56133         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56134         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
56135         GL_LINK_WARNING.
56136         * lib/ctype.in.h: Likewise.
56137         * lib/dirent.in.h: Likewise.
56138         * lib/fcntl.in.h: Likewise.
56139         * lib/inttypes.in.h: Likewise.
56140         * lib/langinfo.in.h: Likewise.
56141         * lib/locale.in.h: Likewise.
56142         * lib/math.in.h: Likewise.
56143         * lib/search.in.h: Likewise.
56144         * lib/signal.in.h: Likewise.
56145         * lib/spawn.in.h: Likewise.
56146         * lib/stdio.in.h: Likewise.
56147         * lib/stdlib.in.h: Likewise.
56148         * lib/string.in.h: Likewise.
56149         * lib/strings.in.h: Likewise.
56150         * lib/sys_file.in.h: Likewise.
56151         * lib/sys_ioctl.in.h: Likewise.
56152         * lib/sys_select.in.h: Likewise.
56153         * lib/sys_socket.in.h: Likewise.
56154         * lib/sys_stat.in.h: Likewise.
56155         * lib/sys_times.in.h: Likewise.
56156         * lib/sys_utsname.in.h: Likewise.
56157         * lib/unistd.in.h: Likewise.
56158         * lib/wchar.in.h: Likewise.
56160 2010-01-20  Bruno Haible  <bruno@clisp.org>
56162         Avoid duplicate -lm.
56163         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
56164         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
56165         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
56166         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
56167         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
56168         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
56169         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
56170         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
56171         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
56172         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
56173         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
56174         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56175         Reported by Paolo Bonzini.
56177 2010-01-19  Bruno Haible  <bruno@clisp.org>
56179         langinfo, nl_langinfo: Relicense under LGPLv2+.
56180         * modules/langinfo (License): Change to LGPLv2+.
56181         * modules/nl_langinfo (License): Likewise.
56182         Patch by David Lutterkort <lutter@redhat.com>.
56184 2010-01-19  Bruno Haible  <bruno@clisp.org>
56186         Avoid compilation error with cc on OSF/1 5.1.
56187         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
56188         statement, not before.
56189         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56191 2010-01-18  Bruno Haible  <bruno@clisp.org>
56193         Avoid a link error due to the __printf__ symbol.
56194         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
56195         and 2.6.x.
56196         (__format__, __printf__): Remove definitions.
56197         * lib/argp-fmtstream.h: Likewise.
56198         * lib/argp.h: Likewise.
56199         * lib/error.h: Likewise.
56200         * lib/vasnprintf.h: Likewise.
56201         * lib/xprintf.h: Likewise.
56202         * lib/xvasprintf.h: Likewise.
56203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56205 2010-01-18  Bruno Haible  <bruno@clisp.org>
56207         Tests for module 'tanl'.
56208         * modules/tanl-tests: New file.
56209         * tests/test-tanl.c: New file.
56211         Tests for module 'sqrtl'.
56212         * modules/sqrtl-tests: New file.
56213         * tests/test-sqrtl.c: New file.
56215         Tests for module 'sinl'.
56216         * modules/sinl-tests: New file.
56217         * tests/test-sinl.c: New file.
56219         Tests for module 'logl'.
56220         * modules/logl-tests: New file.
56221         * tests/test-logl.c: New file.
56223         Tests for module 'expl'.
56224         * modules/expl-tests: New file.
56225         * tests/test-expl.c: New file.
56227         Tests for module 'cosl'.
56228         * modules/cosl-tests: New file.
56229         * tests/test-cosl.c: New file.
56231         Tests for module 'atanl'.
56232         * modules/atanl-tests: New file.
56233         * tests/test-atanl.c: New file.
56235         Tests for module 'asinl'.
56236         * modules/asinl-tests: New file.
56237         * tests/test-asinl.c: New file.
56239         Tests for module 'acosl'.
56240         * modules/acosl-tests: New file.
56241         * tests/test-acosl.c: New file.
56243         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56244         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
56245         tanl): Use the standard gnulib idiom.
56246         * lib/cosl.c: Don't include trigl.c and sincosl.c.
56247         * lib/sinl.c: Likewise.
56248         * lib/tanl.c: Don't include trigl.c.
56249         (kernel_tanl): Make static.
56250         * lib/sincosl.c: Include trigl.h first.
56251         * lib/trigl.c: Likewise.
56252         * m4/acosl.m4: New file.
56253         * m4/asinl.m4: New file.
56254         * m4/atanl.m4: New file.
56255         * m4/cosl.m4: New file.
56256         * m4/expl.m4: New file.
56257         * m4/logl.m4: New file.
56258         * m4/sinl.m4: New file.
56259         * m4/sqrtl.m4: New file.
56260         * m4/tanl.m4: New file.
56261         * m4/mathl.m4: Remove file.
56262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
56263         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56264         Don't initialize GNULIB_MATHL.
56265         * modules/acosl: New file.
56266         * modules/asinl: New file.
56267         * modules/atanl: New file.
56268         * modules/cosl: New file.
56269         * modules/expl: New file.
56270         * modules/logl: New file.
56271         * modules/sinl: New file.
56272         * modules/sqrtl: New file.
56273         * modules/tanl: New file.
56274         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
56275         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
56276         substitute GNULIB_MATHL.
56277         * modules/mathl: Rewritten.
56278         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
56279         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
56280         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
56281         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
56282         * doc/posix-functions/expl.texi: Mention the 'expl' module.
56283         * doc/posix-functions/logl.texi: Mention the 'logl' module.
56284         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
56285         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
56286         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
56288 2010-01-18  Bruno Haible  <bruno@clisp.org>
56290         sqrt: Make gl_FUNC_SQRT requirable.
56291         * m4/sqrt.m4: New file.
56292         * modules/sqrt (Files): Add it.
56293         (configure.ac): Invoke gl_FUNC_SQRT.
56295 2010-01-18  Bruno Haible  <bruno@clisp.org>
56297         New modules for common <math.h> functions.
56298         * m4/mathfunc.m4: New file.
56299         * modules/acos: New file.
56300         * modules/asin: New file.
56301         * modules/atan: New file.
56302         * modules/atan2: New file.
56303         * modules/cbrt: New file.
56304         * modules/copysign: New file.
56305         * modules/cos: New file.
56306         * modules/cosh: New file.
56307         * modules/erf: New file.
56308         * modules/erfc: New file.
56309         * modules/exp: New file.
56310         * modules/fabs: New file.
56311         * modules/fmod: New file.
56312         * modules/hypot: New file.
56313         * modules/j0: New file.
56314         * modules/j1: New file.
56315         * modules/jn: New file.
56316         * modules/ldexp: New file.
56317         * modules/lgamma: New file.
56318         * modules/log: New file.
56319         * modules/log10: New file.
56320         * modules/log1p: New file.
56321         * modules/logb: New file.
56322         * modules/modf: New file.
56323         * modules/nextafter: New file.
56324         * modules/pow: New file.
56325         * modules/remainder: New file.
56326         * modules/rint: New file.
56327         * modules/sin: New file.
56328         * modules/sinh: New file.
56329         * modules/sqrt: New file.
56330         * modules/tan: New file.
56331         * modules/tanh: New file.
56332         * modules/y0: New file.
56333         * modules/y1: New file.
56334         * modules/yn: New file.
56335         * doc/posix-functions/acos.texi: Mention the 'acos' module.
56336         * doc/posix-functions/asin.texi: Mention the 'asin' module.
56337         * doc/posix-functions/atan.texi: Mention the 'atan' module.
56338         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
56339         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
56340         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
56341         * doc/posix-functions/cos.texi: Mention the 'cos' module.
56342         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
56343         * doc/posix-functions/erf.texi: Mention the 'erf' module.
56344         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
56345         * doc/posix-functions/exp.texi: Mention the 'exp' module.
56346         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
56347         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
56348         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
56349         * doc/posix-functions/j0.texi: Mention the 'j0' module.
56350         * doc/posix-functions/j1.texi: Mention the 'j1' module.
56351         * doc/posix-functions/jn.texi: Mention the 'jn' module.
56352         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
56353         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
56354         * doc/posix-functions/log.texi: Mention the 'log' module.
56355         * doc/posix-functions/log10.texi: Mention the 'log10' module.
56356         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
56357         * doc/posix-functions/logb.texi: Mention the 'logb' module.
56358         * doc/posix-functions/modf.texi: Mention the 'modf' module.
56359         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
56360         * doc/posix-functions/pow.texi: Mention the 'pow' module.
56361         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
56362         * doc/posix-functions/rint.texi: Mention the 'rint' module.
56363         * doc/posix-functions/sin.texi: Mention the 'sin' module.
56364         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
56365         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
56366         * doc/posix-functions/tan.texi: Mention the 'tan' module.
56367         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
56368         * doc/posix-functions/y0.texi: Mention the 'y0' module.
56369         * doc/posix-functions/y1.texi: Mention the 'y1' module.
56370         * doc/posix-functions/yn.texi: Mention the 'yn' module.
56372 2010-01-18  Jim Meyering  <meyering@redhat.com>
56374         ignore-value: relax license to LGPLv2+
56375         * modules/ignore-value (License): Relax to LGPLv2+.
56377         getdate: don't leak when TZ contains two or more '"'s
56378         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
56379         double quote in TZ after the first one.
56381         readtokens: do not leak internal token_lengths buffer
56382         * lib/readtokens.c (readtokens): Free the local, lengths,
56383         when the supplied "token_lengths" parameter is NULL.
56385 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56387         Fix a couple of missing LIBTHREAD link failures on AIX.
56388         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
56389         $(LIBTHREAD).
56390         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
56392         Link test-poll against INET_PTON_LIB.
56393         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
56394         for inet_pton on Solaris 10.
56396 2010-01-17  Bruno Haible  <bruno@clisp.org>
56398         unistdio/*-sprintf: Fix typo in module description.
56399         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
56400         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
56401         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
56402         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
56403         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
56404         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
56405         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
56406         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56408 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56410         gnulib-tool: fix filelist for AIX, HP-UX ksh.
56411         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
56412         variables in shell case patterns, for AIX and HP-UX ksh.
56414         Split large sed scripts, for HP-UX sed.
56415         * modules/stdio: Split sed scripts around 50 sed commands,
56416         to avoid HP-UX limit of 99 commands, in the near future.
56417         * modules/string: Likewise.
56418         * modules/unistd: Likewise.
56420         gnulib-tool: avoid writing in the current directory.
56421         * gnulib-tool (func_emit_lib_Makefile_am)
56422         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
56423         not in the current directory, so concurrent gnulib-tool
56424         instances do not interfere.
56426 2010-01-16  Jim Meyering  <meyering@redhat.com>
56428         doc: update users.txt
56429         * users.txt: Add grep.
56430         (diffutils, gzip): Update URLs.
56432 2010-01-12  Bruno Haible  <bruno@clisp.org>
56434         posix_spawn: Avoid test failure on Cygwin.
56435         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
56436         characters.
56437         Reported by Simon Josefsson.
56439 2010-01-12  Bruno Haible  <bruno@clisp.org>
56441         * tests/test-cond.c (main): When skipping the test, show the reason.
56443 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56445         * lib/striconv.c (str_cd_iconv): Avoid if before free.
56447 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56449         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
56450         VC_LIST_ALWAYS_EXCLUDE_REGEX.
56452 2010-01-12  Eric Blake  <ebb9@byu.net>
56454         build: guarantee AS_VAR_IF
56455         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
56456         (gl_AS_VAR_IF): Move...
56457         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
56458         Reported by Simon Josefsson.
56460 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56462         * lib/stdio.in.h: Fix typo.
56464 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56466         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
56467         libgpg-error.
56469 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56471         * tests/test-xalloc-die.sh: Use $EXEEXT.
56473 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56474             Bruno Haible  <bruno@clisp.org>
56476         getlogin, getlogin_r: Avoid test failure.
56477         * tests/test-getlogin.c: Include <stdio.h>.
56478         (main): Skip the test when the function fails because stdin is not a
56479         tty.
56480         * tests/test-getlogin_r.c: Include <stdio.h>.
56481         (main): Skip the test when the function fails because stdin is not a
56482         tty.
56484 2010-01-11  Eric Blake  <ebb9@byu.net>
56486         tests: avoid more large file warnings
56487         * tests/test-fflush.c: Avoid warning about ftell use.
56488         * tests/test-fseek.c: Avoid warning about fseek use.
56490 2010-01-10  Bruno Haible  <bruno@clisp.org>
56492         nproc: Work better on Linux when /proc and /sys are not mounted.
56493         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56494         as lower bound when, on glibc/Linux systems,
56495         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56496         Suggested by Pádraig Brady <P@draigbrady.com>.
56497         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56499         nproc: Refactor.
56500         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56501         extracted from num_processors.
56502         (num_processors): Call it.
56504 2010-01-11  Jim Meyering  <meyering@redhat.com>
56506         utimecmp: avoid new warning from upcoming gcc-4.5.0
56507         * lib/utimecmp.c (BILLION): Define using #define rather than an
56508         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56510 2010-01-11  Eric Blake  <ebb9@byu.net>
56512         math: add portability warnings for classification macros
56513         * modules/math (Depends-on): Add warn-on-use.
56514         (Makefile.am): Provide new substitutions.
56515         * m4/math_h.m4 (gl_MATH_H): Require inline.
56516         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56517         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56518         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56519         implement warnings.
56521         unistd: warn on use of environ without module
56522         * modules/unistd (Depends-on): Add warn-on-use.
56523         (Makefile.am): Provide new substitutions.
56524         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56525         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56527         stdio: warn on suspicious uses
56528         * modules/stdio (Depends-on): Add warn-on-use.
56529         (Makefile.am): Provide new substitutions.
56530         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56531         fseeko.
56532         * lib/stdio.in.h (gets): Always warn on use.
56533         (fseek, ftell): Adjust when warnings are issued, and honor
56534         _GL_NO_LARGE_FILES as a way to silence the warning.
56535         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56536         any warning about large file offsets.
56537         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56538         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56539         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56540         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56541         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56542         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56543         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56544         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56546         warn-on-use: new module
56547         * modules/warn-on-use: New file.
56548         * build-aux/warn-on-use.h: Likewise.
56549         * m4/warn-on-use.m4: Likewise.
56550         * MODULES.html.sh (Support for building): Mention it.
56552 2010-01-10  Bruno Haible  <bruno@clisp.org>
56554         Tests for module 'unistr/u32-strdup'.
56555         * modules/unistr/u32-strdup-tests: New file.
56556         * tests/unistr/test-u32-strdup.c: New file.
56558         Tests for module 'unistr/u16-strdup'.
56559         * modules/unistr/u16-strdup-tests: New file.
56560         * tests/unistr/test-u16-strdup.c: New file.
56562         Tests for module 'unistr/u8-strdup'.
56563         * modules/unistr/u8-strdup-tests: New file.
56564         * tests/unistr/test-u8-strdup.c: New file.
56565         * tests/unistr/test-strdup.h: New file.
56567         Tests for module 'unistr/u32-strncmp'.
56568         * modules/unistr/u32-strncmp-tests: New file.
56569         * tests/unistr/test-u32-strncmp.c: New file.
56571         Tests for module 'unistr/u16-strncmp'.
56572         * modules/unistr/u16-strncmp-tests: New file.
56573         * tests/unistr/test-u16-strncmp.c: New file.
56575         Tests for module 'unistr/u8-strncmp'.
56576         * modules/unistr/u8-strncmp-tests: New file.
56577         * tests/unistr/test-u8-strncmp.c: New file.
56578         * tests/unistr/test-strncmp.h: New file.
56580         Tests for module 'unistr/u32-strcoll'.
56581         * modules/unistr/u32-strcoll-tests: New file.
56582         * tests/unistr/test-u32-strcoll.c: New file.
56584         Tests for module 'unistr/u16-strcoll'.
56585         * modules/unistr/u16-strcoll-tests: New file.
56586         * tests/unistr/test-u16-strcoll.c: New file.
56588         Tests for module 'unistr/u8-strcoll'.
56589         * modules/unistr/u8-strcoll-tests: New file.
56590         * tests/unistr/test-u8-strcoll.c: New file.
56592         Tests for module 'unistr/u32-strcmp'.
56593         * modules/unistr/u32-strcmp-tests: New file.
56594         * tests/unistr/test-u32-strcmp.c: New file.
56595         * tests/unistr/test-u32-strcmp.h: New file.
56597         Tests for module 'unistr/u16-strcmp'.
56598         * modules/unistr/u16-strcmp-tests: New file.
56599         * tests/unistr/test-u16-strcmp.c: New file.
56600         * tests/unistr/test-u16-strcmp.h: New file.
56602         Tests for module 'unistr/u8-strcmp'.
56603         * modules/unistr/u8-strcmp-tests: New file.
56604         * tests/unistr/test-u8-strcmp.c: New file.
56605         * tests/unistr/test-u8-strcmp.h: New file.
56606         * tests/unistr/test-strcmp.h: New file.
56608         Tests for module 'unistr/u32-strncat'.
56609         * modules/unistr/u32-strncat-tests: New file.
56610         * tests/unistr/test-u32-strncat.c: New file.
56612         Tests for module 'unistr/u16-strncat'.
56613         * modules/unistr/u16-strncat-tests: New file.
56614         * tests/unistr/test-u16-strncat.c: New file.
56616         Tests for module 'unistr/u8-strncat'.
56617         * modules/unistr/u8-strncat-tests: New file.
56618         * tests/unistr/test-u8-strncat.c: New file.
56619         * tests/unistr/test-strncat.h: New file.
56621         Tests for module 'unistr/u32-strcat'.
56622         * modules/unistr/u32-strcat-tests: New file.
56623         * tests/unistr/test-u32-strcat.c: New file.
56625         Tests for module 'unistr/u16-strcat'.
56626         * modules/unistr/u16-strcat-tests: New file.
56627         * tests/unistr/test-u16-strcat.c: New file.
56629         Tests for module 'unistr/u8-strcat'.
56630         * modules/unistr/u8-strcat-tests: New file.
56631         * tests/unistr/test-u8-strcat.c: New file.
56632         * tests/unistr/test-strcat.h: New file.
56634         Tests for module 'unistr/u32-stpncpy'.
56635         * modules/unistr/u32-stpncpy-tests: New file.
56636         * tests/unistr/test-u32-stpncpy.c: New file.
56638         Tests for module 'unistr/u16-stpncpy'.
56639         * modules/unistr/u16-stpncpy-tests: New file.
56640         * tests/unistr/test-u16-stpncpy.c: New file.
56642         Tests for module 'unistr/u8-stpncpy'.
56643         * modules/unistr/u8-stpncpy-tests: New file.
56644         * tests/unistr/test-u8-stpncpy.c: New file.
56645         * tests/unistr/test-stpncpy.h: New file.
56647         Tests for module 'unistr/u32-strncpy'.
56648         * modules/unistr/u32-strncpy-tests: New file.
56649         * tests/unistr/test-u32-strncpy.c: New file.
56651         Tests for module 'unistr/u16-strncpy'.
56652         * modules/unistr/u16-strncpy-tests: New file.
56653         * tests/unistr/test-u16-strncpy.c: New file.
56655         Tests for module 'unistr/u8-strncpy'.
56656         * modules/unistr/u8-strncpy-tests: New file.
56657         * tests/unistr/test-u8-strncpy.c: New file.
56658         * tests/unistr/test-strncpy.h: New file.
56660         Tests for module 'unistr/u32-stpcpy'.
56661         * modules/unistr/u32-stpcpy-tests: New file.
56662         * tests/unistr/test-u32-stpcpy.c: New file.
56664         Tests for module 'unistr/u16-stpcpy'.
56665         * modules/unistr/u16-stpcpy-tests: New file.
56666         * tests/unistr/test-u16-stpcpy.c: New file.
56668         Tests for module 'unistr/u8-stpcpy'.
56669         * modules/unistr/u8-stpcpy-tests: New file.
56670         * tests/unistr/test-u8-stpcpy.c: New file.
56671         * tests/unistr/test-stpcpy.h: New file.
56673         Tests for module 'unistr/u32-strcpy'.
56674         * modules/unistr/u32-strcpy-tests: New file.
56675         * tests/unistr/test-u32-strcpy.c: New file.
56677         Tests for module 'unistr/u16-strcpy'.
56678         * modules/unistr/u16-strcpy-tests: New file.
56679         * tests/unistr/test-u16-strcpy.c: New file.
56681         Tests for module 'unistr/u8-strcpy'.
56682         * modules/unistr/u8-strcpy-tests: New file.
56683         * tests/unistr/test-u8-strcpy.c: New file.
56684         * tests/unistr/test-strcpy.h: New file.
56686         Tests for module 'unistr/u32-strnlen'.
56687         * modules/unistr/u32-strnlen-tests: New file.
56688         * tests/unistr/test-u32-strnlen.c: New file.
56690         Tests for module 'unistr/u16-strnlen'.
56691         * modules/unistr/u16-strnlen-tests: New file.
56692         * tests/unistr/test-u16-strnlen.c: New file.
56694         Tests for module 'unistr/u8-strnlen'.
56695         * modules/unistr/u8-strnlen-tests: New file.
56696         * tests/unistr/test-u8-strnlen.c: New file.
56697         * tests/unistr/test-strnlen.h: New file.
56699         Tests for module 'unistr/u32-strlen'.
56700         * modules/unistr/u32-strlen-tests: New file.
56701         * tests/unistr/test-u32-strlen.c: New file.
56703         Tests for module 'unistr/u16-strlen'.
56704         * modules/unistr/u16-strlen-tests: New file.
56705         * tests/unistr/test-u16-strlen.c: New file.
56707         Tests for module 'unistr/u8-strlen'.
56708         * modules/unistr/u8-strlen-tests: New file.
56709         * tests/unistr/test-u8-strlen.c: New file.
56711         Tests for module 'unistr/u32-prev'.
56712         * modules/unistr/u32-prev-tests: New file.
56713         * tests/unistr/test-u32-prev.c: New file.
56715         Tests for module 'unistr/u16-prev'.
56716         * modules/unistr/u16-prev-tests: New file.
56717         * tests/unistr/test-u16-prev.c: New file.
56719         Tests for module 'unistr/u8-prev'.
56720         * modules/unistr/u8-prev-tests: New file.
56721         * tests/unistr/test-u8-prev.c: New file.
56723         Tests for module 'unistr/u32-next'.
56724         * modules/unistr/u32-next-tests: New file.
56725         * tests/unistr/test-u32-next.c: New file.
56727         Tests for module 'unistr/u16-next'.
56728         * modules/unistr/u16-next-tests: New file.
56729         * tests/unistr/test-u16-next.c: New file.
56731         Tests for module 'unistr/u8-next'.
56732         * modules/unistr/u8-next-tests: New file.
56733         * tests/unistr/test-u8-next.c: New file.
56735         Tests for module 'unistr/u32-strmbtouc'.
56736         * modules/unistr/u32-strmbtouc-tests: New file.
56737         * tests/unistr/test-u32-strmbtouc.c: New file.
56739         Tests for module 'unistr/u16-strmbtouc'.
56740         * modules/unistr/u16-strmbtouc-tests: New file.
56741         * tests/unistr/test-u16-strmbtouc.c: New file.
56743         Tests for module 'unistr/u8-strmbtouc'.
56744         * modules/unistr/u8-strmbtouc-tests: New file.
56745         * tests/unistr/test-u8-strmbtouc.c: New file.
56747         Tests for module 'unistr/u32-strmblen'.
56748         * modules/unistr/u32-strmblen-tests: New file.
56749         * tests/unistr/test-u32-strmblen.c: New file.
56751         Tests for module 'unistr/u16-strmblen'.
56752         * modules/unistr/u16-strmblen-tests: New file.
56753         * tests/unistr/test-u16-strmblen.c: New file.
56755         Tests for module 'unistr/u8-strmblen'.
56756         * modules/unistr/u8-strmblen-tests: New file.
56757         * tests/unistr/test-u8-strmblen.c: New file.
56759         Tests for module 'unistr/u32-cpy-alloc'.
56760         * modules/unistr/u32-cpy-alloc-tests: New file.
56761         * tests/unistr/test-u32-cpy-alloc.c: New file.
56763         Tests for module 'unistr/u16-cpy-alloc'.
56764         * modules/unistr/u16-cpy-alloc-tests: New file.
56765         * tests/unistr/test-u16-cpy-alloc.c: New file.
56767         Tests for module 'unistr/u8-cpy-alloc'.
56768         * modules/unistr/u8-cpy-alloc-tests: New file.
56769         * tests/unistr/test-u8-cpy-alloc.c: New file.
56770         * tests/unistr/test-cpy-alloc.h: New file.
56772         Tests for module 'unistr/u32-mbsnlen'.
56773         * modules/unistr/u32-mbsnlen-tests: New file.
56774         * tests/unistr/test-u32-mbsnlen.c: New file.
56776         Tests for module 'unistr/u16-mbsnlen'.
56777         * modules/unistr/u16-mbsnlen-tests: New file.
56778         * tests/unistr/test-u16-mbsnlen.c: New file.
56780         Tests for module 'unistr/u8-mbsnlen'.
56781         * modules/unistr/u8-mbsnlen-tests: New file.
56782         * tests/unistr/test-u8-mbsnlen.c: New file.
56784         Tests for module 'unistr/u32-chr'.
56785         * modules/unistr/u32-chr-tests: New file.
56786         * tests/unistr/test-u32-chr.c: New file.
56788         Tests for module 'unistr/u16-chr'.
56789         * modules/unistr/u16-chr-tests: New file.
56790         * tests/unistr/test-u16-chr.c: New file.
56792         Tests for module 'unistr/u8-chr'.
56793         * modules/unistr/u8-chr-tests: New file.
56794         * tests/unistr/test-u8-chr.c: New file.
56795         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56797         Tests for module 'unistr/u32-cmp2'.
56798         * modules/unistr/u32-cmp2-tests: New file.
56799         * tests/unistr/test-u32-cmp2.c: New file.
56801         Tests for module 'unistr/u16-cmp2'.
56802         * modules/unistr/u16-cmp2-tests: New file.
56803         * tests/unistr/test-u16-cmp2.c: New file.
56805         Tests for module 'unistr/u8-cmp2'.
56806         * modules/unistr/u8-cmp2-tests: New file.
56807         * tests/unistr/test-u8-cmp2.c: New file.
56808         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56810         Tests for module 'unistr/u32-cmp'.
56811         * modules/unistr/u32-cmp-tests: New file.
56812         * tests/unistr/test-u32-cmp.c: New file.
56814         Tests for module 'unistr/u16-cmp'.
56815         * modules/unistr/u16-cmp-tests: New file.
56816         * tests/unistr/test-u16-cmp.c: New file.
56818         Tests for module 'unistr/u8-cmp'.
56819         * modules/unistr/u8-cmp-tests: New file.
56820         * tests/unistr/test-u8-cmp.c: New file.
56821         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56823         Tests for module 'unistr/u32-set'.
56824         * modules/unistr/u32-set-tests: New file.
56825         * tests/unistr/test-u32-set.c: New file.
56827         Tests for module 'unistr/u16-set'.
56828         * modules/unistr/u16-set-tests: New file.
56829         * tests/unistr/test-u16-set.c: New file.
56831         Tests for module 'unistr/u8-set'.
56832         * modules/unistr/u8-set-tests: New file.
56833         * tests/unistr/test-u8-set.c: New file.
56834         * tests/unistr/test-set.h: New file.
56836         Tests for module 'unistr/u32-move'.
56837         * modules/unistr/u32-move-tests: New file.
56838         * tests/unistr/test-u32-move.c: New file.
56840         Tests for module 'unistr/u16-move'.
56841         * modules/unistr/u16-move-tests: New file.
56842         * tests/unistr/test-u16-move.c: New file.
56844         Tests for module 'unistr/u8-move'.
56845         * modules/unistr/u8-move-tests: New file.
56846         * tests/unistr/test-u8-move.c: New file.
56847         * tests/unistr/test-move.h: New file.
56849         Tests for module 'unistr/u32-cpy'.
56850         * modules/unistr/u32-cpy-tests: New file.
56851         * tests/unistr/test-u32-cpy.c: New file.
56853         Tests for module 'unistr/u16-cpy'.
56854         * modules/unistr/u16-cpy-tests: New file.
56855         * tests/unistr/test-u16-cpy.c: New file.
56857         Tests for module 'unistr/u8-cpy'.
56858         * modules/unistr/u8-cpy-tests: New file.
56859         * tests/unistr/test-u8-cpy.c: New file.
56860         * tests/unistr/test-cpy.h: New file.
56862 2010-01-09  Bruno Haible  <bruno@clisp.org>
56864         Tests for module 'unistr/u32-uctomb'.
56865         * modules/unistr/u32-uctomb-tests: New file.
56866         * tests/unistr/test-u32-uctomb.c: New file.
56868         Tests for module 'unistr/u16-uctomb'.
56869         * modules/unistr/u16-uctomb-tests: New file.
56870         * tests/unistr/test-u16-uctomb.c: New file.
56872         Tests for module 'unistr/u8-uctomb'.
56873         * modules/unistr/u8-uctomb-tests: New file.
56874         * tests/unistr/test-u8-uctomb.c: New file.
56876         Tests for module 'unistr/u32-mbtoucr'.
56877         * modules/unistr/u32-mbtoucr-tests: New file.
56878         * tests/unistr/test-u32-mbtoucr.c: New file.
56880         Tests for module 'unistr/u16-mbtoucr'.
56881         * modules/unistr/u16-mbtoucr-tests: New file.
56882         * tests/unistr/test-u16-mbtoucr.c: New file.
56884         Tests for module 'unistr/u8-mbtoucr'.
56885         * modules/unistr/u8-mbtoucr-tests: New file.
56886         * tests/unistr/test-u8-mbtoucr.c: New file.
56888         Tests for module 'unistr/u32-mbtouc'.
56889         * modules/unistr/u32-mbtouc-tests: New file.
56890         * tests/unistr/test-u32-mbtouc.c: New file.
56892         Tests for module 'unistr/u16-mbtouc'.
56893         * modules/unistr/u16-mbtouc-tests: New file.
56894         * tests/unistr/test-u16-mbtouc.c: New file.
56896         Tests for module 'unistr/u8-mbtouc'.
56897         * modules/unistr/u8-mbtouc-tests: New file.
56898         * tests/unistr/test-u8-mbtouc.c: New file.
56900         Tests for module 'unistr/u32-mbtouc-unsafe'.
56901         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56902         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56903         * tests/unistr/test-u32-mbtouc.h: New file.
56905         Tests for module 'unistr/u16-mbtouc-unsafe'.
56906         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56907         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56908         * tests/unistr/test-u16-mbtouc.h: New file.
56910         Tests for module 'unistr/u8-mbtouc-unsafe'.
56911         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56912         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56913         * tests/unistr/test-u8-mbtouc.h: New file.
56915         Tests for module 'unistr/u32-mblen'.
56916         * modules/unistr/u32-mblen-tests: New file.
56917         * tests/unistr/test-u32-mblen.c: New file.
56919         Tests for module 'unistr/u16-mblen'.
56920         * modules/unistr/u16-mblen-tests: New file.
56921         * tests/unistr/test-u16-mblen.c: New file.
56923         Tests for module 'unistr/u8-mblen'.
56924         * modules/unistr/u8-mblen-tests: New file.
56925         * tests/unistr/test-u8-mblen.c: New file.
56927         Tests for module 'unistr/u32-to-u16'.
56928         * modules/unistr/u32-to-u16-tests: New file.
56929         * tests/unistr/test-u32-to-u16.c: New file.
56931         Tests for module 'unistr/u32-to-u8'.
56932         * modules/unistr/u32-to-u8-tests: New file.
56933         * tests/unistr/test-u32-to-u8.c: New file.
56935         Tests for module 'unistr/u16-to-u32'.
56936         * modules/unistr/u16-to-u32-tests: New file.
56937         * tests/unistr/test-u16-to-u32.c: New file.
56939         Tests for module 'unistr/u16-to-u8'.
56940         * modules/unistr/u16-to-u8-tests: New file.
56941         * tests/unistr/test-u16-to-u8.c: New file.
56943         Tests for module 'unistr/u8-to-u32'.
56944         * modules/unistr/u8-to-u32-tests: New file.
56945         * tests/unistr/test-u8-to-u32.c: New file.
56947         Tests for module 'unistr/u8-to-u16'.
56948         * modules/unistr/u8-to-u16-tests: New file.
56949         * tests/unistr/test-u8-to-u16.c: New file.
56951         Tests for module 'unistr/u32-check'.
56952         * modules/unistr/u32-check-tests: New file.
56953         * tests/unistr/test-u32-check.c: New file.
56955         Tests for module 'unistr/u16-check'.
56956         * modules/unistr/u16-check-tests: New file.
56957         * tests/unistr/test-u16-check.c: New file.
56959         Tests for module 'unistr/u8-check'.
56960         * modules/unistr/u8-check-tests: New file.
56961         * tests/unistr/test-u8-check.c: New file.
56963         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56964         (category_equals): New function.
56965         (main): Add more tests.
56966         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56968         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56970 2010-01-10  Bruno Haible  <bruno@clisp.org>
56972         unistr/u*-strcoll: Try harder to distinguish different strings.
56973         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56974         compare s1 and s2 to see if they are different.
56976 2010-01-10  Bruno Haible  <bruno@clisp.org>
56978         unistr/u*-stpncpy: Fix the return value.
56979         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56980         description of the return value consistent with stpncpy in glibc.
56981         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56982         written non-NUL unit.
56984 2010-01-10  Bruno Haible  <bruno@clisp.org>
56986         unistr/u*-next: Add missing dependencies.
56987         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56988         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56989         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56991 2010-01-10  Bruno Haible  <bruno@clisp.org>
56993         unistr/u8-mbsnlen: Fix return value for incomplete character.
56994         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56995         u8_mblen.
56996         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56997         Remove unistr/u8-mblen.
56998         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56999         u16_mblen.
57000         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
57001         Remove unistr/u16-mblen.
57003 2010-01-10  Bruno Haible  <bruno@clisp.org>
57005         wchar: Fix compilation error when <wchar.h> is used from coreutils.
57006         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
57007         Reported by Brian Gough <bjg@gnu.org> and
57008         Chris Clayton <chris2553@googlemail.com> via
57009         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
57011 2010-01-09  Bruno Haible  <bruno@clisp.org>
57013         unistr/u16-to-u32: Reject invalid input.
57014         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
57015         u16_mbtouc.
57016         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
57017         Remove unistr/u16-mbtouc.
57019         unistr/u16-to-u8: Reject invalid input.
57020         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
57021         u16_mbtouc.
57022         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
57023         Remove unistr/u16-mbtouc.
57025         unistr/u8-to-u32: Reject invalid input.
57026         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
57027         u8_mbtouc.
57028         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
57029         Remove unistr/u8-mbtouc.
57031         unistr/u8-to-u16: Reject invalid input.
57032         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
57033         u8_mbtouc.
57034         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
57035         Remove unistr/u8-mbtouc.
57037 2010-01-09  Bruno Haible  <bruno@clisp.org>
57039         Tests for module 'getlogin'.
57040         * modules/getlogin-tests: New file.
57041         * tests/test-getlogin.c: New file.
57043         New module 'getlogin'.
57044         * lib/unistd.in.h (getlogin): New declaration.
57045         * lib/getlogin.c: New file.
57046         * m4/getlogin.m4: New file.
57047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
57048         HAVE_GETLOGIN.
57049         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
57050         HAVE_GETLOGIN.
57051         * modules/getlogin: New file.
57052         * doc/posix-functions/getlogin.texi: Mention the new module.
57053         Reported by John W. Eaton <jwe@gnu.org>.
57055 2010-01-09  Bruno Haible  <bruno@clisp.org>
57057         getlogin_r: Support for native Windows.
57058         * lib/getlogin_r.c: Include <windows.h>
57059         (getlogin_r): Implement for native Windows.
57060         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
57061         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
57062         via John W. Eaton <jwe@gnu.org>.
57064 2010-01-09  Bruno Haible  <bruno@clisp.org>
57066         getlogin_r: Small fixes.
57067         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
57068         succeeds.
57069         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
57070         before testing whether getlogin_r is declared. No need to set
57071         HAVE_DECL_GETLOGIN_R to 1.
57072         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
57074 2010-01-09  Bruno Haible  <bruno@clisp.org>
57076         * lib/unistd.in.h (getlogin_r): Add comment.
57078 2010-01-09  Bruno Haible  <bruno@clisp.org>
57080         Tests for module 'getlogin_r'.
57081         * modules/getlogin_r-tests: New file.
57082         * tests/test-getlogin_r.c: New file.
57084 2010-01-09  Jim Meyering  <meyering@redhat.com>
57086         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
57087         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
57088         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
57090 2010-01-08  Simon Josefsson  <simon@josefsson.org>
57092         * lib/dup2.c (rpl_dup2): Improve comment.
57094 2010-01-08  Eric Blake  <ebb9@byu.net>
57096         maint.mk: allow packages to add makefile @@ exceptions
57097         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
57098         (sc_makefile_check): Rename...
57099         (sc_makefile_at_at_check): ...to this, and use hook.
57101         dup2: work around mingw bug
57102         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
57103         Reported by Simon Josefsson.
57105 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
57107         glob: Fix C++ compilation.
57108         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
57109         C++.
57111 2010-01-07  Bruno Haible  <bruno@clisp.org>
57113         Fix indentation of wctype.in.h, broken since 2007-01-06.
57114         * lib/wctype.in.h: Fix indentation of preprocessor directives.
57116 2010-01-07  Bruno Haible  <bruno@clisp.org>
57118         mbslen: Avoid collision with system function.
57119         * lib/string.in.h [MirBSD]: Include <wchar.h>.
57120         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
57121         * m4/mbslen.m4: New file.
57122         * modules/mbslen (Files): Add it.
57123         (configure.ac): Invoke gl_MBSLEN.
57124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
57125         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
57126         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
57127         via Ian Beckwith <ianb@erislabs.net>.
57129 2010-01-07  Bruno Haible  <bruno@clisp.org>
57131         dirent: Document the last fix.
57132         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
57134 2010-01-07  Bruno Haible  <bruno@clisp.org>
57136         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
57137         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
57138         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
57139         va_list are defined.
57140         * doc/posix-headers/stdio.texi: Document the bug of missing types.
57141         Reported by Eric Blake.
57143 2010-01-07  Bruno Haible  <bruno@clisp.org>
57145         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
57146         * modules/xlist (Depends-on): Add 'list',
57147         * modules/xoset (Depends-on): Add 'oset'.
57148         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57150 2010-01-07  Bruno Haible  <bruno@clisp.org>
57152         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
57153         * doc/posix-functions/strncasecmp.texi: Likewise.
57155 2010-01-07  Bruno Haible  <bruno@clisp.org>
57157         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
57159 2010-01-07  John W. Eaton  <jwe@octave.org>
57161         wctype: allow C++ use
57162         * lib/wctype.in.h: Add extern "C" block for C++.
57164 2010-01-06  Eric Blake  <ebb9@byu.net>
57166         maint.mk: detect incorrect GFDL usage
57167         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
57169 2010-01-06  Jim Meyering  <meyering@redhat.com>
57170         and Eric Blake  <ebb9@byu.net>
57172         maint.mk: ignore multi-line copyright in NEWS
57173         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
57175 2010-01-06  Eric Blake  <ebb9@byu.net>
57177         select: add missing dependency
57178         * modules/select-tests (Depends-on): Move sockets dependency...
57179         * modules/select (Depends-on): ...here.
57180         Reported by Ian Beckwith.
57182         doc: regenerate INSTALL
57183         * doc/INSTALL: Reflect recent autoconf update.
57184         * doc/INSTALL.ISO: Likewise.
57185         * doc/INSTALL.UTF-8: Likewise.
57187         pread: fix compilation on glibc
57188         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
57189         Reported by Ralf Wildenhues.
57191         dirent: fix test failure
57192         * lib/dirent.in.h (includes): Guarantee ino_t.
57193         Reported by Ralf Wildenhues.
57195 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
57197         linkat, renameat: avoid bad free
57198         * lib/at-func2.c (at_func2): Fix typo.
57199         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
57201 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57203         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
57204         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
57205         to avoid failure of symlink test later.
57207 2010-01-06  Eric Blake  <ebb9@byu.net>
57209         stdio, unistd: guarantee ssize_t
57210         * lib/unistd.in.h (includes): Ensure that types required by POSIX
57211         2008 are exposed when needed.
57212         * lib/stdio.in.h (includes): Likewise.
57213         Reported by Ralf Wildenhues.
57215 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
57217         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
57218         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
57219         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
57221 2010-01-06  Jim Meyering  <meyering@redhat.com>
57223         readtokens: this module *does* require xalloc.h
57224         It uses only functions that were omitted by the old syntax-check rule.
57225         * lib/readtokens.c: Include "xalloc.h" once again.
57226         * modules/readtokens (Depends-on): Add xalloc.
57227         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
57229 2010-01-05  Eric Blake  <ebb9@byu.net>
57231         maint: support 'make announcement' from a VPATH build
57232         * top/maint.mk (announcement): Look for correct NEWS file.
57234 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
57236         utimens (fdutimens): ignore a negative FD, per contract
57237         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
57238         when we have a valid file descriptor.  Otherwise, using a brand
57239         new glibc (with just-patched futimens that now fails with EBADF)
57240         would cause this function to fail with ENOSYS.
57241         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
57242         See also http://bugzilla.redhat.com/552320.
57244 2010-01-05  Eric Blake  <ebb9@byu.net>
57246         strcase: document what it provides
57247         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
57248         gnulib module.
57249         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
57250         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
57252 2010-01-05  Jim Meyering  <meyering@redhat.com>
57254         maint: remove useless inclusions of "xalloc.h"
57255         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
57256         * lib/readtokens.c: Likewise.
57257         * lib/same.c: Likewise.
57258         * modules/getloadavg (Depends-on): Remove xalloc.
57259         * modules/readtokens: Likewise.
57260         * modules/same: Likewise.
57262         maint.mk: include 4 more function names in alloca.h-checking regexp
57263         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
57264         regexp.  Before, we would give a false-positive (saying alloca.h
57265         is included unnecessarily) when the only uses involved omitted symbols.
57267         xalloc.h: use consistent formatting
57268         * lib/xalloc.h: Move declarations to start in the first column.
57270 2010-01-05  Eric Blake  <ebb9@byu.net>
57272         mkdir: avoid xalloc
57273         * lib/mkdir.c (includes): Drop unused header.
57274         Reported by John W. Eaton.
57276 2010-01-04  Jim Meyering  <meyering@redhat.com>
57278         nl_langinfo: avoid configure-time syntax error
57279         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
57280         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
57281         the empty string.  Don't let that provoke a shell syntax error.
57283         regcomp, regexec, fnmatch: avoid array bounds read error
57284         * lib/regcomp.c (build_equiv_class): From glibc:
57285         Use only the low 24 bits of a findidx return value as an index
57286         into the weights array.  Patch by Ulrich Drepper:
57287         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
57288         * lib/regexec.c (check_node_accept_bytes): Likewise.
57289         * lib/fnmatch_loop.c (FCT): Likewise.
57291         regcomp: skip collseq lookup when there are no rules
57292         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
57293         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
57295         regcomp: recognize ill-formed { } expressions
57296         * lib/regcomp.c (parse_dup_op): From glibc:
57297         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
57299         regcomp: fix typo in comment
57300         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
57301         s/satisfy/satisfies/.
57303         regcomp: sync from glibc: remove dead store
57304         * lib/regcomp.c (duplicate_node_closure): Remove useless
57305         search_duplicated_node call and dead store.
57307         regcomp: sync from glibc; always use nl_langinfo
57308         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
57309         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
57310         * modules/regex (Depends-on): Add nl_langinfo.
57312 2010-01-04  Eric Blake  <ebb9@byu.net>
57314         fdopendir: fix configure test
57315         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
57317 2010-01-01  Bruno Haible  <bruno@clisp.org>
57319         wchar: Remove unused configure check.
57320         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
57322 2010-01-01  Eric Blake  <ebb9@byu.net>
57324         headers: make check of system header explicit
57325         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
57326         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
57327         ourselves.
57328         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57329         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57330         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57331         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
57332         internals.
57333         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
57334         missing.
57335         Suggested by Bruno Haible.
57337 2010-01-01  Jim Meyering  <meyering@redhat.com>
57339         ChangeLog: tweak to eliminate unnecessary copyright line
57340         * ChangeLog: Remove a copyright line that was mistakenly updated
57341         by today's update-copyright run.  Reported by Eric Blake.
57343         test-update-copyright: don't let envvar setting cause test failure
57344         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57346 2010-01-01  Bruno Haible  <bruno@clisp.org>
57348         localename: Avoid gcc warning.
57349         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
57350         function if it is not used.
57352 2010-01-01  Jim Meyering  <meyering@redhat.com>
57354         update nearly all FSF copyright year lists to include 2010
57355         Use the same procedure as for 2009, outlined in
57356         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
57358         version-etc: set COPYRIGHT_YEAR to 2010
57359         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
57361 2009-12-31  Eric Blake  <ebb9@byu.net>
57363         doc: correct availability of cygwin 1.5.x getopt
57364         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
57365         variables.
57366         * doc/posix-functions/opterr.texi (opterr): Likewise.
57367         * doc/posix-functions/optind.texi (optind): Likewise.
57368         * doc/posix-functions/optopt.texi (optopt): Likewise.
57369         * doc/posix-functions/tzname.texi (tzname): Likewise.
57371         openat: update maintainer
57372         * modules/openat (Maintainer): Add myself.
57374         utimens: avoid shadowing warning
57375         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
57376         buffers into one, to avoid shadowing, as well as avoiding a
57377         redundant stat.
57378         Reported by Jim Meyering.
57380         test-dup2: avoid compiler warning
57381         * tests/test-dup2.c (is_inheritable): Only define if used.
57383 2010-01-01  Bruno Haible  <bruno@clisp.org>
57385         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
57386         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
57387         defined, use wctomb instead of wcrtomb.
57389 2010-01-01  Bruno Haible  <bruno@clisp.org>
57391         iconv: Reject native Solaris iconv.
57392         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
57393         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
57395 2009-12-31  Bruno Haible  <bruno@clisp.org>
57397         * tests/test-signal.c (main): Remove test of 'SIG'.
57399 2009-12-31  Bruno Haible  <bruno@clisp.org>
57401         spawn: Fix incomplete fix.
57402         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57403         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57404         warnings for GNULIB_POSIXCHECK again.
57405         Reported by Eric Blake.
57407 2009-12-31  Bruno Haible  <bruno@clisp.org>
57409         Avoid namespace pollution on glibc systems.
57410         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
57411         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
57412         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
57413         glibc systems.
57415 2009-12-31  Bruno Haible  <bruno@clisp.org>
57417         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
57418         (gl_REPLACE_WCHAR_H): Turn into a no-op.
57419         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
57420         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
57421         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
57422         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
57423         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
57425 2009-12-31  Bruno Haible  <bruno@clisp.org>
57427         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
57428         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
57429         afterwards.
57431 2009-12-31  Bruno Haible  <bruno@clisp.org>
57433         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
57434         SYS_UTSNAME_H.
57436 2009-12-31  Bruno Haible  <bruno@clisp.org>
57438         spawn: Fix misapplied patch.
57439         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57440         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57441         warnings for GNULIB_POSIXCHECK.
57443 2009-12-31  Bruno Haible  <bruno@clisp.org>
57445         times: Update after sys_times changed.
57446         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
57447         * modules/times (Files): Add it.
57448         (configure.ac): Invoke gl_FUNC_TIMES.
57450 2009-12-31  Bruno Haible  <bruno@clisp.org>
57452         Use AC_C_INLINE where necessary.
57453         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
57454         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57455         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
57456         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57457         * m4/mbfile.m4 (gl_MBFILE): Likewise.
57458         * m4/mbiter.m4 (gl_MBITER): Likewise.
57459         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57460         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57461         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
57462         * modules/u64 (configure.ac): Likewise.
57464 2009-12-31  Bruno Haible  <bruno@clisp.org>
57466         Use AC_C_INLINE instead of module 'inline' where possible.
57467         * modules/inline (Description): Clarify purpose.
57468         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
57469         * modules/count-one-bits (Depends-on): Remove inline.
57470         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57471         * modules/openat (Depends-on): Remove inline.
57472         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57473         instead of depending on module 'inline'.
57474         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57475         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57476         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57477         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57478         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57479         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57480         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57481         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57482         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57483         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57484         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57485         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57486         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57487         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57488         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57489         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57490         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57491         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57492         Likewise.
57493         * modules/unictype/property-ascii-hex-digit (Depends-on,
57494         configure.ac): Likewise.
57495         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57496         configure.ac): Likewise.
57497         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57498         configure.ac): Likewise.
57499         * modules/unictype/property-bidi-block-separator (Depends-on,
57500         configure.ac): Likewise.
57501         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57502         configure.ac): Likewise.
57503         * modules/unictype/property-bidi-common-separator (Depends-on,
57504         configure.ac): Likewise.
57505         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57506         Likewise.
57507         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57508         configure.ac): Likewise.
57509         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57510         configure.ac): Likewise.
57511         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57512         configure.ac): Likewise.
57513         * modules/unictype/property-bidi-european-digit (Depends-on,
57514         configure.ac): Likewise.
57515         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57516         configure.ac): Likewise.
57517         * modules/unictype/property-bidi-left-to-right (Depends-on,
57518         configure.ac): Likewise.
57519         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57520         configure.ac): Likewise.
57521         * modules/unictype/property-bidi-other-neutral (Depends-on,
57522         configure.ac): Likewise.
57523         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57524         Likewise.
57525         * modules/unictype/property-bidi-segment-separator (Depends-on,
57526         configure.ac): Likewise.
57527         * modules/unictype/property-bidi-whitespace (Depends-on,
57528         configure.ac): Likewise.
57529         * modules/unictype/property-combining (Depends-on, configure.ac):
57530         Likewise.
57531         * modules/unictype/property-composite (Depends-on, configure.ac):
57532         Likewise.
57533         * modules/unictype/property-currency-symbol (Depends-on,
57534         configure.ac): Likewise.
57535         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57536         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57537         Likewise.
57538         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57539         configure.ac): Likewise.
57540         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57541         Likewise.
57542         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57543         Likewise.
57544         * modules/unictype/property-extender (Depends-on, configure.ac):
57545         Likewise.
57546         * modules/unictype/property-format-control (Depends-on, configure.ac):
57547         Likewise.
57548         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57549         Likewise.
57550         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57551         Likewise.
57552         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57553         Likewise.
57554         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57555         Likewise.
57556         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57557         Likewise.
57558         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57559         Likewise.
57560         * modules/unictype/property-id-start (Depends-on, configure.ac):
57561         Likewise.
57562         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57563         Likewise.
57564         * modules/unictype/property-ids-binary-operator (Depends-on,
57565         configure.ac): Likewise.
57566         * modules/unictype/property-ids-trinary-operator (Depends-on,
57567         configure.ac): Likewise.
57568         * modules/unictype/property-ignorable-control (Depends-on,
57569         configure.ac): Likewise.
57570         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57571         Likewise.
57572         * modules/unictype/property-join-control (Depends-on, configure.ac):
57573         Likewise.
57574         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57575         Likewise.
57576         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57577         Likewise.
57578         * modules/unictype/property-logical-order-exception (Depends-on,
57579         configure.ac): Likewise.
57580         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57581         Likewise.
57582         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57583         * modules/unictype/property-non-break (Depends-on, configure.ac):
57584         Likewise.
57585         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57586         Likewise.
57587         * modules/unictype/property-numeric (Depends-on, configure.ac):
57588         Likewise.
57589         * modules/unictype/property-other-alphabetic (Depends-on,
57590         configure.ac): Likewise.
57591         * modules/unictype/property-other-default-ignorable-code-point
57592         (Depends-on, configure.ac): Likewise.
57593         * modules/unictype/property-other-grapheme-extend (Depends-on,
57594         configure.ac): Likewise.
57595         * modules/unictype/property-other-id-continue (Depends-on,
57596         configure.ac): Likewise.
57597         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57598         Likewise.
57599         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57600         Likewise.
57601         * modules/unictype/property-other-math (Depends-on, configure.ac):
57602         Likewise.
57603         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57604         Likewise.
57605         * modules/unictype/property-paired-punctuation (Depends-on,
57606         configure.ac): Likewise.
57607         * modules/unictype/property-paragraph-separator (Depends-on,
57608         configure.ac): Likewise.
57609         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57610         Likewise.
57611         * modules/unictype/property-pattern-white-space (Depends-on,
57612         configure.ac): Likewise.
57613         * modules/unictype/property-private-use (Depends-on, configure.ac):
57614         Likewise.
57615         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57616         Likewise.
57617         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57618         Likewise.
57619         * modules/unictype/property-radical (Depends-on, configure.ac):
57620         Likewise.
57621         * modules/unictype/property-sentence-terminal (Depends-on,
57622         configure.ac): Likewise.
57623         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57624         Likewise.
57625         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57626         * modules/unictype/property-terminal-punctuation (Depends-on,
57627         configure.ac): Likewise.
57628         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57629         Likewise.
57630         * modules/unictype/property-unassigned-code-value (Depends-on,
57631         configure.ac): Likewise.
57632         * modules/unictype/property-unified-ideograph (Depends-on,
57633         configure.ac): Likewise.
57634         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57635         Likewise.
57636         * modules/unictype/property-variation-selector (Depends-on,
57637         configure.ac): Likewise.
57638         * modules/unictype/property-white-space (Depends-on, configure.ac):
57639         Likewise.
57640         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57641         Likewise.
57642         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57643         Likewise.
57644         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57645         Likewise.
57646         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57647         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57648         Likewise.
57650 2009-12-31  Bruno Haible  <bruno@clisp.org>
57652         Remove unnecessary AC_C_INLINE invocation.
57653         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57654         since 2009-08-21.
57656 2009-12-31  Jim Meyering  <meyering@redhat.com>
57658         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57659         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57660         With this change, we can all remove the gpg_key_ID = ... definition
57661         from our respective cfg.mk files.
57663         maint.mk: create announcement template in ~/, not in /tmp
57664         * top/maint.mk (emit_upload_commands): Adjust.
57665         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57666         Remove temporary file, .ci-msg.
57668 2009-12-31  Eric Blake  <ebb9@byu.net>
57670         link-warning: always build headers with link warnings
57671         * modules/arpa_inet (Makefile.am): Always build replacement
57672         header.
57673         * modules/ctype (Makefile.am): Likewise.
57674         * modules/dirent (Makefile.am): Likewise.
57675         * modules/inttypes (Makefile.am): Likewise.
57676         * modules/langinfo (Makefile.am): Likewise.
57677         * modules/locale (Makefile.am): Likewise.
57678         * modules/spawn (Makefile.am): Likewise.
57679         * modules/sys_file (Makefile.am): Likewise.
57680         * modules/sys_ioctl (Makefile.am): Likewise.
57681         * modules/sys_select (Makefile.am): Likewise.
57682         * modules/sys_socket (Makefile.am): Likewise.
57683         * modules/sys_times (Makefile.am): Likewise.
57684         * modules/sys_utsname (Makefile.am): Likewise.
57685         * modules/sys_wait (Makefile.am): Likewise.
57686         * modules/wchar (Makefile.am): Likewise.
57687         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57688         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57689         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57690         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57691         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57692         Likewise.
57693         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57694         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57695         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57696         Likewise.
57697         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57698         Likewise.
57699         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57700         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57701         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57702         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57703         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57704         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57705         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57706         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57707         (gl_WCHAR_H_DEFAULTS): Likewise.
57709 2009-12-31  Eric Blake  <ebb9@byu.net>
57711         signal, spawn: use link warnings
57712         * lib/signal.in.h (sigset_t): Make unconditional.
57713         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57714         (sigpending, sigprocmask, sigaction): Add link warnings.
57715         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57716         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57717         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57718         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57719         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57720         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57721         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57722         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57723         (posix_spawn_file_actions_destroy)
57724         (posix_spawn_file_actions_addopen)
57725         (posix_spawn_file_actions_addclose)
57726         (posix_spawn_file_actions_adddup2): Likewise.
57727         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57728         * tests/test-signal.c (main): Enhance test.
57730         spawn: improve wrapper support
57731         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57732         (gl_SPAWN_H_DEFAULTS): New defaults.
57733         * modules/spawn (Makefile.am): Substitute them.
57734         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57735         Only declare if missing or broken.
57737         sys_times, sys_utsname: use include_next
57738         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57739         header.
57740         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57741         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57742         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57743         * modules/sys_times (Depends-on): Add include_next.
57744         (Makefile.am): Substitute additional values.
57745         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57746         * lib/sys_times.in.h (includes): Include native header, if
57747         available.
57748         * lib/sys_utsname.in.h (includes): Likewise.
57749         * tests/test-sys_times.c (main): Enhance test.
57751         fdutimensat: revert prior patch
57752         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57753         utimens.h.
57754         Reported by Bruno Haible.
57756 2009-12-30  Eric Blake  <ebb9@byu.net>
57758         sys_wait: drop link-warning dependency
57759         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57760         link-warning efforts.
57761         * lib/sys_wait.in.h: Likewise.
57763         fdutimensat: remove bogus dependency
57764         * modules/fdutimensat (Depends-on): Drop inline.
57766         unistd: fix typo
57767         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57769 2009-12-30  Bruno Haible  <bruno@clisp.org>
57771         Fix compilation error with Solaris cc.
57772         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57773         * lib/unicase/u16-is-invariant.c: Likewise.
57774         * lib/unicase/u32-is-invariant.c: Likewise.
57775         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57777 2009-12-30  Bruno Haible  <bruno@clisp.org>
57779         Fix test crash.
57780         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57781         locales.
57782         Reported by Simon Josefsson <simon@josefsson.org>.
57784 2009-12-30  Bruno Haible  <bruno@clisp.org>
57786         Fix compilation error on most platforms.
57787         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57788         Reported by Simon Josefsson <simon@josefsson.org>
57789         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57791 2009-12-30  Eric Blake  <ebb9@byu.net>
57793         futimens, utimensat: work around ntfs-3g bug
57794         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57795         a ctime bug is present, and expand workaround to cover ntfs-3g.
57796         * lib/utimens.c (fdutimens, lutimens): Likewise.
57797         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57798         (validate_timespec): Adjust return value.
57799         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57800         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57801         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57803 2009-12-29  Eric Blake  <ebb9@byu.net>
57805         link-warning: make usage consistent
57806         * modules/ctype (Depends-on): Add link-warning.
57807         (Makefile.am): Update rules accordingly.
57808         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57809         * modules/locale (Depends-on, Makefile.am): Likewise.
57810         * modules/sys_file (Makefile.am): Likewise.
57811         * modules/getopt-posix (Makefile.am): Delete unused link warning
57812         efforts.
57813         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57814         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57815         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57816         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57818         stdio: remove unused variables
57819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57820         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57821         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57823         tests: test more substitute headers
57824         * modules/ctype-tests: New file.
57825         * modules/dirent-tests: Likewise.
57826         * modules/spawn-tests: Likewise.
57827         * modules/sys_file-tests: Likewise.
57828         * modules/sys_ioctl-tests: Likewise.
57829         * modules/sys_wait-tests: Likewise.
57830         * tests/test-ctype.c: Likewise.
57831         * tests/test-dirent.c: Likewise.
57832         * tests/test-spawn.c: Likewise.
57833         * tests/test-sys_file.c: Likewise.
57834         * tests/test-sys_ioctl.c: Likewise.
57835         * tests/test-sys_wait.c: Likewise.
57836         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57837         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57838         whether or not flock is in use.
57840         tests: remove License section from module
57841         * modules/arpa_inet-tests: Remove unneeded section.
57842         * modules/byteswap-tests: Likewise.
57843         * modules/ceilf-tests: Likewise.
57844         * modules/ceill-tests: Likewise.
57845         * modules/crypto/des-tests: Likewise.
57846         * modules/crypto/gc-arcfour-tests: Likewise.
57847         * modules/crypto/gc-arctwo-tests: Likewise.
57848         * modules/crypto/gc-des-tests: Likewise.
57849         * modules/crypto/gc-hmac-md5-tests: Likewise.
57850         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57851         * modules/crypto/gc-md2-tests: Likewise.
57852         * modules/crypto/gc-md4-tests: Likewise.
57853         * modules/crypto/gc-md5-tests: Likewise.
57854         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57855         * modules/crypto/gc-rijndael-tests: Likewise.
57856         * modules/crypto/gc-sha1-tests: Likewise.
57857         * modules/crypto/gc-tests: Likewise.
57858         * modules/crypto/md2-tests: Likewise.
57859         * modules/crypto/md4-tests: Likewise.
57860         * modules/fcntl-h-tests: Likewise.
57861         * modules/floorf-tests: Likewise.
57862         * modules/floorl-tests: Likewise.
57863         * modules/frexp-nolibm-tests: Likewise.
57864         * modules/frexp-tests: Likewise.
57865         * modules/frexpl-nolibm-tests: Likewise.
57866         * modules/frexpl-tests: Likewise.
57867         * modules/getaddrinfo-tests: Likewise.
57868         * modules/inttypes-tests: Likewise.
57869         * modules/isfinite-tests: Likewise.
57870         * modules/isinf-tests: Likewise.
57871         * modules/ldexpl-tests: Likewise.
57872         * modules/locale-tests: Likewise.
57873         * modules/math-tests: Likewise.
57874         * modules/netdb-tests: Likewise.
57875         * modules/netinet_in-tests: Likewise.
57876         * modules/printf-frexp-tests: Likewise.
57877         * modules/printf-frexpl-tests: Likewise.
57878         * modules/priv-set-tests: Likewise.
57879         * modules/random_r-tests: Likewise.
57880         * modules/round-tests: Likewise.
57881         * modules/roundf-tests: Likewise.
57882         * modules/roundl-tests: Likewise.
57883         * modules/search-tests: Likewise.
57884         * modules/select-tests: Likewise.
57885         * modules/signal-tests: Likewise.
57886         * modules/stdbool-tests: Likewise.
57887         * modules/stddef-tests: Likewise.
57888         * modules/stdint-tests: Likewise.
57889         * modules/stdio-tests: Likewise.
57890         * modules/stdlib-tests: Likewise.
57891         * modules/string-tests: Likewise.
57892         * modules/strings-tests: Likewise.
57893         * modules/sys_select-tests: Likewise.
57894         * modules/sys_socket-tests: Likewise.
57895         * modules/sys_stat-tests: Likewise.
57896         * modules/sys_time-tests: Likewise.
57897         * modules/sys_utsname-tests: Likewise.
57898         * modules/sysexits-tests: Likewise.
57899         * modules/time-tests: Likewise.
57900         * modules/trunc-tests: Likewise.
57901         * modules/truncf-tests: Likewise.
57902         * modules/truncl-tests: Likewise.
57903         * modules/tsearch-tests: Likewise.
57904         * modules/unistd-tests: Likewise.
57905         * modules/wchar-tests: Likewise.
57906         * modules/wctype-tests: Likewise.
57908         tests: fix license on several tests
57909         * tests/test-des.c: Update to GPLv3+.
57910         * tests/test-flock.c: Likewise.
57911         * tests/test-fsync.c: Likewise.
57912         * tests/test-futimens.h: Likewise.
57913         * tests/test-gc-arcfour.c: Likewise.
57914         * tests/test-gc-arctwo.c: Likewise.
57915         * tests/test-gc-des.c: Likewise.
57916         * tests/test-gc-hmac-md5.c: Likewise.
57917         * tests/test-gc-hmac-sha1.c: Likewise.
57918         * tests/test-gc-md2.c: Likewise.
57919         * tests/test-gc-md4.c: Likewise.
57920         * tests/test-gc-md5.c: Likewise.
57921         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57922         * tests/test-gc-rijndael.c: Likewise.
57923         * tests/test-gc-sha1.c: Likewise.
57924         * tests/test-gc.c: Likewise.
57925         * tests/test-getcwd.c: Likewise.
57926         * tests/test-link.c: Likewise.
57927         * tests/test-link.h: Likewise.
57928         * tests/test-lutimens.h: Likewise.
57929         * tests/test-md2.c: Likewise.
57930         * tests/test-md4.c: Likewise.
57931         * tests/test-mkdir.h: Likewise.
57932         * tests/test-rename.c: Likewise.
57933         * tests/test-rename.h: Likewise.
57934         * tests/test-safe-alloc.c: Likewise.
57935         * tests/test-utimens-common.h: Likewise.
57936         * tests/test-utimens.h: Likewise.
57938         maint: sync license texts
57939         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57940         * doc/gpl-3.0.texi: Revert copyright year update.
57941         * doc/lgpl-3.0.texi: Likewise.
57943 2009-12-29  Jim Meyering  <meyering@redhat.com>
57945         update nearly all FSF copyright year lists to include 2009
57946         The files named by the following are exempted:
57947             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57948               test -f "$dst" && { echo "$dst"; continue; }
57949               test -d "$dst" || continue
57950               echo "$dst"/$(basename "$src")
57951             done > exempt
57952             git ls-files tests/unictype >> exempt
57953         In the remaining files, convert to all-interval notation if
57954         - there is already at least one year interval like 2000-2003
57955         - the file is maintained by me
57956         - the file is in lib/uni*/, where that style already prevails
57957         Otherwise, use update-copyright's default.
57959 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57960         and Eric Blake  <ebb9@byu.net>
57962         tests: don't require debug system() to pass
57963         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57964         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57965         * tests/test-unlink.h (test_unlink_func): Likewise.
57966         * tests/test-fstatat.c (main): ...into callers.
57967         * tests/test-lstat.c (main): Likewise.
57968         * tests/test-rmdir.c (main): Likewise.
57969         * tests/test-unlink.c (main): Likewise.
57970         * tests/test-unlinkat.c (main): Likewise.
57971         * tests/test-areadlink-with-size.c (main): Don't require a
57972         debug-only system call to pass, aiding cross-testing to mingw.
57973         * tests/test-areadlink.c (main): Likewise.
57974         * tests/test-areadlinkat-with-size.c (main): Likewise.
57975         * tests/test-areadlinkat.c (main): Likewise.
57976         * tests/test-canonicalize-lgpl.c (main): Likewise.
57977         * tests/test-canonicalize.c (main): Likewise.
57978         * tests/test-chown.c (main): Likewise.
57979         * tests/test-fchownat.c (main): Likewise.
57980         * tests/test-lchown.c (main): Likewise.
57981         * tests/test-fdutimensat.c (main): Likewise.
57982         * tests/test-futimens.c (main): Likewise.
57983         * tests/test-link.c (main): Likewise.
57984         * tests/test-linkat.c (main): Likewise.
57985         * tests/test-mkdir.c (main): Likewise.
57986         * tests/test-mkdirat.c (main): Likewise.
57987         * tests/test-mkfifo.c (main): Likewise.
57988         * tests/test-mkfifoat.c (main): Likewise.
57989         * tests/test-mknod.c (main): Likewise.
57990         * tests/test-readlink.c (main): Likewise.
57991         * tests/test-remove.c (main): Likewise.
57992         * tests/test-rename.c (main): Likewise.
57993         * tests/test-renameat.c (main): Likewise.
57994         * tests/test-symlink.c (main): Likewise.
57995         * tests/test-symlinkat.c (main): Likewise.
57996         * tests/test-utimens.c (main): Likewise.
57997         * tests/test-utimensat.c (main): Likewise.
57999 2009-12-29  Simon Josefsson  <simon@josefsson.org>
58001         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
58002         on $(UNUSED_PARAMETER_H) to avoid build failure.
58004 2009-12-28  Jim Meyering  <meyering@redhat.com>
58006         update-copyright: you may specify a max. line length other than 72
58007         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
58009         maint: use consistent FSF copyright line syntax
58010         * lib/posixtm.c: Add missing comma in FSF copyright line.
58011         * lib/posixtm.h: Likewise.
58012         * lib/getugroups.c: Add missing ", Inc.".
58014         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
58015         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
58016         FSF copyright line.  Remove trailing blanks.
58018 2009-12-28  Eric Blake  <ebb9@byu.net>
58020         test-dup2: reduce dependencies
58021         * modules/cloexec (Configure.ac): Set witness.
58022         * modules/dup2-tests (Depends-on): Drop cloexec.
58023         * tests/test-dup2.c (main): Skip portion of test if cloexec module
58024         not present.
58025         Suggested by Bruno Haible.
58027 2009-12-26  Bruno Haible  <bruno@clisp.org>
58029         Remove an unneeded dependency.
58030         * modules/fseterr (Depends-on): Remove dup2.
58032 2009-12-26  Eric Blake  <ebb9@byu.net>
58034         tests: use macros.h in more places
58035         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
58036         (ASSERT_STREAM): Provide default of stderr.
58037         * tests/test-dirent-safer.c: Include macros.h, using alternate
58038         stream for assertions.
58039         * tests/test-dup-safer.c: Likewise.
58040         * tests/test-freopen-safer.c: Likewise.
58041         * tests/test-getopt.c: Likewise.
58042         * tests/test-openat-safer.c: Likewise.
58043         * tests/test-pipe.c: Likewise.
58044         * tests/test-popen-safer.c: Likewise.
58045         * modules/dirent-safer-tests (Files): Include macros.h.
58046         * modules/unistd-safer-tests (Files): Likewise.
58047         * modules/freopen-safer-tests (Files): Likewise.
58048         * modules/getopt-posix-tests (Files): Likewise.
58049         * modules/openat-safer-tests (Files): Likewise.
58050         * modules/pipe-tests (Files): Likewise.
58052 2009-12-26  Bruno Haible  <bruno@clisp.org>
58054         javacomp-script: Portability fix.
58055         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
58056         that it also works on Solaris.
58058 2009-12-26  Bruno Haible  <bruno@clisp.org>
58060         localename: Fix storage allocation of gl_locale_name_thread's result.
58061         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
58062         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
58063         all platforms that have 'uselocale'.
58064         (gl_locale_name_thread_unsafe): New function, extracted from
58065         gl_locale_name_thread.
58066         (gl_locale_name_thread): Call struniq on all platforms that have
58067         'uselocale'.
58068         * tests/test-localename.c (test_locale_name_thread): Check that the
58069         resulting strings are permanently allocated.
58070         * modules/localename-tests (Depends-on): Add strdup.
58072 2009-12-26  Bruno Haible  <bruno@clisp.org>
58074         * tests/test-localename.c (categories): Fill in the strings.
58076 2009-12-26  Jim Meyering  <meyering@redhat.com>
58078         isdir: complete the removal of m4/isdir.m4
58079         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
58081         isdir: clean up, since at least grep still uses it
58082         * lib/isdir.c: Include "isdir.h".
58083         (S_ISDIR): Remove now-unneeded definition.
58084         * modules/isdir (Files): Add lib/isdir.h.
58085         * lib/isdir.h: New file, with declaration.
58086         * m4/isdir.m4: Remove file -- unneeded.
58088 2009-12-25  Bruno Haible  <bruno@clisp.org>
58090         selinux-h: Make generated .h files standalone.
58091         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
58092         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
58093         * lib/se-selinux.in.h: Likewise.
58094         * modules/selinux-h (Depends-on): Add unused-parameter.
58095         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
58096         selinux/selinux.h and selinux/context.h.
58097         Suggested by Eric Blake.
58099 2009-12-25  Bruno Haible  <bruno@clisp.org>
58101         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
58102         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
58103         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
58104         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
58105         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
58107 2009-12-24  Bruno Haible  <bruno@clisp.org>
58109         openat: Fix warning.
58110         * lib/openat-proc.c: Include <unistd.h>.
58112 2009-12-24  Bruno Haible  <bruno@clisp.org>
58114         New module 'unused-parameter'.
58115         * build-aux/unused-parameter.h: New file, extracted from earlier
58116         gnulib-common.m4.
58117         * modules/unused-parameter: New file.
58118         * lib/unistr.h: Include unused-parameter.h.
58119         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
58120         _GL_UNUSED.
58121         * modules/unistr/base (Depends-on): Add unused-parameter.
58123 2009-12-24  Bruno Haible  <bruno@clisp.org>
58125         Add missing dependencies to 'extensions' module.
58126         * m4/extensions.m4: Add comment.
58127         * modules/accept4 (Depends-on): Add extensions.
58128         * modules/dup3 (Depends-on): Likewise.
58129         * modules/fcntl (Depends-on): Likewise.
58130         * modules/futimens (Depends-on): Likewise.
58131         * modules/mknod (Depends-on): Likewise.
58132         * modules/pipe2 (Depends-on): Likewise.
58133         * modules/stat-time (Depends-on): Likewise.
58134         * modules/strcasestr-simple (Depends-on): Likewise.
58135         * modules/strsignal (Depends-on): Likewise.
58136         * modules/utimensat (Depends-on): Likewise.
58137         * modules/localcharset (Depends-on): Likewise. Needed because of
58138         gl_FCNTL_O_FLAGS.
58139         * modules/wcrtomb (Depends-on): Likewise. Needed because of
58140         AC_TYPE_MBSTATE_T.
58141         * modules/wcsnrtombs (Depends-on): Likewise.
58142         * modules/wcsrtombs (Depends-on): Likewise.
58144 2009-12-24  Bruno Haible  <bruno@clisp.org>
58146         binary-io: Avoid gcc warning due to SET_BINARY.
58147         * lib/binary-io.h (SET_BINARY): Cast the result to void.
58148         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
58150 2009-12-24  Bruno Haible  <bruno@clisp.org>
58152         Avoid future namespace pollution on glibc systems.
58153         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
58154         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
58155         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
58156         glibc systems.
58158 2009-12-24  Bruno Haible  <bruno@clisp.org>
58160         Refactor common macros used in tests.
58161         * tests/macros.h: New file.
58162         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
58163         and/or <stdlib.h>, if appropriate.
58164         (ASSERT, SIZEOF): Remove macros.
58165         * tests/test-areadlink-with-size.c: Likewise.
58166         * tests/test-areadlinkat.c: Likewise.
58167         * tests/test-areadlinkat-with-size.c: Likewise.
58168         * tests/test-argmatch.c: Likewise.
58169         * tests/test-argv-iter.c: Likewise.
58170         * tests/test-array-mergesort.c: Likewise.
58171         * tests/test-array_list.c: Likewise.
58172         * tests/test-array_oset.c: Likewise.
58173         * tests/test-avltree_list.c: Likewise.
58174         * tests/test-avltree_oset.c: Likewise.
58175         * tests/test-avltreehash_list.c: Likewise.
58176         * tests/test-base64.c: Likewise.
58177         * tests/test-binary-io.c: Likewise.
58178         * tests/test-bitrotate.c: Likewise.
58179         * tests/test-btowc.c: Likewise.
58180         * tests/test-byteswap.c: Likewise.
58181         * tests/test-c-ctype.c: Likewise.
58182         * tests/test-c-stack.c: Likewise.
58183         * tests/test-c-strcasecmp.c: Likewise.
58184         * tests/test-c-strcasestr.c: Likewise.
58185         * tests/test-c-strncasecmp.c: Likewise.
58186         * tests/test-c-strstr.c: Likewise.
58187         * tests/test-canonicalize-lgpl.c: Likewise.
58188         * tests/test-canonicalize.c: Likewise.
58189         * tests/test-carray_list.c: Likewise.
58190         * tests/test-ceilf1.c: Likewise.
58191         * tests/test-ceilf2.c: Likewise.
58192         * tests/test-ceill.c: Likewise.
58193         * tests/test-chown.c: Likewise.
58194         * tests/test-cloexec.c: Likewise.
58195         * tests/test-copy-acl.c: Likewise.
58196         * tests/test-copy-file.c: Likewise.
58197         * tests/test-count-one-bits.c: Likewise.
58198         * tests/test-dprintf-posix.c: Likewise.
58199         * tests/test-dup2.c: Likewise.
58200         * tests/test-dup3.c: Likewise.
58201         * tests/test-duplocale.c: Likewise.
58202         * tests/test-fbufmode.c: Likewise.
58203         * tests/test-fchdir.c: Likewise.
58204         * tests/test-fchownat.c: Likewise.
58205         * tests/test-fcntl-safer.c: Likewise.
58206         * tests/test-fcntl.c: Likewise.
58207         * tests/test-fdopendir.c: Likewise.
58208         * tests/test-fdutimensat.c: Likewise.
58209         * tests/test-fflush2.c: Likewise.
58210         * tests/test-file-has-acl.c: Likewise.
58211         * tests/test-filevercmp.c: Likewise.
58212         * tests/test-flock.c: Likewise.
58213         * tests/test-floorf1.c: Likewise.
58214         * tests/test-floorf2.c: Likewise.
58215         * tests/test-floorl.c: Likewise.
58216         * tests/test-fnmatch.c: Likewise.
58217         * tests/test-fopen.h: Likewise.
58218         * tests/test-fpending.c: Likewise.
58219         * tests/test-fprintf-posix.c: Likewise.
58220         * tests/test-fpurge.c: Likewise.
58221         * tests/test-freadable.c: Likewise.
58222         * tests/test-freadahead.c: Likewise.
58223         * tests/test-freading.c: Likewise.
58224         * tests/test-freadptr.c: Likewise.
58225         * tests/test-freadptr2.c: Likewise.
58226         * tests/test-freadseek.c: Likewise.
58227         * tests/test-freopen.c: Likewise.
58228         * tests/test-frexp.c: Likewise.
58229         * tests/test-frexpl.c: Likewise.
58230         * tests/test-fseek.c: Likewise.
58231         * tests/test-fseeko.c: Likewise.
58232         * tests/test-fstatat.c: Likewise.
58233         * tests/test-fstrcmp.c: Likewise.
58234         * tests/test-fsync.c: Likewise.
58235         * tests/test-ftell.c: Likewise.
58236         * tests/test-ftello.c: Likewise.
58237         * tests/test-func.c: Likewise.
58238         * tests/test-futimens.c: Likewise.
58239         * tests/test-fwritable.c: Likewise.
58240         * tests/test-fwriting.c: Likewise.
58241         * tests/test-getcwd.c: Likewise.
58242         * tests/test-getdate.c: Likewise.
58243         * tests/test-getdelim.c: Likewise.
58244         * tests/test-getdtablesize.c: Likewise.
58245         * tests/test-getgroups.c: Likewise.
58246         * tests/test-getline.c: Likewise.
58247         * tests/test-getndelim2.c: Likewise.
58248         * tests/test-glob.c: Likewise.
58249         * tests/test-hash.c: Likewise.
58250         * tests/test-i-ring.c: Likewise.
58251         * tests/test-iconv-utf.c: Likewise.
58252         * tests/test-iconv.c: Likewise.
58253         * tests/test-idpriv-drop.c: Likewise.
58254         * tests/test-idpriv-droptemp.c: Likewise.
58255         * tests/test-inet_ntop.c: Likewise.
58256         * tests/test-inet_pton.c: Likewise.
58257         * tests/test-isblank.c: Likewise.
58258         * tests/test-isfinite.c: Likewise.
58259         * tests/test-isinf.c: Likewise.
58260         * tests/test-isnan.c: Likewise.
58261         * tests/test-isnand.h: Likewise.
58262         * tests/test-isnanf.h: Likewise.
58263         * tests/test-isnanl.h: Likewise.
58264         * tests/test-lchown.c: Likewise.
58265         * tests/test-ldexpl.c: Likewise.
58266         * tests/test-link.c: Likewise.
58267         * tests/test-linkat.c: Likewise.
58268         * tests/test-linked_list.c: Likewise.
58269         * tests/test-linkedhash_list.c: Likewise.
58270         * tests/test-localename.c: Likewise.
58271         * tests/test-lseek.c: Likewise.
58272         * tests/test-lstat.c: Likewise.
58273         * tests/test-mbmemcasecmp.c: Likewise.
58274         * tests/test-mbmemcasecoll.c: Likewise.
58275         * tests/test-mbrtowc.c: Likewise.
58276         * tests/test-mbscasecmp.c: Likewise.
58277         * tests/test-mbscasestr1.c: Likewise.
58278         * tests/test-mbscasestr2.c: Likewise.
58279         * tests/test-mbscasestr3.c: Likewise.
58280         * tests/test-mbscasestr4.c: Likewise.
58281         * tests/test-mbschr.c: Likewise.
58282         * tests/test-mbscspn.c: Likewise.
58283         * tests/test-mbsinit.c: Likewise.
58284         * tests/test-mbsncasecmp.c: Likewise.
58285         * tests/test-mbsnrtowcs.c: Likewise.
58286         * tests/test-mbspbrk.c: Likewise.
58287         * tests/test-mbspcasecmp.c: Likewise.
58288         * tests/test-mbsrchr.c: Likewise.
58289         * tests/test-mbsrtowcs.c: Likewise.
58290         * tests/test-mbsspn.c: Likewise.
58291         * tests/test-mbsstr1.c: Likewise.
58292         * tests/test-mbsstr2.c: Likewise.
58293         * tests/test-mbsstr3.c: Likewise.
58294         * tests/test-memchr.c: Likewise.
58295         * tests/test-memchr2.c: Likewise.
58296         * tests/test-memcmp.c: Likewise.
58297         * tests/test-memmem.c: Likewise.
58298         * tests/test-memrchr.c: Likewise.
58299         * tests/test-mkdir.c: Likewise.
58300         * tests/test-mkdirat.c: Likewise.
58301         * tests/test-mkfifo.c: Likewise.
58302         * tests/test-mkfifoat.c: Likewise.
58303         * tests/test-mknod.c: Likewise.
58304         * tests/test-nanosleep.c: Likewise.
58305         * tests/test-nl_langinfo.c: Likewise.
58306         * tests/test-obstack-printf.c: Likewise.
58307         * tests/test-open.c: Likewise.
58308         * tests/test-openat.c: Likewise.
58309         * tests/test-pipe-filter-gi1.c: Likewise.
58310         * tests/test-pipe-filter-gi2-main.c: Likewise.
58311         * tests/test-pipe-filter-ii1.c: Likewise.
58312         * tests/test-pipe-filter-ii2-main.c: Likewise.
58313         * tests/test-pipe2.c: Likewise.
58314         * tests/test-popen.h: Likewise.
58315         * tests/test-posixtm.c: Likewise.
58316         * tests/test-pread.c: Likewise.
58317         * tests/test-printf-frexp.c: Likewise.
58318         * tests/test-printf-frexpl.c: Likewise.
58319         * tests/test-printf-posix.c: Likewise.
58320         * tests/test-priv-set.c: Likewise.
58321         * tests/test-quotearg.c: Likewise.
58322         * tests/test-random_r.c: Likewise.
58323         * tests/test-rawmemchr.c: Likewise.
58324         * tests/test-rbtree_list.c: Likewise.
58325         * tests/test-rbtree_oset.c: Likewise.
58326         * tests/test-rbtreehash_list.c: Likewise.
58327         * tests/test-readlink.c: Likewise.
58328         * tests/test-remove.c: Likewise.
58329         * tests/test-rename.c: Likewise.
58330         * tests/test-renameat.c: Likewise.
58331         * tests/test-rmdir.c: Likewise.
58332         * tests/test-round1.c: Likewise.
58333         * tests/test-roundf1.c: Likewise.
58334         * tests/test-roundl.c: Likewise.
58335         * tests/test-safe-alloc.c: Likewise.
58336         * tests/test-sameacls.c: Likewise.
58337         * tests/test-set-mode-acl.c: Likewise.
58338         * tests/test-setenv.c: Likewise.
58339         * tests/test-sigaction.c: Likewise.
58340         * tests/test-signbit.c: Likewise.
58341         * tests/test-sleep.c: Likewise.
58342         * tests/test-snprintf-posix.c: Likewise.
58343         * tests/test-snprintf.c: Likewise.
58344         * tests/test-sprintf-posix.c: Likewise.
58345         * tests/test-stat-time.c: Likewise.
58346         * tests/test-stat.c: Likewise.
58347         * tests/test-strcasestr.c: Likewise.
58348         * tests/test-strchrnul.c: Likewise.
58349         * tests/test-strerror.c: Likewise.
58350         * tests/test-striconv.c: Likewise.
58351         * tests/test-striconveh.c: Likewise.
58352         * tests/test-striconveha.c: Likewise.
58353         * tests/test-strsignal.c: Likewise.
58354         * tests/test-strstr.c: Likewise.
58355         * tests/test-strtod.c: Likewise.
58356         * tests/test-strverscmp.c: Likewise.
58357         * tests/test-symlink.c: Likewise.
58358         * tests/test-symlinkat.c: Likewise.
58359         * tests/test-trunc1.c: Likewise.
58360         * tests/test-trunc2.c: Likewise.
58361         * tests/test-truncf1.c: Likewise.
58362         * tests/test-truncf2.c: Likewise.
58363         * tests/test-truncl.c: Likewise.
58364         * tests/test-uname.c: Likewise.
58365         * tests/test-unlink.c: Likewise.
58366         * tests/test-unlinkat.c: Likewise.
58367         * tests/test-unsetenv.c: Likewise.
58368         * tests/test-usleep.c: Likewise.
58369         * tests/test-utimens.c: Likewise.
58370         * tests/test-utimensat.c: Likewise.
58371         * tests/test-vasnprintf-posix.c: Likewise.
58372         * tests/test-vasnprintf-posix2.c: Likewise.
58373         * tests/test-vasnprintf.c: Likewise.
58374         * tests/test-vasprintf-posix.c: Likewise.
58375         * tests/test-vasprintf.c: Likewise.
58376         * tests/test-vdprintf-posix.c: Likewise.
58377         * tests/test-vfprintf-posix.c: Likewise.
58378         * tests/test-vprintf-posix.c: Likewise.
58379         * tests/test-vsnprintf-posix.c: Likewise.
58380         * tests/test-vsnprintf.c: Likewise.
58381         * tests/test-vsprintf-posix.c: Likewise.
58382         * tests/test-wcrtomb.c: Likewise.
58383         * tests/test-wcsnrtombs.c: Likewise.
58384         * tests/test-wcsrtombs.c: Likewise.
58385         * tests/test-wctype.c: Likewise.
58386         * tests/test-wcwidth.c: Likewise.
58387         * tests/test-xfprintf-posix.c: Likewise.
58388         * tests/test-xmemdup0.c: Likewise.
58389         * tests/test-xprintf-posix.c: Likewise.
58390         * tests/test-xvasprintf.c: Likewise.
58391         * tests/unicase/test-locale-language.c: Likewise.
58392         * tests/unicase/test-mapping-part1.h: Likewise.
58393         * tests/unicase/test-predicate-part1.h: Likewise.
58394         * tests/unicase/test-u8-casecmp.c: Likewise.
58395         * tests/unicase/test-u8-casecoll.c: Likewise.
58396         * tests/unicase/test-u8-casefold.c: Likewise.
58397         * tests/unicase/test-u8-is-cased.c: Likewise.
58398         * tests/unicase/test-u8-is-casefolded.c: Likewise.
58399         * tests/unicase/test-u8-is-lowercase.c: Likewise.
58400         * tests/unicase/test-u8-is-titlecase.c: Likewise.
58401         * tests/unicase/test-u8-is-uppercase.c: Likewise.
58402         * tests/unicase/test-u8-tolower.c: Likewise.
58403         * tests/unicase/test-u8-totitle.c: Likewise.
58404         * tests/unicase/test-u8-toupper.c: Likewise.
58405         * tests/unicase/test-u16-casecmp.c: Likewise.
58406         * tests/unicase/test-u16-casecoll.c: Likewise.
58407         * tests/unicase/test-u16-casefold.c: Likewise.
58408         * tests/unicase/test-u16-is-cased.c: Likewise.
58409         * tests/unicase/test-u16-is-casefolded.c: Likewise.
58410         * tests/unicase/test-u16-is-lowercase.c: Likewise.
58411         * tests/unicase/test-u16-is-titlecase.c: Likewise.
58412         * tests/unicase/test-u16-is-uppercase.c: Likewise.
58413         * tests/unicase/test-u16-tolower.c: Likewise.
58414         * tests/unicase/test-u16-totitle.c: Likewise.
58415         * tests/unicase/test-u16-toupper.c: Likewise.
58416         * tests/unicase/test-u32-casecmp.c: Likewise.
58417         * tests/unicase/test-u32-casecoll.c: Likewise.
58418         * tests/unicase/test-u32-casefold.c: Likewise.
58419         * tests/unicase/test-u32-is-cased.c: Likewise.
58420         * tests/unicase/test-u32-is-casefolded.c: Likewise.
58421         * tests/unicase/test-u32-is-lowercase.c: Likewise.
58422         * tests/unicase/test-u32-is-titlecase.c: Likewise.
58423         * tests/unicase/test-u32-is-uppercase.c: Likewise.
58424         * tests/unicase/test-u32-tolower.c: Likewise.
58425         * tests/unicase/test-u32-totitle.c: Likewise.
58426         * tests/unicase/test-u32-toupper.c: Likewise.
58427         * tests/unicase/test-ulc-casecmp.c: Likewise.
58428         * tests/unicase/test-ulc-casecoll.c: Likewise.
58429         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58430         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58431         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58432         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58433         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58434         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58435         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58436         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58437         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58438         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58439         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58440         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58441         * tests/unictype/test-bidi_byname.c: Likewise.
58442         * tests/unictype/test-bidi_name.c: Likewise.
58443         * tests/unictype/test-bidi_of.c: Likewise.
58444         * tests/unictype/test-bidi_test.c: Likewise.
58445         * tests/unictype/test-block_list.c: Likewise.
58446         * tests/unictype/test-block_of.c: Likewise.
58447         * tests/unictype/test-block_test.c: Likewise.
58448         * tests/unictype/test-categ_and.c: Likewise.
58449         * tests/unictype/test-categ_and_not.c: Likewise.
58450         * tests/unictype/test-categ_byname.c: Likewise.
58451         * tests/unictype/test-categ_name.c: Likewise.
58452         * tests/unictype/test-categ_none.c: Likewise.
58453         * tests/unictype/test-categ_of.c: Likewise.
58454         * tests/unictype/test-categ_or.c: Likewise.
58455         * tests/unictype/test-categ_test_withtable.c: Likewise.
58456         * tests/unictype/test-combining.c: Likewise.
58457         * tests/unictype/test-decdigit.c: Likewise.
58458         * tests/unictype/test-digit.c: Likewise.
58459         * tests/unictype/test-mirror.c: Likewise.
58460         * tests/unictype/test-numeric.c: Likewise.
58461         * tests/unictype/test-pr_byname.c: Likewise.
58462         * tests/unictype/test-pr_test.c: Likewise.
58463         * tests/unictype/test-predicate-part1.h: Likewise.
58464         * tests/unictype/test-scripts.c: Likewise.
58465         * tests/unictype/test-sy_c_ident.c: Likewise.
58466         * tests/unictype/test-sy_java_ident.c: Likewise.
58467         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
58468         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
58469         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
58470         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58471         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58472         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58473         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58474         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58475         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58476         * tests/uninorm/test-compat-decomposition.c: Likewise.
58477         * tests/uninorm/test-composition.c: Likewise.
58478         * tests/uninorm/test-decomposing-form.c: Likewise.
58479         * tests/uninorm/test-decomposition.c: Likewise.
58480         * tests/uninorm/test-u8-nfc.c: Likewise.
58481         * tests/uninorm/test-u8-nfd.c: Likewise.
58482         * tests/uninorm/test-u8-nfkc.c: Likewise.
58483         * tests/uninorm/test-u8-nfkd.c: Likewise.
58484         * tests/uninorm/test-u8-normcmp.c: Likewise.
58485         * tests/uninorm/test-u8-normcoll.c: Likewise.
58486         * tests/uninorm/test-u16-nfc.c: Likewise.
58487         * tests/uninorm/test-u16-nfd.c: Likewise.
58488         * tests/uninorm/test-u16-nfkc.c: Likewise.
58489         * tests/uninorm/test-u16-nfkd.c: Likewise.
58490         * tests/uninorm/test-u16-normcmp.c: Likewise.
58491         * tests/uninorm/test-u16-normcoll.c: Likewise.
58492         * tests/uninorm/test-u32-nfc.c: Likewise.
58493         * tests/uninorm/test-u32-nfd.c: Likewise.
58494         * tests/uninorm/test-u32-nfkc.c: Likewise.
58495         * tests/uninorm/test-u32-nfkd.c: Likewise.
58496         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58497         * tests/uninorm/test-u32-normcmp.c: Likewise.
58498         * tests/uninorm/test-u32-normcoll.c: Likewise.
58499         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58500         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58501         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58502         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58503         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58504         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58505         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58506         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58507         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58508         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58509         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58510         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58511         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58512         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58513         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58514         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58515         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58516         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58517         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58518         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58519         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58520         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58521         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58522         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58523         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58524         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58525         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58526         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58527         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58528         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58529         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58530         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58531         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58532         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58533         * tests/uniwidth/test-u8-width.c: Likewise.
58534         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58535         * tests/uniwidth/test-u16-width.c: Likewise.
58536         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58537         * tests/uniwidth/test-u32-width.c: Likewise.
58538         * tests/uniwidth/test-uc_width.c: Likewise.
58539         * tests/uniwidth/test-uc_width2.c: Likewise.
58540         * modules/acl-tests (Files): Add tests/macros.h.
58541         * modules/areadlink-tests (Files): Likewise.
58542         * modules/areadlink-with-size-tests (Files): Likewise.
58543         * modules/areadlinkat-tests (Files): Likewise.
58544         * modules/areadlinkat-with-size-tests (Files): Likewise.
58545         * modules/argmatch-tests (Files): Likewise.
58546         * modules/argv-iter-tests (Files): Likewise.
58547         * modules/array-list-tests (Files): Likewise.
58548         * modules/array-mergesort-tests (Files): Likewise.
58549         * modules/array-oset-tests (Files): Likewise.
58550         * modules/avltree-list-tests (Files): Likewise.
58551         * modules/avltree-oset-tests (Files): Likewise.
58552         * modules/avltreehash-list-tests (Files): Likewise.
58553         * modules/base64-tests (Files): Likewise.
58554         * modules/binary-io-tests (Files): Likewise.
58555         * modules/bitrotate-tests (Files): Likewise.
58556         * modules/btowc-tests (Files): Likewise.
58557         * modules/byteswap-tests (Files): Likewise.
58558         * modules/c-ctype-tests (Files): Likewise.
58559         * modules/c-stack-tests (Files): Likewise.
58560         * modules/c-strcase-tests (Files): Likewise.
58561         * modules/c-strcasestr-tests (Files): Likewise.
58562         * modules/c-strstr-tests (Files): Likewise.
58563         * modules/canonicalize-lgpl-tests (Files): Likewise.
58564         * modules/canonicalize-tests (Files): Likewise.
58565         * modules/carray-list-tests (Files): Likewise.
58566         * modules/ceilf-tests (Files): Likewise.
58567         * modules/ceill-tests (Files): Likewise.
58568         * modules/chown-tests (Files): Likewise.
58569         * modules/cloexec-tests (Files): Likewise.
58570         * modules/copy-file-tests (Files): Likewise.
58571         * modules/count-one-bits-tests (Files): Likewise.
58572         * modules/dprintf-posix-tests (Files): Likewise.
58573         * modules/dup2-tests (Files): Likewise.
58574         * modules/dup3-tests (Files): Likewise.
58575         * modules/duplocale-tests (Files): Likewise.
58576         * modules/fbufmode-tests (Files): Likewise.
58577         * modules/fchdir-tests (Files): Likewise.
58578         * modules/fcntl-safer-tests (Files): Likewise.
58579         * modules/fcntl-tests (Files): Likewise.
58580         * modules/fdopendir-tests (Files): Likewise.
58581         * modules/fdutimensat-tests (Files): Likewise.
58582         * modules/fflush-tests (Files): Likewise.
58583         * modules/filevercmp-tests (Files): Likewise.
58584         * modules/flock-tests (Files): Likewise.
58585         * modules/floorf-tests (Files): Likewise.
58586         * modules/floorl-tests (Files): Likewise.
58587         * modules/fnmatch-tests (Files): Likewise.
58588         * modules/fopen-safer-tests (Files): Likewise.
58589         * modules/fopen-tests (Files): Likewise.
58590         * modules/fpending-tests (Files): Likewise.
58591         * modules/fprintf-posix-tests (Files): Likewise.
58592         * modules/fpurge-tests (Files): Likewise.
58593         * modules/freadable-tests (Files): Likewise.
58594         * modules/freadahead-tests (Files): Likewise.
58595         * modules/freading-tests (Files): Likewise.
58596         * modules/freadptr-tests (Files): Likewise.
58597         * modules/freadseek-tests (Files): Likewise.
58598         * modules/freopen-tests (Files): Likewise.
58599         * modules/frexp-nolibm-tests (Files): Likewise.
58600         * modules/frexp-tests (Files): Likewise.
58601         * modules/frexpl-nolibm-tests (Files): Likewise.
58602         * modules/frexpl-tests (Files): Likewise.
58603         * modules/fseek-tests (Files): Likewise.
58604         * modules/fseeko-tests (Files): Likewise.
58605         * modules/fstrcmp-tests (Files): Likewise.
58606         * modules/fsync-tests (Files): Likewise.
58607         * modules/ftell-tests (Files): Likewise.
58608         * modules/ftello-tests (Files): Likewise.
58609         * modules/func-tests (Files): Likewise.
58610         * modules/futimens-tests (Files): Likewise.
58611         * modules/fwritable-tests (Files): Likewise.
58612         * modules/fwriting-tests (Files): Likewise.
58613         * modules/getcwd-tests (Files): Likewise.
58614         * modules/getdate-tests (Files): Likewise.
58615         * modules/getdelim-tests (Files): Likewise.
58616         * modules/getdtablesize-tests (Files): Likewise.
58617         * modules/getgroups-tests (Files): Likewise.
58618         * modules/getline-tests (Files): Likewise.
58619         * modules/getndelim2-tests (Files): Likewise.
58620         * modules/glob-tests (Files): Likewise.
58621         * modules/hash-tests (Files): Likewise.
58622         * modules/i-ring-tests (Files): Likewise.
58623         * modules/iconv-tests (Files): Likewise.
58624         * modules/iconv_open-utf-tests (Files): Likewise.
58625         * modules/idpriv-drop-tests (Files): Likewise.
58626         * modules/idpriv-droptemp-tests (Files): Likewise.
58627         * modules/inet_ntop-tests (Files): Likewise.
58628         * modules/inet_pton-tests (Files): Likewise.
58629         * modules/isblank-tests (Files): Likewise.
58630         * modules/isfinite-tests (Files): Likewise.
58631         * modules/isinf-tests (Files): Likewise.
58632         * modules/isnan-tests (Files): Likewise.
58633         * modules/isnand-nolibm-tests (Files): Likewise.
58634         * modules/isnand-tests (Files): Likewise.
58635         * modules/isnanf-nolibm-tests (Files): Likewise.
58636         * modules/isnanf-tests (Files): Likewise.
58637         * modules/isnanl-nolibm-tests (Files): Likewise.
58638         * modules/isnanl-tests (Files): Likewise.
58639         * modules/lchown-tests (Files): Likewise.
58640         * modules/ldexpl-tests (Files): Likewise.
58641         * modules/link-tests (Files): Likewise.
58642         * modules/linkat-tests (Files): Likewise.
58643         * modules/linked-list-tests (Files): Likewise.
58644         * modules/linkedhash-list-tests (Files): Likewise.
58645         * modules/localename-tests (Files): Likewise.
58646         * modules/lseek-tests (Files): Likewise.
58647         * modules/lstat-tests (Files): Likewise.
58648         * modules/mbmemcasecmp-tests (Files): Likewise.
58649         * modules/mbmemcasecoll-tests (Files): Likewise.
58650         * modules/mbrtowc-tests (Files): Likewise.
58651         * modules/mbscasecmp-tests (Files): Likewise.
58652         * modules/mbscasestr-tests (Files): Likewise.
58653         * modules/mbschr-tests (Files): Likewise.
58654         * modules/mbscspn-tests (Files): Likewise.
58655         * modules/mbsinit-tests (Files): Likewise.
58656         * modules/mbsncasecmp-tests (Files): Likewise.
58657         * modules/mbsnrtowcs-tests (Files): Likewise.
58658         * modules/mbspbrk-tests (Files): Likewise.
58659         * modules/mbspcasecmp-tests (Files): Likewise.
58660         * modules/mbsrchr-tests (Files): Likewise.
58661         * modules/mbsrtowcs-tests (Files): Likewise.
58662         * modules/mbsspn-tests (Files): Likewise.
58663         * modules/mbsstr-tests (Files): Likewise.
58664         * modules/memchr-tests (Files): Likewise.
58665         * modules/memchr2-tests (Files): Likewise.
58666         * modules/memcmp-tests (Files): Likewise.
58667         * modules/memmem-tests (Files): Likewise.
58668         * modules/memrchr-tests (Files): Likewise.
58669         * modules/mkdir-tests (Files): Likewise.
58670         * modules/mkfifo-tests (Files): Likewise.
58671         * modules/mkfifoat-tests (Files): Likewise.
58672         * modules/mknod-tests (Files): Likewise.
58673         * modules/nanosleep-tests (Files): Likewise.
58674         * modules/nl_langinfo-tests (Files): Likewise.
58675         * modules/obstack-printf-tests (Files): Likewise.
58676         * modules/open-tests (Files): Likewise.
58677         * modules/openat-tests (Files): Likewise.
58678         * modules/pipe-filter-gi-tests (Files): Likewise.
58679         * modules/pipe-filter-ii-tests (Files): Likewise.
58680         * modules/pipe2-tests (Files): Likewise.
58681         * modules/popen-safer-tests (Files): Likewise.
58682         * modules/popen-tests (Files): Likewise.
58683         * modules/posixtm-tests (Files): Likewise.
58684         * modules/pread-tests (Files): Likewise.
58685         * modules/printf-frexp-tests (Files): Likewise.
58686         * modules/printf-frexpl-tests (Files): Likewise.
58687         * modules/printf-posix-tests (Files): Likewise.
58688         * modules/priv-set-tests (Files): Likewise.
58689         * modules/quotearg-tests (Files): Likewise.
58690         * modules/random_r-tests (Files): Likewise.
58691         * modules/rawmemchr-tests (Files): Likewise.
58692         * modules/rbtree-list-tests (Files): Likewise.
58693         * modules/rbtree-oset-tests (Files): Likewise.
58694         * modules/rbtreehash-list-tests (Files): Likewise.
58695         * modules/readlink-tests (Files): Likewise.
58696         * modules/remove-tests (Files): Likewise.
58697         * modules/rename-tests (Files): Likewise.
58698         * modules/renameat-tests (Files): Likewise.
58699         * modules/rmdir-tests (Files): Likewise.
58700         * modules/round-tests (Files): Likewise.
58701         * modules/roundf-tests (Files): Likewise.
58702         * modules/roundl-tests (Files): Likewise.
58703         * modules/safe-alloc-tests (Files): Likewise.
58704         * modules/setenv-tests (Files): Likewise.
58705         * modules/sigaction-tests (Files): Likewise.
58706         * modules/signbit-tests (Files): Likewise.
58707         * modules/sleep-tests (Files): Likewise.
58708         * modules/snprintf-posix-tests (Files): Likewise.
58709         * modules/snprintf-tests (Files): Likewise.
58710         * modules/sprintf-posix-tests (Files): Likewise.
58711         * modules/stat-tests (Files): Likewise.
58712         * modules/stat-time-tests (Files): Likewise.
58713         * modules/strcasestr-tests (Files): Likewise.
58714         * modules/strchrnul-tests (Files): Likewise.
58715         * modules/strerror-tests (Files): Likewise.
58716         * modules/striconv-tests (Files): Likewise.
58717         * modules/striconveh-tests (Files): Likewise.
58718         * modules/striconveha-tests (Files): Likewise.
58719         * modules/strsignal-tests (Files): Likewise.
58720         * modules/strstr-tests (Files): Likewise.
58721         * modules/strtod-tests (Files): Likewise.
58722         * modules/strverscmp-tests (Files): Likewise.
58723         * modules/symlink-tests (Files): Likewise.
58724         * modules/symlinkat-tests (Files): Likewise.
58725         * modules/trunc-tests (Files): Likewise.
58726         * modules/truncf-tests (Files): Likewise.
58727         * modules/truncl-tests (Files): Likewise.
58728         * modules/uname-tests (Files): Likewise.
58729         * modules/unicase/cased-tests (Files): Likewise.
58730         * modules/unicase/ignorable-tests (Files): Likewise.
58731         * modules/unicase/locale-language-tests (Files): Likewise.
58732         * modules/unicase/tolower-tests (Files): Likewise.
58733         * modules/unicase/totitle-tests (Files): Likewise.
58734         * modules/unicase/toupper-tests (Files): Likewise.
58735         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58736         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58737         * modules/unicase/u8-casefold-tests (Files): Likewise.
58738         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58739         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58740         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58741         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58742         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58743         * modules/unicase/u8-tolower-tests (Files): Likewise.
58744         * modules/unicase/u8-totitle-tests (Files): Likewise.
58745         * modules/unicase/u8-toupper-tests (Files): Likewise.
58746         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58747         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58748         * modules/unicase/u16-casefold-tests (Files): Likewise.
58749         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58750         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58751         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58752         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58753         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58754         * modules/unicase/u16-tolower-tests (Files): Likewise.
58755         * modules/unicase/u16-totitle-tests (Files): Likewise.
58756         * modules/unicase/u16-toupper-tests (Files): Likewise.
58757         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58758         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58759         * modules/unicase/u32-casefold-tests (Files): Likewise.
58760         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58761         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58762         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58763         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58764         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58765         * modules/unicase/u32-tolower-tests (Files): Likewise.
58766         * modules/unicase/u32-totitle-tests (Files): Likewise.
58767         * modules/unicase/u32-toupper-tests (Files): Likewise.
58768         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58769         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58770         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58771         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58772         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58773         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58774         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58775         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58776         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58777         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58778         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58779         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58780         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58781         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58782         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58783         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58784         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58785         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58786         * modules/unictype/block-list-tests (Files): Likewise.
58787         * modules/unictype/block-of-tests (Files): Likewise.
58788         * modules/unictype/block-test-tests (Files): Likewise.
58789         * modules/unictype/category-C-tests (Files): Likewise.
58790         * modules/unictype/category-Cc-tests (Files): Likewise.
58791         * modules/unictype/category-Cf-tests (Files): Likewise.
58792         * modules/unictype/category-Cn-tests (Files): Likewise.
58793         * modules/unictype/category-Co-tests (Files): Likewise.
58794         * modules/unictype/category-Cs-tests (Files): Likewise.
58795         * modules/unictype/category-L-tests (Files): Likewise.
58796         * modules/unictype/category-Ll-tests (Files): Likewise.
58797         * modules/unictype/category-Lm-tests (Files): Likewise.
58798         * modules/unictype/category-Lo-tests (Files): Likewise.
58799         * modules/unictype/category-Lt-tests (Files): Likewise.
58800         * modules/unictype/category-Lu-tests (Files): Likewise.
58801         * modules/unictype/category-M-tests (Files): Likewise.
58802         * modules/unictype/category-Mc-tests (Files): Likewise.
58803         * modules/unictype/category-Me-tests (Files): Likewise.
58804         * modules/unictype/category-Mn-tests (Files): Likewise.
58805         * modules/unictype/category-N-tests (Files): Likewise.
58806         * modules/unictype/category-Nd-tests (Files): Likewise.
58807         * modules/unictype/category-Nl-tests (Files): Likewise.
58808         * modules/unictype/category-No-tests (Files): Likewise.
58809         * modules/unictype/category-P-tests (Files): Likewise.
58810         * modules/unictype/category-Pc-tests (Files): Likewise.
58811         * modules/unictype/category-Pd-tests (Files): Likewise.
58812         * modules/unictype/category-Pe-tests (Files): Likewise.
58813         * modules/unictype/category-Pf-tests (Files): Likewise.
58814         * modules/unictype/category-Pi-tests (Files): Likewise.
58815         * modules/unictype/category-Po-tests (Files): Likewise.
58816         * modules/unictype/category-Ps-tests (Files): Likewise.
58817         * modules/unictype/category-S-tests (Files): Likewise.
58818         * modules/unictype/category-Sc-tests (Files): Likewise.
58819         * modules/unictype/category-Sk-tests (Files): Likewise.
58820         * modules/unictype/category-Sm-tests (Files): Likewise.
58821         * modules/unictype/category-So-tests (Files): Likewise.
58822         * modules/unictype/category-Z-tests (Files): Likewise.
58823         * modules/unictype/category-Zl-tests (Files): Likewise.
58824         * modules/unictype/category-Zp-tests (Files): Likewise.
58825         * modules/unictype/category-Zs-tests (Files): Likewise.
58826         * modules/unictype/category-and-not-tests (Files): Likewise.
58827         * modules/unictype/category-and-tests (Files): Likewise.
58828         * modules/unictype/category-byname-tests (Files): Likewise.
58829         * modules/unictype/category-name-tests (Files): Likewise.
58830         * modules/unictype/category-none-tests (Files): Likewise.
58831         * modules/unictype/category-of-tests (Files): Likewise.
58832         * modules/unictype/category-or-tests (Files): Likewise.
58833         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58834         * modules/unictype/combining-class-tests (Files): Likewise.
58835         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58836         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58837         * modules/unictype/ctype-blank-tests (Files): Likewise.
58838         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58839         * modules/unictype/ctype-digit-tests (Files): Likewise.
58840         * modules/unictype/ctype-graph-tests (Files): Likewise.
58841         * modules/unictype/ctype-lower-tests (Files): Likewise.
58842         * modules/unictype/ctype-print-tests (Files): Likewise.
58843         * modules/unictype/ctype-punct-tests (Files): Likewise.
58844         * modules/unictype/ctype-space-tests (Files): Likewise.
58845         * modules/unictype/ctype-upper-tests (Files): Likewise.
58846         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58847         * modules/unictype/decimal-digit-tests (Files): Likewise.
58848         * modules/unictype/digit-tests (Files): Likewise.
58849         * modules/unictype/mirror-tests (Files): Likewise.
58850         * modules/unictype/numeric-tests (Files): Likewise.
58851         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58852         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58853         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58854         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58855         Likewise.
58856         * modules/unictype/property-bidi-block-separator-tests (Files):
58857         Likewise.
58858         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58859         Likewise.
58860         * modules/unictype/property-bidi-common-separator-tests (Files):
58861         Likewise.
58862         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58863         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58864         Likewise.
58865         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58866         Likewise.
58867         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58868         Likewise.
58869         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58870         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58871         Likewise.
58872         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58873         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58874         Likewise.
58875         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58876         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58877         * modules/unictype/property-bidi-segment-separator-tests (Files):
58878         Likewise.
58879         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58880         * modules/unictype/property-byname-tests (Files): Likewise.
58881         * modules/unictype/property-combining-tests (Files): Likewise.
58882         * modules/unictype/property-composite-tests (Files): Likewise.
58883         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58884         * modules/unictype/property-dash-tests (Files): Likewise.
58885         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58886         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58887         Likewise.
58888         * modules/unictype/property-deprecated-tests (Files): Likewise.
58889         * modules/unictype/property-diacritic-tests (Files): Likewise.
58890         * modules/unictype/property-extender-tests (Files): Likewise.
58891         * modules/unictype/property-format-control-tests (Files): Likewise.
58892         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58893         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58894         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58895         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58896         * modules/unictype/property-hyphen-tests (Files): Likewise.
58897         * modules/unictype/property-id-continue-tests (Files): Likewise.
58898         * modules/unictype/property-id-start-tests (Files): Likewise.
58899         * modules/unictype/property-ideographic-tests (Files): Likewise.
58900         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58901         * modules/unictype/property-ids-trinary-operator-tests (Files):
58902         Likewise.
58903         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58904         * modules/unictype/property-iso-control-tests (Files): Likewise.
58905         * modules/unictype/property-join-control-tests (Files): Likewise.
58906         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58907         * modules/unictype/property-line-separator-tests (Files): Likewise.
58908         * modules/unictype/property-logical-order-exception-tests (Files):
58909         Likewise.
58910         * modules/unictype/property-lowercase-tests (Files): Likewise.
58911         * modules/unictype/property-math-tests (Files): Likewise.
58912         * modules/unictype/property-non-break-tests (Files): Likewise.
58913         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58914         * modules/unictype/property-numeric-tests (Files): Likewise.
58915         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58916         * modules/unictype/property-other-default-ignorable-code-point-tests
58917         (Files): Likewise.
58918         * modules/unictype/property-other-grapheme-extend-tests (Files):
58919         Likewise.
58920         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58921         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58922         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58923         * modules/unictype/property-other-math-tests (Files): Likewise.
58924         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58925         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58926         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58927         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58928         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58929         * modules/unictype/property-private-use-tests (Files): Likewise.
58930         * modules/unictype/property-punctuation-tests (Files): Likewise.
58931         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58932         * modules/unictype/property-radical-tests (Files): Likewise.
58933         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58934         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58935         * modules/unictype/property-space-tests (Files): Likewise.
58936         * modules/unictype/property-terminal-punctuation-tests (Files):
58937         Likewise.
58938         * modules/unictype/property-test-tests (Files): Likewise.
58939         * modules/unictype/property-titlecase-tests (Files): Likewise.
58940         * modules/unictype/property-unassigned-code-value-tests (Files):
58941         Likewise.
58942         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58943         * modules/unictype/property-uppercase-tests (Files): Likewise.
58944         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58945         * modules/unictype/property-white-space-tests (Files): Likewise.
58946         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58947         * modules/unictype/property-xid-start-tests (Files): Likewise.
58948         * modules/unictype/property-zero-width-tests (Files): Likewise.
58949         * modules/unictype/scripts-tests (Files): Likewise.
58950         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58951         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58952         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58953         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58954         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58955         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58956         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58957         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58958         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58959         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58960         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58961         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58962         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58963         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58964         * modules/uninorm/composition-tests (Files): Likewise.
58965         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58966         * modules/uninorm/decomposition-tests (Files): Likewise.
58967         * modules/uninorm/filter-tests (Files): Likewise.
58968         * modules/uninorm/nfc-tests (Files): Likewise.
58969         * modules/uninorm/nfd-tests (Files): Likewise.
58970         * modules/uninorm/nfkc-tests (Files): Likewise.
58971         * modules/uninorm/nfkd-tests (Files): Likewise.
58972         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58973         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58974         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58975         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58976         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58977         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58978         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58979         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58980         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58981         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58982         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58983         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58984         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58985         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58986         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58987         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58988         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58989         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58990         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58991         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58992         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58993         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58994         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58995         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58996         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58997         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58998         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58999         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
59000         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
59001         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
59002         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
59003         * modules/uniwidth/u8-width-tests (Files): Likewise.
59004         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
59005         * modules/uniwidth/u16-width-tests (Files): Likewise.
59006         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
59007         * modules/uniwidth/u32-width-tests (Files): Likewise.
59008         * modules/uniwidth/width-tests (Files): Likewise.
59009         * modules/unlink-tests (Files): Likewise.
59010         * modules/unsetenv-tests (Files): Likewise.
59011         * modules/usleep-tests (Files): Likewise.
59012         * modules/utimens-tests (Files): Likewise.
59013         * modules/utimensat-tests (Files): Likewise.
59014         * modules/vasnprintf-posix-tests (Files): Likewise.
59015         * modules/vasnprintf-tests (Files): Likewise.
59016         * modules/vasprintf-posix-tests (Files): Likewise.
59017         * modules/vasprintf-tests (Files): Likewise.
59018         * modules/vdprintf-posix-tests (Files): Likewise.
59019         * modules/vfprintf-posix-tests (Files): Likewise.
59020         * modules/vprintf-posix-tests (Files): Likewise.
59021         * modules/vsnprintf-posix-tests (Files): Likewise.
59022         * modules/vsnprintf-tests (Files): Likewise.
59023         * modules/vsprintf-posix-tests (Files): Likewise.
59024         * modules/wcrtomb-tests (Files): Likewise.
59025         * modules/wcsnrtombs-tests (Files): Likewise.
59026         * modules/wcsrtombs-tests (Files): Likewise.
59027         * modules/wctype-tests (Files): Likewise.
59028         * modules/wcwidth-tests (Files): Likewise.
59029         * modules/xmemdup0-tests (Files): Likewise.
59030         * modules/xprintf-posix-tests (Files): Likewise.
59031         * modules/xvasprintf-tests (Files): Likewise.
59033 2009-12-24  Eric Blake  <ebb9@byu.net>
59035         test-nanosleep: fix typo
59036         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
59037         patch.
59038         Reported by Bruno Haible.
59040 2009-12-24  Bruno Haible  <bruno@clisp.org>
59042         Reduce namespace pollution on glibc systems.
59043         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
59044         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
59045         systems.
59046         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
59047         <getopt.h> on glibc systems.
59048         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
59049         systems.
59050         * lib/fcntl.c: Include <unistd.h> here instead.
59052 2009-12-24  Bruno Haible  <bruno@clisp.org>
59054         * lib/stdlib.in.h (includes): Fix typo in today's commit.
59056 2009-12-24  Eric Blake  <ebb9@byu.net>
59058         tests: add signature checks
59059         * tests/signature.h (SIGNATURE_CHECK): New file.
59060         * modules/atexit-tests (Files): Use it.
59061         * modules/btowc-tests (Files): Likewise.
59062         * modules/canonicalize-lgpl-tests (Files): Likewise.
59063         * modules/ceilf-tests (Files): Likewise.
59064         * modules/ceill-tests (Files): Likewise.
59065         * modules/chown-tests (Files): Likewise.
59066         * modules/dprintf-posix-tests (Files): Likewise.
59067         * modules/dup2-tests (Files): Likewise.
59068         * modules/dup3-tests (Files): Likewise.
59069         * modules/duplocale-tests (Files): Likewise.
59070         * modules/fchdir-tests (Files): Likewise.
59071         * modules/fcntl-tests (Files): Likewise.
59072         * modules/fdopendir-tests (Files): Likewise.
59073         * modules/fflush-tests (Files): Likewise.
59074         * modules/flock-tests (Files): Likewise.
59075         * modules/floorf-tests (Files): Likewise.
59076         * modules/floorl-tests (Files): Likewise.
59077         * modules/fnmatch-tests (Files): Likewise.
59078         * modules/fopen-tests (Files): Likewise.
59079         * modules/fprintf-posix-tests (Files): Likewise.
59080         * modules/freopen-tests (Files): Likewise.
59081         * modules/frexp-nolibm-tests (Files): Likewise.
59082         * modules/frexp-tests (Files): Likewise.
59083         * modules/frexpl-nolibm-tests (Files): Likewise.
59084         * modules/frexpl-tests (Files): Likewise.
59085         * modules/fseek-tests (Files): Likewise.
59086         * modules/fseeko-tests (Files): Likewise.
59087         * modules/fsync-tests (Files): Likewise.
59088         * modules/ftell-tests (Files): Likewise.
59089         * modules/ftello-tests (Files): Likewise.
59090         * modules/futimens-tests (Files): Likewise.
59091         * modules/getaddrinfo-tests (Files): Likewise.
59092         * modules/getcwd-tests (Files): Likewise.
59093         * modules/getdelim-tests (Files): Likewise.
59094         * modules/getdtablesize-tests (Files): Likewise.
59095         * modules/getgroups-tests (Files): Likewise.
59096         * modules/gethostname-tests (Files): Likewise.
59097         * modules/getline-tests (Files): Likewise.
59098         * modules/getopt-posix-tests (Files): Likewise.
59099         * modules/gettimeofday-tests (Files): Likewise.
59100         * modules/glob-tests (Files): Likewise.
59101         * modules/iconv-tests (Files): Likewise.
59102         * modules/inet_ntop-tests (Files): Likewise.
59103         * modules/inet_pton-tests (Files): Likewise.
59104         * modules/isblank-tests (Files): Likewise.
59105         * modules/lchown-tests (Files): Likewise.
59106         * modules/ldexpl-tests (Files): Likewise.
59107         * modules/link-tests (Files): Likewise.
59108         * modules/linkat-tests (Files): Likewise.
59109         * modules/lseek-tests (Files): Likewise.
59110         * modules/lstat-tests (Files): Likewise.
59111         * modules/mbrtowc-tests (Files): Likewise.
59112         * modules/mbsinit-tests (Files): Likewise.
59113         * modules/mbsnrtowcs-tests (Files): Likewise.
59114         * modules/mbsrtowcs-tests (Files): Likewise.
59115         * modules/memchr-tests (Files): Likewise.
59116         * modules/memcmp-tests (Files): Likewise.
59117         * modules/memmem-tests (Files): Likewise.
59118         * modules/memrchr-tests (Files): Likewise.
59119         * modules/mkdir-tests (Files): Likewise.
59120         * modules/mkfifo-tests (Files): Likewise.
59121         * modules/mkfifoat-tests (Files): Likewise.
59122         * modules/mknod-tests (Files): Likewise.
59123         * modules/nanosleep-tests (Files): Likewise.
59124         * modules/nl_langinfo-tests (Files): Likewise.
59125         * modules/obstack-printf-tests (Files): Likewise.
59126         * modules/open-tests (Files): Likewise.
59127         * modules/openat-tests (Files): Likewise.
59128         * modules/perror-tests (Files): Likewise.
59129         * modules/pipe2-tests (Files): Likewise.
59130         * modules/poll-tests (Files): Likewise.
59131         * modules/popen-tests (Files): Likewise.
59132         * modules/posix_spawn-tests (Files): Likewise.
59133         * modules/posix_spawnp-tests (Files): Likewise.
59134         * modules/pread-tests (Files): Likewise.
59135         * modules/printf-posix-tests (Files): Likewise.
59136         * modules/pty-tests (Files): Likewise.
59137         * modules/random_r-tests (Files): Likewise.
59138         * modules/rawmemchr-tests (Files): Likewise.
59139         * modules/readlink-tests (Files): Likewise.
59140         * modules/remove-tests (Files): Likewise.
59141         * modules/rename-tests (Files): Likewise.
59142         * modules/renameat-tests (Files): Likewise.
59143         * modules/rmdir-tests (Files): Likewise.
59144         * modules/round-tests (Files): Likewise.
59145         * modules/roundf-tests (Files): Likewise.
59146         * modules/roundl-tests (Files): Likewise.
59147         * modules/select-tests (Files): Likewise.
59148         * modules/setenv-tests (Files): Likewise.
59149         * modules/sigaction-tests (Files): Likewise.
59150         * modules/sleep-tests (Files): Likewise.
59151         * modules/snprintf-posix-tests (Files): Likewise.
59152         * modules/snprintf-tests (Files): Likewise.
59153         * modules/sprintf-posix-tests (Files): Likewise.
59154         * modules/stat-tests (Files): Likewise.
59155         * modules/strcasestr-tests (Files): Likewise.
59156         * modules/strchrnul-tests (Files): Likewise.
59157         * modules/strerror-tests (Files): Likewise.
59158         * modules/strsignal-tests (Files): Likewise.
59159         * modules/strstr-tests (Files): Likewise.
59160         * modules/strtod-tests (Files): Likewise.
59161         * modules/strverscmp-tests (Files): Likewise.
59162         * modules/symlink-tests (Files): Likewise.
59163         * modules/symlinkat-tests (Files): Likewise.
59164         * modules/times-tests (Files): Likewise.
59165         * modules/trunc-tests (Files): Likewise.
59166         * modules/truncf-tests (Files): Likewise.
59167         * modules/truncl-tests (Files): Likewise.
59168         * modules/tsearch-tests (Files): Likewise.
59169         * modules/uname-tests (Files): Likewise.
59170         * modules/unlink-tests (Files): Likewise.
59171         * modules/unsetenv-tests (Files): Likewise.
59172         * modules/usleep-tests (Files): Likewise.
59173         * modules/utimensat-tests (Files): Likewise.
59174         * modules/vasprintf-tests (Files): Likewise.
59175         * modules/vdprintf-posix-tests (Files): Likewise.
59176         * modules/vfprintf-posix-tests (Files): Likewise.
59177         * modules/vprintf-posix-tests (Files): Likewise.
59178         * modules/vsnprintf-posix-tests (Files): Likewise.
59179         * modules/vsnprintf-tests (Files): Likewise.
59180         * modules/vsprintf-posix-tests (Files): Likewise.
59181         * modules/wcrtomb-tests (Files): Likewise.
59182         * modules/wcsnrtombs-tests (Files): Likewise.
59183         * modules/wcsrtombs-tests (Files): Likewise.
59184         * modules/wcwidth-tests (Files): Likewise.
59185         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
59186         * tests/test-isinf.c (isinf): Likewise.
59187         * tests/test-isnan.c (isnan): Likewise.
59188         * tests/test-signbit.c (signbit): Likewise.
59189         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
59190         declaration, either as macro or with correct signature.
59191         (select): Ensure function under test is declared with correct
59192         signature in correct header.
59193         * tests/test-atexit.c (atexit): Likewise.
59194         * tests/test-btowc.c (btowc): Likewise.
59195         * tests/test-canonicalize-lgpl.c (realpath)
59196         (canonicalize_file_name): Likewise.
59197         * tests/test-ceilf1.c (ceilf): Likewise.
59198         * tests/test-ceill.c (ceill): Likewise.
59199         * tests/test-chown.c (chown): Likewise.
59200         * tests/test-dprintf-posix.c (dprintf): Likewise.
59201         * tests/test-dup2.c (dup2): Likewise.
59202         * tests/test-dup3.c (dup3): Likewise.
59203         * tests/test-duplocale.c (duplocale): Likewise.
59204         * tests/test-fchdir.c (fchdir): Likewise.
59205         * tests/test-fchownat.c (fchownat): Likewise.
59206         * tests/test-fcntl.c (fcntl): Likewise.
59207         * tests/test-fdopendir.c (fdopendir): Likewise.
59208         * tests/test-fflush.c (fflush): Likewise.
59209         * tests/test-flock.c (flock): Likewise.
59210         * tests/test-floorf1.c (floorf): Likewise.
59211         * tests/test-floorl.c (floorl): Likewise.
59212         * tests/test-fnmatch.c (fnmatch): Likewise.
59213         * tests/test-fopen.c (fopen): Likewise.
59214         * tests/test-fprintf-posix.c (fprintf): Likewise.
59215         * tests/test-freopen.c (freopen): Likewise.
59216         * tests/test-frexp.c (frexp): Likewise.
59217         * tests/test-frexpl.c (frexpl): Likewise.
59218         * tests/test-fseek.c (fseek): Likewise.
59219         * tests/test-fseeko.c (fseeko): Likewise.
59220         * tests/test-fstatat.c (fstatat): Likewise.
59221         * tests/test-fsync.c (fsync): Likewise.
59222         * tests/test-ftell.c (ftell): Likewise.
59223         * tests/test-ftello.c (ftello): Likewise.
59224         * tests/test-futimens.c (futimens): Likewise.
59225         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
59226         (gai_strerror): Likewise.
59227         * tests/test-getcwd.c (getcwd): Likewise.
59228         * tests/test-getdelim.c (getdelim): Likewise.
59229         * tests/test-getdtablesize.c (getdtablesize): Likewise.
59230         * tests/test-getgroups.c (getgroups): Likewise.
59231         * tests/test-gethostname.c (gethostname): Likewise.
59232         * tests/test-getline.c (getline): Likewise.
59233         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
59234         Likewise.
59235         * tests/test-gettimeofday.c (gettimeofday): Likewise.
59236         * tests/test-glob.c (glob, globfree): Likewise.
59237         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
59238         * tests/test-inet_ntop.c (inet_ntop): Likewise.
59239         * tests/test-inet_pton.c (inet_pton): Likewise.
59240         * tests/test-isblank.c (isblank): Likewise.
59241         * tests/test-lchown.c (lchown): Likewise.
59242         * tests/test-ldexpl.c (ldexpl): Likewise.
59243         * tests/test-link.c (link): Likewise.
59244         * tests/test-linkat.c (linkat): Likewise.
59245         * tests/test-lseek.c (lseek): Likewise.
59246         * tests/test-lstat.c (lstat): Likewise.
59247         * tests/test-mbrtowc.c (mbrtowc): Likewise.
59248         * tests/test-mbsinit.c (mbsinit): Likewise.
59249         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
59250         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
59251         * tests/test-memchr.c (memchr): Likewise.
59252         * tests/test-memcmp.c (memcmp): Likewise.
59253         * tests/test-memmem.c (memmem): Likewise.
59254         * tests/test-memrchr.c (memrchr): Likewise.
59255         * tests/test-mkdir.c (mkdir): Likewise.
59256         * tests/test-mkdirat.c (mkdirat): Likewise.
59257         * tests/test-mkfifo.c (mkfifo): Likewise.
59258         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
59259         * tests/test-mknod.c (mknod): Likewise.
59260         * tests/test-nanosleep.c (nanosleep): Likewise.
59261         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
59262         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
59263         Likewise.
59264         * tests/test-open.c (open): Likewise.
59265         * tests/test-openat.c (openat): Likewise.
59266         * tests/test-perror.c (perror): Likewise.
59267         * tests/test-pipe2.c (pipe2): Likewise.
59268         * tests/test-poll.c (poll): Likewise.
59269         * tests/test-popen.c (popen, pclose): Likewise.
59270         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
59271         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
59272         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
59273         (posix_spawn_file_actions_destroy)
59274         (posix_spawn_file_actions_addclose)
59275         (posix_spawn_file_actions_addopen)
59276         (posix_spawn_file_actions_adddup2): Likewise.
59277         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
59278         * tests/test-pread.c (pread): Likewise.
59279         * tests/test-printf-posix.c (printf): Likewise.
59280         * tests/test-pty.c (openpty, forkpty): Likewise.
59281         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
59282         (random_r): Likewise.
59283         * tests/test-rawmemchr.c (rawmemchr): Likewise.
59284         * tests/test-readlink.c (readlink): Likewise.
59285         * tests/test-remove.c (remove): Likewise.
59286         * tests/test-rename.c (rename): Likewise.
59287         * tests/test-renameat.c (renameat): Likewise.
59288         * tests/test-rmdir.c (rmdir): Likewise.
59289         * tests/test-round1.c (round): Likewise.
59290         * tests/test-roundf1.c (roundf): Likewise.
59291         * tests/test-roundl.c (roundl): Likewise.
59292         * tests/test-setenv.c (setenv): Likewise.
59293         * tests/test-sigaction.c (sigaction): Likewise.
59294         * tests/test-sleep.c (sleep): Likewise.
59295         * tests/test-snprintf.c (snprintf): Likewise.
59296         * tests/test-sprintf-posix.c (sprintf): Likewise.
59297         * tests/test-stat.c (stat): Likewise.
59298         * tests/test-stpncpy.c (stpncpy): Likewise.
59299         * tests/test-strcasestr.c (strcasestr): Likewise.
59300         * tests/test-strchrnul.c (strchrnul): Likewise.
59301         * tests/test-strerror.c (strerror): Likewise.
59302         * tests/test-strsignal.c (strsignal): Likewise.
59303         * tests/test-strstr.c (strstr): Likewise.
59304         * tests/test-strtod.c (strtod): Likewise.
59305         * tests/test-strverscmp.c (strverscmp): Likewise.
59306         * tests/test-symlink.c (symlink): Likewise.
59307         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
59308         * tests/test-times.c (times): Likewise.
59309         * tests/test-trunc1.c (trunc): Likewise.
59310         * tests/test-truncf1.c (truncf): Likewise.
59311         * tests/test-truncl.c (truncl): Likewise.
59312         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
59313         Likewise.
59314         * tests/test-uname.c (uname): Likewise.
59315         * tests/test-unlink.c (unlink): Likewise.
59316         * tests/test-unlinkat.c (unlinkat): Likewise.
59317         * tests/test-unsetenv.c (unsetenv): Likewise.
59318         * tests/test-usleep.c (usleep): Likewise.
59319         * tests/test-utimensat.c (utimensat): Likewise.
59320         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
59321         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
59322         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
59323         * tests/test-vprintf-posix.c (vprintf): Likewise.
59324         * tests/test-vsnprintf.c (vsnprintf): Likewise.
59325         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
59326         * tests/test-wcrtomb.c (wcrtomb): Likewise.
59327         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
59328         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
59329         * tests/test-wcwidth.c (wcwidth): Likewise.
59331         build: pull in conditional headers during GNULIB_POSIXCHECK
59332         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
59333         definitions from any conditionally-included headers.
59334         * lib/stdlib.in.h (includes): Likewise.
59335         * lib/unistd.in.h (includes): Likewise.
59337 2009-12-24  Bruno Haible  <bruno@clisp.org>
59339         * tests/test-argv-iter.c: Include header file being tested immediately
59340         after config.h.
59341         * tests/test-base64.c: Likewise.
59342         * tests/test-flock.c: Likewise.
59343         * tests/test-fsync.c: Likewise.
59344         * tests/test-getdate.c: Likewise.
59345         * tests/test-getndelim2.c: Likewise.
59346         * tests/test-isfinite.c: Likewise.
59347         * tests/test-isinf.c: Likewise.
59348         * tests/test-strerror.c: Likewise.
59349         * tests/test-strsignal.c: Likewise.
59351 2009-12-23  Eric Blake  <ebb9@byu.net>
59353         unistd: work around cygwin bug
59354         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
59355         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
59356         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
59358 2009-12-23  Bruno Haible  <bruno@clisp.org>
59360         localename: More tests.
59361         * tests/test-localename.c (SIZEOF): New macro.
59362         (categories): New variable.
59363         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
59364         test_locale_name_default): Add test w.r.t. thread locale.
59365         (test_locale_name_thread): New function.
59366         (main): Invoke it.
59368         localename: Make aware of thread locale.
59369         * lib/localename.h (gl_locale_name_thread): New declaration.
59370         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
59371         behaviour with respect to thread locale.
59372         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
59373         <langinfo.h>, glthread/lock.h.
59374         (SIZE_BITS): New macro.
59375         (string_hash): New function.
59376         (struct hash_node): New type.
59377         (HASH_TABLE_SIZE): New macro.
59378         (struniq_hash_table, struniq_lock): New variables.
59379         (struniq): New function.
59380         (gl_locale_name_thread): New function.
59381         (gl_locale_name): Invoke it.
59382         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
59383         * modules/localename (Depends-on): Add lock.
59384         Reported by Mike Gran <spk121@yahoo.com>.
59386 2009-12-23  Eric Blake  <ebb9@byu.net>
59388         va-args: new module
59389         * modules/va-args: New file.
59390         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
59391         * MODULES.html.sh (Core language properties): Mention it.
59393         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
59394         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
59395         named alias for __attribute__((__unused__)).
59396         * lib/chown.c: Update client.
59397         * lib/fchmodat.c: Likewise.
59398         * lib/fts.c: Likewise.
59399         * lib/getdate.y: Likewise.
59400         * lib/getgroups.c: Likewise.
59401         * lib/getopt.c: Likewise.
59402         * lib/getugroups.c: Likewise.
59403         * lib/mkdir.c: Likewise.
59404         * lib/mkfifo.c: Likewise.
59405         * lib/mkfifoat.c: Likewise.
59406         * lib/mknod.c: Likewise.
59407         * lib/mknodat.c: Likewise.
59408         * lib/readlink.c: Likewise.
59409         * lib/se-context.in.h: Likewise.
59410         * lib/se-selinux.in.h: Likewise.
59411         * lib/sockets.c: Likewise.
59412         * lib/symlink.c: Likewise.
59413         * lib/symlinkat.c: Likewise.
59414         * lib/unicodeio.c: Likewise.
59415         * lib/unistr.h: Likewise.
59416         * tests/test-areadlink.c: Likewise.
59417         * tests/test-areadlinkat.c: Likewise.
59418         * tests/test-filenamecat.c: Likewise.
59419         * tests/test-fseeko.c: Likewise.
59420         * tests/test-ftello.c: Likewise.
59421         * tests/test-getdate.c: Likewise.
59422         * tests/test-getgroups.c: Likewise.
59423         * tests/test-gethostname.c: Likewise.
59424         * tests/test-quotearg.c: Likewise.
59425         * tests/test-version-etc.c: Likewise.
59426         * tests/test-xalloc-die.c: Likewise.
59427         * tests/test-xfprintf-posix.c: Likewise.
59428         * tests/test-xprintf-posix.c: Likewise.
59429         * tests/test-xvasprintf.c: Likewise.
59431         tests: avoid compiler warnings
59432         * tests/test-fcntl.c (main): Delete unused parameters.
59433         * tests/test-freopen-safer.c (main): Likewise.
59434         * tests/test-xalloc-die.c (main): Mark unused parameters.
59435         * tests/test-fseeko.c (main): Likewise.
59436         * tests/test-ftello.c (main): Likewise.
59437         * tests/test-nanosleep.c (main): Avoid declaration warning.
59438         * tests/test-sleep.c (main): Likewise.
59439         * tests/test-unsetenv.c (main): Silence warning about string
59440         literal.
59441         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59443 2009-12-23  Bruno Haible  <bruno@clisp.org>
59445         * tests/test-localename.c (test_locale_name): New function, extracted
59446         from main. Also test mixed situations.
59447         (test_locale_name_posix, test_locale_name_environ,
59448         test_locale_name_default): New functions.
59449         (main): Invoke them all.
59450         * modules/localename-tests (configure.ac): Test for newlocale.
59452 2009-12-23  Bruno Haible  <bruno@clisp.org>
59454         unistd: Ensure getcwd gets declared before being overridden.
59455         * lib/unistd.in.h: Conditionally include <io.h>.
59457 2009-12-22  Bruno Haible  <bruno@clisp.org>
59459         wchar: Diagnose broken combination of glibc and gcc versions and flags.
59460         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
59461         (gl_WCHAR_H): Invoke it.
59462         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
59463         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
59464         Reported by Karl Berry <karl@freefriends.org>.
59466 2009-12-22  Eric Blake  <ebb9@byu.net>
59468         math, unistd: avoid redundant includes
59469         * lib/math.in.h (isnan): No need to re-include <math.h>.
59470         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59472         getsubopt: work around cygwin bug
59473         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59474         avoid conflicting with system getsubopt.
59475         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59476         bug.
59478         getopt: synchronize from glibc
59479         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59480         parameter order.  Adjust all callers.
59481         (_getopt_internal_r, main): Adjust quoting in error messages.
59482         Drop considerations for outdated POSIX 1003.2 error message.
59483         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59484         callers.
59485         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59487         test-getopt: test stderr behavior
59488         * modules/getopt-posix-tests (Depends-on): Add dup2.
59489         * tests/test-getopt.c (ASSERT): Avoid stderr.
59490         (main): Move stderr to a temporary file.
59491         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59492         Instead, add parameter to inform caller if output occurred.
59493         (test_getopt): Adjust all existing tests to expect silence, and
59494         add new tests of leading ":".
59495         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59496         glibc shortcomings with leading "-:" or "+:" in optstring.
59497         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59498         Likewise.
59499         * doc/posix-functions/getopt.texi (getopt): Likewise.
59501         test-getopt: enhance test
59502         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59503         supports optind=0.
59504         * tests/test-getopt.c (OPTIND_MIN): Move...
59505         * tests/test-getopt.h (OPTIND_MIN): ...here.
59506         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59507         Require that optind=0 works, since modern BSD supports it in
59508         addition to optreset, and since coreutils expects it.
59509         (test_getopt_long_only): New test.
59510         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59511         glibc shortcomings with 'W;', and enforcement of optind=0.
59512         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59513         Likewise.
59515 2009-12-21  Bruno Haible  <bruno@clisp.org>
59517         localename: Improvements for MacOS X and Cygwin.
59518         * lib/localename.h (gl_locale_name_environ): New declaration.
59519         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59520         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59521         (gl_locale_name_posix): Invoke it.
59522         (gl_locale_name_default): Add comments. Use Windows native API also on
59523         Cygwin.
59525 2009-12-21  Bruno Haible  <bruno@clisp.org>
59527         Update list of Win32 locale ids.
59528         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59529         (LANG_SAMI): Renamed from LANG_SAAMI.
59530         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59531         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59532         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59533         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59534         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59535         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59536         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59537         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59538         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59539         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59540         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59541         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59542         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59543         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59544         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59545         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59546         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59547         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59548         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59549         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59550         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59551         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59552         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59553         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59554         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59555         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59556         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59557         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59558         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59559         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59560         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59561         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59562         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59563         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59564         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59565         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59566         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59567         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59568         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59569         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59570         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59571         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59572         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59573         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59574         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59575         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59576         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59577         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59578         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59579         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59580         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59581         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59582         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59583         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59584         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59585         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59586         Add more languages and countries for Sami, Sorbian. Add more countries
59587         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59588         for Pashto. Change country for Syriac, Tswana.
59590 2009-12-21  Eric Blake  <ebb9@byu.net>
59592         test-utimens: avoid spurious failure
59593         * tests/test-chown.h (nap): Factor...
59594         * tests/nap.h: ...into new file.
59595         * tests/test-lchown.h (nap): Avoid duplication.
59596         * tests/test-utimens-common.h (nap): Use shared implementation,
59597         necessary on file systems with 1-second resolution.
59598         * modules/chown-tests (Files): Include new file.
59599         * modules/fdutimensat-tests (Files): Likewise.
59600         * modules/futimens-tests (Files): Likewise.
59601         * modules/lchown-tests (Files): Likewise.
59602         * modules/openat-tests (Files): Likewise.
59603         * modules/utimens-tests (Files): Likewise.
59604         * modules/utimensat-tests (Files): Likewise.
59606 2009-12-19  Eric Blake  <ebb9@byu.net>
59608         futimens, utimensat: work around Linux bug
59609         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59610         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59611         * lib/utimensat.c (rpl_utimensat): Work around it.
59612         * lib/futimens.c (rpl_futimens): Adjust comment.
59614         utimens: work around Linux ctime bug
59615         * lib/utimens.c (detect_ctime_bug): New helper function.
59616         (update_timespec): Differentiate between workaround needed for
59617         this bug vs. what is needed for systems that lack utimensat.
59618         (fdutimens, lutimens): Work around bug.
59620         utimens: check for ctime update
59621         * tests/test-utimens-common.h (check_ctime): Define.
59622         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59623         * tests/test-futimens.h (test_futimens): Likewise.
59624         * tests/test-lutimens.h (test_lutimens): Likewise.
59625         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59626         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59628 2009-12-19  Bruno Haible  <bruno@clisp.org>
59630         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59631         * tests/test-dprintf-posix2.sh: New file.
59632         * tests/test-dprintf-posix2.c: New file.
59633         * modules/dprintf-posix-tests (Files): Add them.
59634         (configure.ac): Check for getrlimit and setrlimit.
59635         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59637 2009-12-19  Bruno Haible  <bruno@clisp.org>
59639         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59640         * tests/test-fprintf-posix3.sh: New file.
59641         * tests/test-fprintf-posix3.c: New file.
59642         * modules/fprintf-posix-tests (Files): Add them.
59643         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59645 2009-12-19  Eric Blake  <ebb9@byu.net>
59647         dirfd: fix prototype
59648         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59649         * lib/dirfd.c (dirfd): Likewise.
59651         canonicalize: reduce memory usage
59652         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59653         allocation to size.
59654         Reported by Solar Designer <solar@openwall.com>.
59656 2009-12-19  Bruno Haible  <bruno@clisp.org>
59658         New module attribute 'Applicability'.
59659         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59660         * gnulib-tool: New option --extract-applicability.
59661         (func_usage): Document it.
59662         (sed_extract_prog): Recognize it.
59663         (func_get_applicability): New function.
59664         (func_import): Generalize handling of 'link-warning' module.
59665         * modules/link-warning (Applicability): New section.
59666         * modules/arg-nonnull (Applicability): New section.
59667         Repoted by Simon Josefsson <simon@josefsson.org>.
59669 2009-12-19  Bruno Haible  <bruno@clisp.org>
59671         fflush: tweak
59672         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59673         * lib/fseeko.c (rpl_fseeko): Likewise.
59675 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59677         * lib/gl_list.h: Fix typo in comment.
59679 2009-12-16  Eric Blake  <ebb9@byu.net>
59681         fcntl: use to simplify other modules
59682         * modules/cloexec (Depends-on): Add fcntl.
59683         * modules/fchdir (Depends-on): Likewise.
59684         * modules/fd-safer-flag (Depends-on): Likewise.
59685         * modules/unistd-safer (Depends-on): Likewise.
59686         * modules/dup3 (configure.ac): Set module indicator.
59687         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59688         missing.
59689         * lib/fchdir.c (_gl_register_dup): Fix comment.
59690         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59691         * lib/dup-safer.c (dup_safer): Likewise.
59692         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59693         * lib/dup3.c (dup3): Likewise.
59694         * tests/test-fchdir.c (main): Enhance test.
59695         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59697         fcntl: port portions of fcntl to mingw
59698         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59699         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59700         replacement for mingw.
59701         * modules/fcntl (Description): Update.
59702         (Depends-on): Add dup2.
59703         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59704         * modules/fcntl-h (Makefile.am): Substitute it.
59705         * lib/fcntl.in.h (fcntl): Update declaration.
59706         (F_DUPFD, F_GETFD): New macros, when needed.
59707         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59708         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59709         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59710         we now guarantee.
59712         fcntl: work around cygwin bug in F_DUPFD
59713         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59714         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59715         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59716         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59717         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59719         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59720         * modules/fcntl (Files): List new files.
59721         (configure.ac): Run a test.
59722         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59723         * lib/fcntl.c (rpl_fcntl): Likewise.
59724         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59725         (gl_FCNTL_H): Always replace fcntl.h.
59726         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59727         * lib/fcntl.in.h (fcntl): Declare replacement.
59728         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59729         needed, plus a witness.
59730         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59731         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59732         * tests/test-fcntl.c: New file.
59733         * modules/fcntl-tests: Likewise.
59735         binary-io: avoid potential compilation warning
59736         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59737         directives.
59739         fflush: avoid compilation error on NetBSD
59740         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59741         between off_t and fpos_t, since the latter is sometimes a struct.
59742         * lib/fseeko.c (rpl_fseeko): Likewise.
59743         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59745 2009-12-15  Eric Blake  <ebb9@byu.net>
59747         fcntl-h, stdio, sys_ioctl: fix declarations
59748         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59749         function must not take arguments.
59750         * lib/sys_ioctl.in.h (ioctl): Likewise.
59751         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59752         (open): Add a link warning.
59754 2009-12-15  Jim Meyering  <meyering@redhat.com>
59756         areadlink, areadlink-with-size: relax license to LGPLv2+
59757         * modules/areadlink (License): Relax to LGPLv2+.
59758         * modules/areadlink-with-size (License): Likewise.
59760 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59761             Bruno Haible  <bruno@clisp.org>
59763         *printf: Fix memory leak.
59764         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59765         * lib/vfprintf.c (vfprintf): Likewise.
59766         * lib/dprintf.c (dprintf): Likewise.
59767         * lib/vdprintf.c (vdprintf): Likewise.
59769 2009-12-14  Eric Blake  <ebb9@byu.net>
59771         accept4: adjust module dependencies
59772         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59774         utimens: one more try at avoiding compiler warning
59775         * lib/utimens.c (lutimens): Lower scope of result.
59777 2009-12-13  Bruno Haible  <bruno@clisp.org>
59779         Move the malloc checking from module 'list' to new module 'xlist'.
59780         * modules/xlist: New file.
59781         * lib/gl_xlist.h: New file.
59782         * lib/gl_xlist.c: New file.
59783         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59784         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59785         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59786         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59787         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59788         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59789         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59790         gl_sortedlist_nx_add): New declarations.
59791         (struct gl_list_implementation): Rename and change methods accordingly.
59792         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59793         (gl_list_nx_create): Renamed from gl_list_create.
59794         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59795         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59796         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59797         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59798         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59799         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59800         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59801         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59802         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59803         gl_list_create_empty.
59804         (gl_list_nx_create): Renamed from gl_list_create.
59805         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59806         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59807         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59808         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59809         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59810         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59811         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59812         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59813         * lib/gl_array_list.c: Don't include xalloc.h.
59814         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59815         NULL upon out-of-memory.
59816         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59817         out-of-memory.
59818         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59819         Change return type to 'int'.
59820         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59821         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59822         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59823         upon out-of-memory.
59824         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59825         upon out-of-memory.
59826         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59827         upon out-of-memory.
59828         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59829         upon out-of-memory.
59830         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59831         out-of-memory.
59832         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59833         Update.
59834         (gl_array_list_implementation): Update.
59835         * lib/gl_carray_list.c: Don't include xalloc.h.
59836         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59837         Return NULL upon out-of-memory.
59838         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59839         out-of-memory.
59840         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59841         Change return type to 'int'.
59842         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59843         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59844         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59845         upon out-of-memory.
59846         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59847         upon out-of-memory.
59848         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59849         out-of-memory.
59850         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59851         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59852         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59853         Update.
59854         (gl_carray_list_implementation): Update.
59855         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59856         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59857         gl_linked_create_empty. Return NULL upon out-of-memory.
59858         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59859         out-of-memory.
59860         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59861         Change return type to 'int'. Return -1 upon out-of-memory.
59862         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59863         out-of-memory.
59864         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59865         upon out-of-memory.
59866         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59867         upon out-of-memory.
59868         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59869         NULL upon out-of-memory.
59870         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59871         upon out-of-memory.
59872         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59873         out-of-memory.
59874         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59875         Update.
59876         * lib/gl_linked_list.c: Don't include xalloc.h.
59877         (gl_linked_list_implementation): Update.
59878         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59879         (add_to_bucket): Change return type to 'int'.
59880         (gl_linkedhash_list_implementation): Update.
59881         * lib/gl_anytree_list1.h (free_subtree): New function.
59882         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59883         gl_tree_create_empty. Return NULL upon out-of-memory.
59884         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59885         Change return type to 'int'. Return -1 upon out-of-memory.
59886         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59887         out-of-memory.
59888         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59889         (gl_tree_remove_node): New function, moved here from
59890         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59891         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59892         Update.
59893         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59894         malloc, not xmalloc. Return NULL upon out-of-memory.
59895         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59896         out-of-memory.
59897         (gl_tree_remove_node_from_tree): New function, extracted from
59898         gl_tree_remove_node.
59899         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59900         upon out-of-memory.
59901         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59902         out-of-memory.
59903         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59904         upon out-of-memory.
59905         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59906         upon out-of-memory.
59907         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59908         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59909         not xmalloc. Return NULL upon out-of-memory.
59910         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59911         out-of-memory.
59912         (gl_tree_remove_node_from_tree): New function, extracted from
59913         gl_tree_remove_node.
59914         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59915         upon out-of-memory.
59916         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59917         out-of-memory.
59918         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59919         upon out-of-memory.
59920         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59921         upon out-of-memory.
59922         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59923         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59924         gl_anytree_list1.h before gl_anyavltree_list2.h.
59925         (gl_avltree_list_implementation): Update.
59926         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59927         gl_anytree_list1.h before gl_anyavltree_list2.h.
59928         (gl_rbtree_list_implementation): Update.
59929         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59930         Change return type to 'int'. Return -1 upon out-of-memory. Use
59931         __builtin_expect.
59932         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59933         (gl_avltreehash_list_implementation): Update.
59934         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59935         (gl_rbtreehash_list_implementation): Update.
59936         * modules/array-list (Depends-on): Remove xalloc.
59937         * modules/carray-list (Depends-on): Likewise.
59938         * modules/linked-list (Depends-on): Likewise.
59939         * modules/linkedhash-list (Depends-on): Likewise.
59940         * modules/avltree-list (Depends-on): Likewise.
59941         * modules/rbtree-list (Depends-on): Likewise.
59942         * modules/avltreehash-list (Depends-on): Likewise.
59943         * modules/rbtreehash-list (Depends-on): Likewise.
59945         * modules/xsublist: New file.
59946         * lib/gl_xsublist.h: New file.
59947         * lib/gl_xsublist.c: New file.
59948         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59949         (gl_sublist_nx_create): New declaration.
59950         * lib/gl_sublist.c: Don't include xalloc.h.
59951         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59952         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59953         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59954         Change return type to 'int'. Return -1 upon out-of-memory.
59955         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59956         upon out-of-memory.
59957         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59958         NULL upon out-of-memory.
59959         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59960         upon out-of-memory.
59961         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59962         NULL upon out-of-memory.
59963         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59964         NULL upon out-of-memory.
59965         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59966         upon out-of-memory.
59967         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59968         (gl_sublist_list_implementation): Update.
59969         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59970         upon out-of-memory.
59971         * modules/sublist (Depends-on): Remove xalloc.
59973         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59974         * tests/test-carray_list.c: Likewise.
59975         * tests/test-linked_list.c: Likewise.
59976         * tests/test-linkedhash_list.c: Likewise.
59977         * tests/test-avltree_list.c: Likewise.
59978         * tests/test-rbtree_list.c: Likewise.
59979         * tests/test-avltreehash_list.c: Likewise.
59980         * tests/test-rbtreehash_list.c: Likewise.
59981         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59982         * modules/carray-list-tests (Makefile.am): Likewise.
59983         * modules/linked-list-tests (Makefile.am): Likewise.
59984         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59985         * modules/avltree-list-tests (Makefile.am): Likewise.
59986         * modules/rbtree-list-tests (Makefile.am): Likewise.
59987         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59988         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59990         * NEWS: Mention the changes.
59992         * lib/clean-temp.c: Include gl_xlist.h.
59993         * modules/clean-temp (Depends-on): Add xlist.
59995         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59996         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59998         * tests/test-array_oset.c: Include gl_xlist.h.
59999         * modules/array-oset-tests (Depends-on): Add xlist.
60001         Reported by José E. Marchesi <jemarch@gnu.org>.
60003 2009-12-13  Bruno Haible  <bruno@clisp.org>
60005         Move the malloc checking from module 'oset' to new module 'xoset'.
60006         * modules/xoset: New file.
60007         * lib/gl_xoset.h: New file.
60008         * lib/gl_xoset.c: New file.
60009         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
60010         declarations.
60011         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
60012         (struct gl_oset_implementation): Rename and change methods accordingly.
60013         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
60014         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60015         'int'. Mark as __warn_unused_result__.
60016         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
60017         gl_oset_create_empty.
60018         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60019         'int'.
60020         * lib/gl_array_oset.c: Don't include xalloc.h.
60021         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
60022         malloc, not xmalloc.
60023         (grow): Change return type to 'int'. Don't call xalloc_die.
60024         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
60025         to 'int'.
60026         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
60027         'int'.
60028         (gl_array_oset_implementation): Update.
60029         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
60030         gl_tree_create_empty.
60031         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
60032         'int'.
60033         * lib/gl_avltree_oset.c: Don't include xalloc.h.
60034         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60035         xmalloc.
60036         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60037         not xmalloc.
60038         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60039         xmalloc.
60040         (gl_avltree_oset_implementation): Update.
60041         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
60042         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60043         xmalloc.
60044         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60045         not xmalloc.
60046         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60047         xmalloc.
60048         (gl_rbtree_oset_implementation): Update.
60049         * modules/array-oset (Depends-on): Remove xalloc.
60050         * modules/avltree-oset (Depends-on): Likewise.
60051         * modules/rbtree-oset (Depends-on): Likewise.
60052         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
60053         * tests/test-avltree_oset.c: Likewise.
60054         * tests/test-rbtree_oset.c: Likewise.
60055         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
60056         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
60057         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60058         * NEWS: Mention the change.
60060 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
60062         maint.mk: allow a project to override release-prep commands
60063         * top/maint.mk (alpha, beta, stable): Move release-preparatory
60064         commands into a new rule.
60065         (release-prep): New rule.
60066         (release-prep-hook): New overridable variable.
60068 2009-12-13  Bruno Haible  <bruno@clisp.org>
60070         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
60072 2009-12-13  Jim Meyering  <meyering@redhat.com>
60074         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
60075         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
60077 2009-12-12  Bruno Haible  <bruno@clisp.org>
60079         duplocale: Tweak.
60080         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
60082 2009-12-12  Karl Berry  <karl@gnu.org>
60084         * config/srclist.txt (strtoll.c): tab changes, no more sync.
60086 2009-12-12  Bruno Haible  <bruno@clisp.org>
60088         * m4/po.m4: Undo incorrect untabification.
60090 2009-12-12  Bruno Haible  <bruno@clisp.org>
60092         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
60093         * modules/c-strtod (Depends-on): Add locale.
60094         * modules/c-strtold (Depends-on): Likewise.
60096 2009-12-12  Bruno Haible  <bruno@clisp.org>
60098         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
60100 2009-12-11  Eric Blake  <ebb9@byu.net>
60102         setenv: relax requirement in light of POSIX ruling
60103         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
60104         not NULL.
60105         * tests/test-setenv.c (main): Relax test.
60106         * tests/test-unsetenv.c (main): Likewise.
60107         * doc/posix-functions/setenv.texi (setenv): Document this.
60108         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60110 2009-12-11  Bruno Haible  <bruno@clisp.org>
60112         New module 'fd-safer-flag'.
60113         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
60114         * lib/dup-safer.c (dup_safer_flag): Remove function.
60115         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
60116         * lib/fd-safer.c (fd_safer_flag): Remove function.
60117         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
60118         * modules/cloexec (configure.ac): Drop indicator macro.
60119         * modules/fd-safer-flag: New file.
60120         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
60121         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
60122         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
60124 2009-12-11  Bruno Haible  <bruno@clisp.org>
60126         Tests for module 'nl_langinfo'.
60127         * modules/nl_langinfo-tests: New file.
60128         * tests/test-nl_langinfo.sh: New file.
60129         * tests/test-nl_langinfo.c: New file.
60131         New module 'nl_langinfo'.
60132         * lib/nl_langinfo.c: New file.
60133         * m4/nl_langinfo.m4: New file.
60134         * modules/nl_langinfo: New file.
60135         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
60137 2009-12-11  Bruno Haible  <bruno@clisp.org>
60139         Tests for module 'langinfo'.
60140         * modules/langinfo-tests: New file.
60141         * tests/test-langinfo.c: New file.
60143         New module 'langinfo'.
60144         * lib/langinfo.in.h: New file.
60145         * m4/langinfo_h.m4: New file.
60146         * modules/langinfo: New file.
60147         * doc/posix-headers/langinfo.texi: Mention the new module.
60149 2009-12-11  Bruno Haible  <bruno@clisp.org>
60151         * lib/config.charset: Untabify.
60153 2009-12-11  Bruno Haible  <bruno@clisp.org>
60155         * modules/unistd-safer (configure.ac): Drop indicator macro.
60157 2009-12-11  Bruno Haible  <bruno@clisp.org>
60159         Move pipe2-safer code to its own file.
60160         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
60161         * lib/pipe-safer.c (pipe2_safer): Remove function.
60162         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
60163         (Makefile.am): Add it to lib_SOURCES.
60165 2009-12-10  Bruno Haible  <bruno@clisp.org>
60167         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
60169 2009-12-10  Bruno Haible  <bruno@clisp.org>
60171         Declare which arguments expect non-NULL values, for GCC and clang.
60172         * build-aux/arg-nonnull.h: New file.
60173         * modules/arg-nonnull: New file.
60174         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
60175         (inet_ntop, inet_pton): Use it.
60176         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
60177         (closedir, dirfd, opendir, scandir, alphasort): Use it.
60178         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
60179         (open, openat): Use it.
60180         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
60181         (fnmatch): Use it.
60182         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
60183         (getopt, getopt_long, getopt_long_only): Use it.
60184         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
60185         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
60186         Use it.
60187         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
60188         (iconv_open): Use it.
60189         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
60190         (strtoimax, strtoumax): Use it.
60191         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
60192         (duplocale): Use it.
60193         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
60194         (frexp, frexpl): Use it.
60195         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
60196         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
60197         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
60198         (tsearch, tfind, tdelete, twalk): Use it.
60199         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
60200         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
60201         sigpending): Use it.
60202         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
60203         (posix_spawn, posix_spawnp, posix_spawnattr_init,
60204         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
60205         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
60206         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
60207         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
60208         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
60209         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
60210         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
60211         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
60212         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
60213         Use it.
60214         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
60215         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
60216         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
60217         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
60218         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
60219         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
60220         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
60221         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
60222         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
60223         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
60224         strtoull, unsetenv): Use it.
60225         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
60226         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
60227         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
60228         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
60229         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
60230         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
60231         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
60232         (strcasecmp, strncasecmp): Use it.
60233         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
60234         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
60235         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
60236         rpl_setsockopt): Use it.
60237         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
60238         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
60239         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
60240         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
60241         (gettimeofday): Use it.
60242         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
60243         (times): Use it.
60244         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
60245         (uname): Use it.
60246         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
60247         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
60248         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
60249         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
60250         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
60251         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
60252         unlinkat, write): Use it.
60253         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
60254         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
60255         * lib/argv-iter.h: Include arg-nonnull.h.
60256         (_ATTRIBUTE_NONNULL_): Remove macro.
60257         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
60258         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
60259         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
60260         optimization.
60261         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
60262         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
60263         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
60264         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
60265         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
60266         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
60267         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
60268         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
60269         * modules/arpa_inet (Depends-on): Add arg-nonnull.
60270         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
60271         * modules/dirent (Depends-on): Add arg-nonnull.
60272         (Makefile.am): Insert arg-nonnull.h into dirent.h.
60273         * modules/fcntl-h (Depends-on): Add arg-nonnull.
60274         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
60275         * modules/fnmatch (Depends-on): Add arg-nonnull.
60276         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
60277         * modules/getopt-posix (Depends-on): Add arg-nonnull.
60278         (Makefile.am): Insert arg-nonnull.h into getopt.h.
60279         * modules/glob (Depends-on): Add arg-nonnull.
60280         (Makefile.am): Insert arg-nonnull.h into glob.h.
60281         * modules/iconv_open (Depends-on): Add arg-nonnull.
60282         (Makefile.am): Insert arg-nonnull.h into iconv.h.
60283         * modules/inttypes (Depends-on): Add arg-nonnull.
60284         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
60285         * modules/locale (Depends-on): Add arg-nonnull.
60286         (Makefile.am): Insert arg-nonnull.h into locale.h.
60287         * modules/math (Depends-on): Add arg-nonnull.
60288         (Makefile.am): Insert arg-nonnull.h into math.h.
60289         * modules/netdb (Depends-on): Add arg-nonnull.
60290         (Makefile.am): Insert arg-nonnull.h into netdb.h.
60291         * modules/search (Depends-on): Add arg-nonnull.
60292         (Makefile.am): Insert arg-nonnull.h into search.h.
60293         * modules/signal (Depends-on): Add arg-nonnull.
60294         (Makefile.am): Insert arg-nonnull.h into signal.h.
60295         * modules/spawn (Depends-on): Add arg-nonnull.
60296         (Makefile.am): Insert arg-nonnull.h into spawn.h.
60297         * modules/stdio (Depends-on): Add arg-nonnull.
60298         (Makefile.am): Insert arg-nonnull.h into stdio.h.
60299         * modules/stdlib (Depends-on): Add arg-nonnull.
60300         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
60301         * modules/string (Depends-on): Add arg-nonnull.
60302         (Makefile.am): Insert arg-nonnull.h into string.h.
60303         * modules/strings (Depends-on): Add arg-nonnull.
60304         (Makefile.am): Insert arg-nonnull.h into strings.h.
60305         * modules/sys_socket (Depends-on): Add arg-nonnull.
60306         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
60307         * modules/sys_stat (Depends-on): Add arg-nonnull.
60308         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
60309         * modules/sys_time (Depends-on): Add arg-nonnull.
60310         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
60311         * modules/sys_times (Depends-on): Add arg-nonnull.
60312         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
60313         * modules/sys_utsname (Depends-on): Add arg-nonnull.
60314         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
60315         * modules/time (Depends-on): Add arg-nonnull.
60316         (Makefile.am): Insert arg-nonnull.h into time.h.
60317         * modules/unistd (Depends-on): Add arg-nonnull.
60318         (Makefile.am): Insert arg-nonnull.h into unistd.h.
60319         * modules/wchar (Depends-on): Add arg-nonnull.
60320         (Makefile.am): Insert arg-nonnull.h into wchar.h.
60321         * modules/argv-iter (Depends-on): Add arg-nonnull.
60322         * tests/test-canonicalize.c (null_ptr): New function.
60323         (main): Use it.
60324         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
60325         (main): Use it.
60326         * tests/test-memmem.c (null_ptr): New function.
60327         (main): Use it.
60328         Reported by Jim Meyering.
60330 2009-12-10  Bruno Haible  <bruno@clisp.org>
60332         Use spaces for indentation, not tabs.
60333         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
60334         * m4/*.m4: Untabify.
60335         * build-aux/*.h: Untabify.
60336         * tests/**/*.[hc]: Untabify.
60337         * README: New section "Indent with spaces, not TABs", based on
60338         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
60339         * NEWS: Mention the change.
60341 2009-12-10  Bruno Haible  <bruno@clisp.org>
60343         pty test: Fix link error.
60344         * modules/pty-tests (Makefile.am): Add the default LDADD value to
60345         test_pty_LDADD.
60347 2009-12-07  Simon Josefsson  <simon@josefsson.org>
60349         * modules/pty: New file.
60350         * modules/pty-tests: New file.
60351         * m4/pty.m4: New file.
60352         * tests/test-pty.c: New file.
60353         * doc/glibc-headers/pty.texi: Modified.
60354         * doc/glibc-functions/forkpty.texi: Modified.
60355         * doc/glibc-functions/openpty.texi: Modified.
60357 2009-12-10  Bruno Haible  <bruno@clisp.org>
60359         Avoid syntax error in C++ mode.
60360         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
60362 2009-12-10  Bruno Haible  <bruno@clisp.org>
60364         Use sed with option -e.
60365         * gnulib-tool (func_version, func_emit_copyright_notice,
60366         func_emit_initmacro_end, func_import, func_create_testdir): Pass
60367         option -e to sed.
60368         * modules/link-warning (Makefile.am): Likewise.
60370 2009-12-10  Jim Meyering  <meyering@redhat.com>
60372         mgetgroups: do not write bytes beyond end of malloc'd buffer
60373         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
60374         username, we call getgroups with a one-element-shorter buffer,
60375         but still told it the length was original, max_n_groups.
60377 2009-12-09  Eric Blake  <ebb9@byu.net>
60379         cloexec: relax license
60380         * modules/cloexec (Maintainer): Add myself.
60381         (License): Use LGPL, not GPL.
60383         link-warning: optimize generation
60384         * modules/link-warning (Makefile.am): Reduce process usage.
60386 2009-12-09  Bruno Haible  <bruno@clisp.org>
60388         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
60389         workaround was added on 2009-11-17.
60391 2009-12-09  Jim Meyering  <meyering@redhat.com>
60392             Bruno Haible  <bruno@clisp.org>
60394         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
60395         * modules/link-warning (Makefile.am): Make the comment-removing sed
60396         command more robust in the face of bootstrap-prepended comment lines.
60398 2009-12-09  Bruno Haible  <bruno@clisp.org>
60400         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
60401         most one group.
60403 2009-12-09  Simon Josefsson  <simon@josefsson.org>
60404             Bruno Haible  <bruno@clisp.org>
60406         * build-aux/link-warning.h: Add copyright notice.
60407         * modules/link-warning (Makefile.am): Generate link-warning.h from
60408         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
60409         * NEWS: Mention change in link-warning module.
60410         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
60411         * modules/dirent (Makefile.am): Add dependency to dirent.h.
60412         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
60413         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
60414         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
60415         * modules/math (Makefile.am): Add dependency to math.h.
60416         * modules/search (Makefile.am): Add dependency to search.h.
60417         * modules/signal (Makefile.am): Add dependency to signal.h.
60418         * modules/spawn (Makefile.am): Add dependency to spawn.h.
60419         * modules/stdio (Makefile.am): Add dependency to stdio.h.
60420         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
60421         * modules/string (Makefile.am): Add dependency to string.h.
60422         * modules/strings (Makefile.am): Add dependency to strings.h.
60423         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
60424         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
60425         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
60426         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
60427         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
60428         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
60429         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
60430         * modules/unistd (Makefile.am): Add dependency to unistd.h.
60431         * modules/wchar (Makefile.am): Add dependency to wchar.h.
60433 2009-12-09  Bruno Haible  <bruno@clisp.org>
60435         fchdir: Optimize away rpl_fstat when possible.
60436         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
60437         REPLACE_OPEN_DIRECTORY.
60438         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
60440 2009-12-09  Bruno Haible  <bruno@clisp.org>
60442         * lib/fchdir.c: Update comment.
60444 2009-12-09  Bruno Haible  <bruno@clisp.org>
60446         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
60448 2009-12-08  Eric Blake  <ebb9@byu.net>
60450         fchdir: avoid memory leak on re-registration.
60451         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
60453 2009-12-08  Jim Meyering  <meyering@redhat.com>
60455         init.sh: avoid Solaris 10 /bin/sh portability problem
60456         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
60457         sourced script:
60458           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
60459           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
60460           bar
60461         tests/init.sh relied on that, accepting a --set-path=DIR argument,
60462         and two tests used that idiom.
60463         * tests/init.sh: Update suggested usage comments.
60464         (path_prepend_): New function, to be used in place
60465         of the --src-path=DIR option.
60466         (setup_): Move PATH-prepending code into path_prepend_.
60467         * tests/test-pread.sh: Adapt to new usage.
60468         * tests/test-xalloc-die.sh: Likewise.
60470 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60472         * doc/gnulib.texi (Glibc pty.h): Add.
60473         * doc/glibc-functions/forkpty.texi: Add.
60474         * doc/glibc-functions/openpty.texi: Add.
60475         Suggested by Bruno Haible.
60477 2009-12-08  Eric Blake  <ebb9@byu.net>
60479         fchdir: fix logic bugs
60480         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60481         * tests/test-fchdir.c (main): Enhance test.
60482         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60483         is in use.
60485         dup2: fix logic bugs
60486         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60487         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60488         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60489         exists.
60490         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60492 2009-12-07  Eric Blake  <ebb9@byu.net>
60494         unlink: fix m4 detection
60495         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60497         unistd-safer: add unit test
60498         * modules/unistd-safer-tests: New file.
60499         * tests/test-dup-safer.c: Likewise.
60500         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60501         * tests/test-dup2.c (setmode): Likewise.
60502         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60504         cloexec: preserve text vs. binary across dup_cloexec
60505         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60506         mode.
60507         * modules/dup2-tests (Depends-on): Add binary-io.
60508         * modules/cloexec-tests (Depends-on): Likewise.
60509         * tests/test-dup2.c (setmode, is_mode): New helpers.
60510         (main): Add tests that translation mode is preserved.
60511         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60512         Reported by Bruno Haible.
60514         mgetgroups: reduce duplicate listings
60515         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60516         resulting array.
60517         * tests/test-chown.h (test_chown): Simplify client.
60518         * tests/test-lchown.h (test_lchown): Likewise.
60520 2009-12-06  Bruno Haible  <bruno@clisp.org>
60522         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60523         value.
60525 2009-12-06  Bruno Haible  <bruno@clisp.org>
60527         * lib/progname.c: Include stdio.h, stdlib.h.
60528         (set_program_name): Reject a NULL argument.
60530 2009-12-05  Eric Blake  <ebb9@byu.net>
60532         pipe2-safer: new module
60533         * modules/pipe2-safer: New file.
60534         * lib/unistd-safer.h (pipe2_safer): New prototype.
60535         * lib/unistd--.h (pipe2): New wrapper.
60536         * lib/pipe-safer.c (pipe2_safer): New function.
60537         * modules/pipe (Depends-on): Add pipe2-safer.
60538         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60540         stdlib-safer: preserve cloexec flag for mkostemp[s]
60541         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60542         fd_safer_flag.
60544         unistd-safer: allow preservation of cloexec status via flag
60545         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60546         prototypes.
60547         * lib/dup-safer.c (dup_safer_flag): New function.
60548         * lib/fd-safer.c (fd_safer_flag): Likewise.
60549         * modules/cloexec (configure.ac): Set witness.
60551         test-dup2: enhance test
60552         * modules/dup2-tests (Depends-on): Add cloexec.
60553         * tests/test-dup2.c (main): Enhance test.
60555         cloexec: add dup_cloexec
60556         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60557         header and comments.
60558         * lib/cloexec.c (set_cloexec_flag): Add comments.
60559         (dup_cloexec): New function, with mingw implementation borrowed
60560         from...
60561         * lib/w32spawn.h (dup_noinherit): ...here.
60562         * modules/execute (Depends-on): Add cloexec.
60563         * modules/pipe (Depends-on): Likewise.
60564         * modules/cloexec (Depends-on): Add dup2.
60565         * modules/cloexec-tests (Files): New file.
60566         * tests/test-cloexec.c: Likewise.
60568         test-xalloc-die: fix test for mingw
60569         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60570         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60571         directory and .exe suffix off argv[0] output.
60573         test-fseeko: fix test for mingw
60574         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60575         than undefining fseek, so test will pass on mingw.
60577 2009-12-05  Bruno Haible  <bruno@clisp.org>
60579         * lib/progname.h (set_program_name): Clarify specification.
60580         * lib/progname.c (set_program_name): Likewise.
60581         Reported by Jim Meyering.
60583 2009-12-05  Jim Meyering  <meyering@redhat.com>
60585         maint.mk: backslash-escape parens in default regexp
60586         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60587         backslash-escape the literal parentheses.
60589         maint.mk: news-date-check: use grep -E
60590         * top/maint.mk (today): Define a Make variable, not a...
60591         (news-date-check): ...shell variable.
60592         (news-date-regexp): Use the Make variable.
60593         Use grep's -E option.  Change the failing diagnostic to mention
60594         the variable, $(news-date-regexp).
60596 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60598         maintainer-makefile: allow customization of NEWS entry format
60599         * top/maint.mk (news-date-regexp): New overridable variable.
60600         (news-date-check): Use it.
60602 2009-12-04  Eric Blake  <ebb9@byu.net>
60604         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60605         * lib/mgetgroups.h (xgetgroups): New prototype.
60606         * lib/mgetgroups.c (xgetgroups): New wrapper.
60607         (mgetgroups): Handle ENOSYS.
60608         * modules/mgetgroups (Depends-on): Add realloc.
60609         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60611         mgetgroups: avoid argument promotion issues with -1
60612         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60613         for invalid gid_t.
60614         * tests/test-chown.h (getegid, test_chown): Likewise.
60615         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60617 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60619         exclude: Fix header file problems.
60620         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60622 2009-12-01  Jim Meyering  <meyering@redhat.com>
60624         fts: fts_open: do not let an empty string cause immediate failure
60625         This is required in support of GNU rm, for which the command
60626         "rm A '' B" must process and remove both A and B, in spite of
60627         the empty string argument.
60628         * lib/fts.c (fts_open): Do not let the presence of an empty string
60629         cause fts_open to fail immediately.  Most fts-using tools must be
60630         able to process all arguments, in order, and can be expected to
60631         diagnose such arguments themselves.
60633 2009-11-30  Eric Blake  <ebb9@byu.net>
60635         utimens: fix compilation error
60636         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60637         Declare variable at right scope.
60639 2009-11-29  Jim Meyering  <meyering@redhat.com>
60641         bootstrap: handle perl-5.11's changed --version output
60642         * build-aux/bootstrap (get_version): Handle perl separately,
60643         since perl-5.11's --version output is different.
60645 2009-11-28  Jim Meyering  <meyering@redhat.com>
60647         userspec: depend on the inttostr module, too
60648         * modules/userspec (Depends-on): Add inttostr.
60650         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60651         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60652         number of MAXUID when it evaluates to (uid_t) -1.
60653         Likewise for group ID.  Reported by Matt McCutchen in
60654         <http://savannah.gnu.org/bugs/?28113>
60656         userspec: reformat to use spaces, not TABs
60657         * lib/userspec.c: Expand TABs to spaces.
60658         Add Emacs' "indent-tabs-mode: nil" hint.
60660 2009-11-27  Eric Blake  <ebb9@byu.net>
60662         getopt-gnu: flush out another BSD bug
60663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60664         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60665         flush out BSD bug.
60666         * tests/test-getopt.h (test_getopt): End lists with NULL.
60667         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60668         (test_getopt_long_posix): Enhance test.
60669         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60670         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60671         getopt-gnu.
60672         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60673         Likewise.
60675 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60677         * modules/idpriv-droptemp-tests (Notice): Fix text.
60679 2009-11-27  Jim Meyering  <meyering@redhat.com>
60681         test-xalloc-die: avoid spurious failure due to libtool argv difference
60682         In a libtool-enabled project, this test would fail due to a difference
60683         in the emitted program name, e.g.,
60684         -test-xalloc-die: memory exhausted
60685         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60686         Use program to avoid that.
60687         * modules/xalloc-die-tests (Depends-on): Add progname.
60688         * tests/test-xalloc-die.c: Include progname.h".
60689         (program_name): Remove decl.
60690         (main): Call set_program_name.
60691         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60693 2009-11-26  Richard Jones  <rjones@redhat.com>
60695         w32sock: leave win32 error in place.
60696         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60698 2009-11-26  Eric Blake  <ebb9@byu.net>
60700         init.sh: suggest to use skip_ and fail_ functions in comments
60701         * tests/init.sh: Add a sentence.
60703 2009-11-25  Bruno Haible  <bruno@clisp.org>
60705         init.sh: add documentation in comments
60706         * tests/init.sh: Add some developer and user documentation.
60708 2009-11-26  Jim Meyering  <meyering@redhat.com>
60710         init.sh: accommodate even those who specify bogus srcdir manually
60711         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60712         configure-time tests to be sanitized, so that there is no need to
60713         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60714         (with no double quotes) suffices.  However, since tests may be
60715         invoked manually, and since you may explicitly set srcdir to the
60716         name of a directory containing spaces, do quote its uses here.
60717         * tests/test-pread.sh: Likewise.
60718         Suggested by Bruno Haible.
60720         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60721         * tests/test-pread.sh: Write no data into the pipe, because
60722         test-pread actually reads none.  This avoids a diagnostic,
60723         "bash: echo: write error: Broken pipe", that arises in the unusual
60724         event something is ignoring SIGPIPE, and might be interpreted
60725         as some sort of failure.  Reported by Bruno Haible.
60727 2009-11-25  Jim Meyering  <meyering@redhat.com>
60729         test-pread: cover failure with ESPIPE and EINVAL
60730         * tests/test-pread.c (main): Test for failure, too.
60731         * tests/test-pread.sh: Invoke with stdin on a pipe.
60732         Suggested by Eric Blake.
60734         pread: improvement and fix
60735         * modules/pread (Depends-on): Depend on lseek, for portability to
60736         e.g., mingw.  Suggested by Eric Blake.
60737         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60739         unistd.in.h: correct declaration of pread
60740         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60741         Reported by Richard W.M. Jones.
60743         test-pread.sh: distribute the test script
60744         * modules/pread-tests (Files): Include test-pread.sh.
60746         test-pread.sh: clean up
60747         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60748         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60749         That is unnecessary, since it's always ".".
60750         Suggestion from Eric Blake.
60752         test-pread.sh: make executable
60753         * tests/test-pread.sh: Set executable bit.
60754         Reported by Eric Blake.
60756         correct typo in test-pread.sh
60757         * tests/test-pread.sh: Add #! line.
60759         test pread
60760         * tests/test-pread.c: New file.
60761         * tests/test-pread.sh: Likewise.
60762         * modules/pread-tests: Likewise.
60764         pread: new module
60765         * modules/pread: New file.
60766         * lib/unistd.in.h (pread): Define/declare.
60767         * lib/pread.c (pread): New file.
60768         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60769         * modules/unistd (Makefile.am): Substitute witnesses.
60770         * doc/posix-functions/pread.texi (pread): Update.
60771         * MODULES.html.sh: Add pread.
60773 2009-11-25  Jim Meyering  <meyering@redhat.com>
60775         tests/init.sh: new file to be used via most *.sh tests
60776         * tests/init.sh: New file.
60778 2009-11-25  Eric Blake  <ebb9@byu.net>
60780         utimens: work around older Linux failure with symlinks
60781         * lib/utimens.c (lutimensat_works_really): New variable.
60782         (fdutimens, lutimens): Use it to manage kernels that support
60783         nanosecond times on files, but not on symlinks.
60784         Reported by Ondřej Vašík.
60786         utimes: fix configure grammar
60787         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60789 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60791         regex: Fix fastmap for multibyte character ranges.
60792         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60793         characters when a multibyte character range is included.
60795 2009-11-22  Andy Wingo  <wingo@pobox.com>
60797         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60798         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60800 2009-11-24  Bruno Haible  <bruno@clisp.org>
60802         doc: Most *_l functions exist in MacOS X 10.5.
60803         * doc/posix-functions/duplocale.texi: Update platforms list.
60804         * doc/posix-functions/freelocale.texi: Likewise.
60805         * doc/posix-functions/newlocale.texi: Likewise.
60806         * doc/posix-functions/uselocale.texi: Likewise.
60807         * doc/posix-functions/isalnum_l.texi: Likewise.
60808         * doc/posix-functions/isalpha_l.texi: Likewise.
60809         * doc/posix-functions/isblank_l.texi: Likewise.
60810         * doc/posix-functions/iscntrl_l.texi: Likewise.
60811         * doc/posix-functions/isdigit_l.texi: Likewise.
60812         * doc/posix-functions/isgraph_l.texi: Likewise.
60813         * doc/posix-functions/islower_l.texi: Likewise.
60814         * doc/posix-functions/isprint_l.texi: Likewise.
60815         * doc/posix-functions/ispunct_l.texi: Likewise.
60816         * doc/posix-functions/isspace_l.texi: Likewise.
60817         * doc/posix-functions/isupper_l.texi: Likewise.
60818         * doc/posix-functions/iswalnum_l.texi: Likewise.
60819         * doc/posix-functions/iswalpha_l.texi: Likewise.
60820         * doc/posix-functions/iswblank_l.texi: Likewise.
60821         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60822         * doc/posix-functions/iswctype_l.texi: Likewise.
60823         * doc/posix-functions/iswdigit_l.texi: Likewise.
60824         * doc/posix-functions/iswgraph_l.texi: Likewise.
60825         * doc/posix-functions/iswlower_l.texi: Likewise.
60826         * doc/posix-functions/iswprint_l.texi: Likewise.
60827         * doc/posix-functions/iswpunct_l.texi: Likewise.
60828         * doc/posix-functions/iswspace_l.texi: Likewise.
60829         * doc/posix-functions/iswupper_l.texi: Likewise.
60830         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60831         * doc/posix-functions/isxdigit_l.texi: Likewise.
60832         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60833         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60834         * doc/posix-functions/strcoll_l.texi: Likewise.
60835         * doc/posix-functions/strfmon_l.texi: Likewise.
60836         * doc/posix-functions/strftime_l.texi: Likewise.
60837         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60838         * doc/posix-functions/strxfrm_l.texi: Likewise.
60839         * doc/posix-functions/tolower_l.texi: Likewise.
60840         * doc/posix-functions/toupper_l.texi: Likewise.
60841         * doc/posix-functions/towctrans_l.texi: Likewise.
60842         * doc/posix-functions/towlower_l.texi: Likewise.
60843         * doc/posix-functions/towupper_l.texi: Likewise.
60844         * doc/posix-functions/wcscoll_l.texi: Likewise.
60845         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60846         * doc/posix-functions/wctrans_l.texi: Likewise.
60847         * doc/posix-functions/wctype_l.texi: Likewise.
60848         * doc/glibc-functions/strptime_l.texi: Likewise.
60849         * doc/glibc-functions/strtod_l.texi: Likewise.
60850         * doc/glibc-functions/strtof_l.texi: Likewise.
60851         * doc/glibc-functions/strtol_l.texi: Likewise.
60852         * doc/glibc-functions/strtold_l.texi: Likewise.
60853         * doc/glibc-functions/strtoll_l.texi: Likewise.
60854         * doc/glibc-functions/strtoul_l.texi: Likewise.
60855         * doc/glibc-functions/strtoull_l.texi: Likewise.
60856         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60857         * doc/glibc-functions/wcstod_l.texi: Likewise.
60858         * doc/glibc-functions/wcstof_l.texi: Likewise.
60859         * doc/glibc-functions/wcstol_l.texi: Likewise.
60860         * doc/glibc-functions/wcstold_l.texi: Likewise.
60861         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60862         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60863         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60865 2009-11-24  Bruno Haible  <bruno@clisp.org>
60867         duplocale: Fix logic bug.
60868         * lib/duplocale.c: Don't include <langinfo.h>.
60869         (_NL_LOCALE_NAME): Remove macro.
60870         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60871         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60873 2009-11-23  Jim Meyering  <meyering@redhat.com>
60875         test-update-copyright: don't hard-code /usr/bin/perl
60876         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60877         perl to print the current year.  Gilles Espinasse reported that
60878         the replaced use of perl was hard-coded as /usr/bin/perl.
60880 2009-11-23  Bruno Haible  <bruno@clisp.org>
60882         duplocale: Add support for glibc 2.3.x.
60883         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60885 2009-11-22  Bruno Haible  <bruno@clisp.org>
60887         vasnprintf: Tiny optimization.
60888         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60889         MacOS X.
60891 2009-11-22  Bruno Haible  <bruno@clisp.org>
60893         Tests for module 'duplocale'.
60894         * modules/duplocale-tests: New file.
60895         * tests/test-duplocale.c: New file.
60897         New module 'duplocale'.
60898         * m4/duplocale.m4: New file.
60899         * lib/locale.in.h (duplocale): New declaration.
60900         * lib/duplocale.c: New file.
60901         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60902         gl_LOCALE_H_DEFAULTS): New macros.
60903         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60904         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60905         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60906         REPLACE_DUPLOCALE.
60907         * modules/duplocale: New file.
60908         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60910 2009-11-22  Bruno Haible  <bruno@clisp.org>
60912         * modules/locale-tests (configure.ac): Test for newlocale function.
60913         * tests/test-locale.c: When the system has extended locale functions,
60914         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60916         locale: Make locale_t available when possible.
60917         * lib/locale.in.h: Include <xlocale.h> when it exists.
60918         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60919         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60920         * modules/locale (Depends-on): Add extensions.
60921         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60922         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60924 2009-11-22  Bruno Haible  <bruno@clisp.org>
60926         Add comments.
60927         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60928         invocation.
60929         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60930         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60931         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60933 2009-11-22  Bruno Haible  <bruno@clisp.org>
60935         error: account for the possibility of freopen (stdout).
60936         * lib/error.c: Include <unistd.h>.
60937         (flush_stdout): New function, extracted from error and error_at_line.
60938         Determine stdout's fd dynamically.
60939         (error, error_at_line): Invoke flush_stdout.
60940         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60941         * modules/error (Depends-on): Add unistd.
60943 2009-11-22  Bruno Haible  <bruno@clisp.org>
60945         diffseq: Add comment.
60946         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60948 2009-11-22  Jim Meyering  <meyering@redhat.com>
60950         c-stack: avoid defining an unused static function
60951         * lib/c-stack.c (find_stack_direction): Do not define this function
60952         when it will not be used.
60954         diffseq: avoid spurious gcc warnings
60955         * lib/diffseq.h (IF_LINT2): Define.
60956         (compareseq): Use it to initialize two members of "part".
60957         This avoids two used-uninitialized warnings.
60959 2009-11-21  Jim Meyering  <meyering@redhat.com>
60961         c-stack: avoid "ignoring return value of `write'" warning
60962         * lib/c-stack.c: Include "ignore-value.h".
60963         (die): Explicitly ignore each write return value.
60964         * modules/c-stack (Depends-on): Add ignore-value.
60966 2009-11-21  Bruno Haible  <bruno@clisp.org>
60968         diffseq: reduce scope of variable 'best'.
60969         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60970         variable, earlier used for two different purposes.
60972 2009-11-21  Jim Meyering  <meyering@redhat.com>
60974         diffseq: remove useless assignment to "best"
60975         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60976         assignment.  At that point "best" is already guaranteed to be zero.
60978 2009-11-20  Eric Blake  <ebb9@byu.net>
60980         build: mention ftp redirector in release announcements
60981         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60982         values that used to come from cfg.mk; mention FTP redirect URL.
60983         * build-aux/announce-gen: Mention the mirror list.
60984         Suggested by Karl Berry.
60986         nanosleep: improve port to mingw
60987         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60989         LIB_NANOSLEEP, but only when needed.
60990         * modules/select (Link): Document LIBSOCKET.
60991         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60992         enough.
60994         nanosleep: work around cygwin bug
60995         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60996         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60997         bug.
60998         (getnow): Delete, not needed.
60999         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
61000         LIB_CLOCK_GETTIME.
61001         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
61002         clock-time, gettime.
61003         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
61004         bug.
61005         * modules/nanosleep-tests: New test.
61006         * tests/test-nanosleep.c: New file.
61008         sleep: work around cygwin bug
61009         * lib/sleep.c (rpl_sleep): Work around the bug.
61010         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
61011         (gl_PREREQ_SLEEP): Delete unused macro.
61012         * modules/sleep (Depends-on): Add verify.
61013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61014         * modules/unistd (Makefile.am): Substitute witness.
61015         * lib/unistd.in.h (sleep): Update prototype.
61016         * doc/posix-functions/sleep.texi (sleep): Document the bug.
61017         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
61018         * modules/sleep-tests (Depends-on): Check for alarm.
61020 2009-11-20  Jim Meyering  <meyering@redhat.com>
61022         maint.mk: improve sc_prohibit_magic_number_exit
61023         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
61024         so it does not match uses like System.exit(1).
61025         Add comments showing how to correct all offenders.
61027 2009-11-19  Eric Blake  <ebb9@byu.net>
61029         xalloc-die-tests: add missing library
61030         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
61032         test-xvasprintf: silence compiler warnings
61033         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
61034         empty string from gcc.
61036 2009-11-19  Jim Meyering  <meyering@redhat.com>
61038         xfreopen: new module, from coreutils
61039         * modules/xfreopen: New module.
61040         * lib/xfreopen.c: New file.
61041         * lib/xfreopen.h: New file.
61042         * MODULES.html.sh (File stream based Input/Output"): Add it.
61044 2009-11-19  Eric Blake  <ebb9@byu.net>
61046         manywarnings: depend on warnings
61047         * modules/manywarnings (Depends-on): Add warnings.
61049         build: avoid compiler warnings
61050         * lib/select.c (rpl_select): Delete unused variable.
61051         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
61053 2009-11-18  Eric Blake  <ebb9@byu.net>
61055         tests: avoid false negative with --with-packager
61056         * tests/test-version-etc.sh: Discard packager information.
61057         * tests/test-argp-version-etc-1.sh: Likewise.
61058         Reported by Mike Frysinger.
61060         utimens: fix regression on Solaris
61061         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
61062         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
61063         can only change fd timestamps via futimesat.  Instead, use an
61064         additional witness macro to avoid BSD bug.
61065         Reported by Jim Meyering.
61067 2009-11-17  Eric Blake  <ebb9@byu.net>
61069         usleep: use it to simplify tests
61070         * modules/stat-time-tests (Depends-on): Add usleep.
61071         (configure.ac): Drop usleep check.
61072         * modules/chown-tests (Depends-on, configure.ac): Likewise.
61073         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
61074         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
61075         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
61076         * modules/openat-tests (Depends-on, configure.ac): Likewise.
61077         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
61078         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
61079         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
61080         Likewise.
61081         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
61082         * tests/test-lchown.h (nap): Likewise.
61083         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
61084         * tests/test-stat-time.c (nap): Likewise.
61085         * tests/test-utimens-common.h (nap): Update comments.
61087         usleep: new module
61088         * modules/usleep: New file.
61089         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
61090         * lib/usleep.c (usleep): Likewise.
61091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61092         * modules/unistd (Makefile.am): Substitute witnesses.
61093         * lib/unistd.in.h (usleep): Add declaration.
61094         * doc/pastposix-functions/usleep.texi (usleep): Document this.
61095         * MODULES.html.sh (Date and time): Likewise.
61096         * modules/usleep-tests (Depends-on): New test.
61097         * tests/test-usleep.c: New file.
61099         chown: work around OpenBSD bug
61100         * lib/chown.c (rpl_chown): Work around the bug.
61101         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
61102         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
61103         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
61104         * modules/chown (Depends-on): Add stdbool.
61105         * modules/lchown (Depends-on): Likewise.
61106         * doc/posix-functions/chown.texi (chown): Document the bug.
61107         * doc/posix-functions/lchown.texi (lchown): Likewise.
61108         * tests/test-lchown.h (test_chown): Relax test.
61110         mkstemp: avoid conflict with C++ keyword template
61111         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
61112         * lib/mkostemp.c (mkostemp): Likewise.
61113         * lib/mkostemps.c (mkostemps): Likewise.
61114         * lib/mkstemp.c (mkstemp): Likewise.
61115         * lib/mkstemps.c (mkstemps): Likewise.
61117         xalloc-die-tests: optimize
61118         * tests/test-xalloc-die.sh: Reduce number of processes.
61120 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61122         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
61123         patch from ludo@gnu.org (Ludovic Courtès).
61125 2009-11-17  Jim Meyering  <meyering@redhat.com>
61127         version-etc: use proper license string
61128         * modules/version-etc (License): Use LGPL, not LGPLv3+.
61129         * modules/version-etc-fsf: Likewise.
61131 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61133         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
61134         printed to stdout.  Deal with EOL differences.
61136 2009-11-17  Eric Blake  <ebb9@byu.net>
61138         unsetenv: work around Solaris bug
61139         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
61140         * lib/unsetenv.c (rpl_unsetenv): Work around it.
61141         Reported by Jim Meyering.
61143         vasnprintf: avoid compiler warnings
61144         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
61145         variables.
61146         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
61148 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61150         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
61151         settings since xalloc-die is no longer the self test,
61152         xalloc-die.sh is.
61154 2009-11-17  Jim Meyering  <meyering@redhat.com>
61156         test-xalloc-die.sh: make the code agree with the commit log
61157         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
61158         at the end, just in case you happen to have a test-xalloc-die
61159         program in some other PATH directory.
61161         test-xalloc-die.sh: fix a portability bug
61162         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
61163         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
61164         Otherwise, argv[0] (as often seen in diagnostics) would be too
61165         system-dependent, sometimes with, and sometimes without the leading "./".
61167         version-etc-fsf: relax license to LGPLv3+
61168         * modules/version-etc-fsf (License): Relax license.
61170 2009-11-16  Eric Blake  <ebb9@byu.net>
61172         xalloc-die-tests: avoid printing null pointer
61173         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
61174         shell script.
61175         * tests/test-xalloc-die.c (program_name): Declare.
61176         * tests/test-xalloc-die.sh (tmpfiles): New file.
61178         setenv, unsetenv: work around various bugs
61179         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
61180         (setenv) [HAVE_SETENV]: Work around bugs.
61181         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
61182         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
61183         for bugs.
61184         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
61185         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
61186         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
61187         * modules/stdlib (Makefile.am): Update substitutions.
61188         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
61189         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
61190         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
61191         * modules/setenv-tests: New test.
61192         * modules/unsetenv-tests: Likewise.
61193         * tests/test-setenv.c: New file.
61194         * tests/test-unsetenv.c: Likewise.
61196 2009-11-16  Jim Meyering  <meyering@redhat.com>
61198         version-etc: relax license to LGPLv3+
61199         * modules/version-etc (License): Relax license.
61201         better AC_REQUIRE expanded-before-required-warning avoidance
61202         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
61203         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
61204         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
61205         which is no longer needed.
61207 2009-11-16  Eric Blake  <ebb9@byu.net>
61209         test-freading: clean up temporary file
61210         * tests/test-freading.c (main): Remove file on success, and use
61211         ASSERT more liberally.
61212         Reported by Jim Meyering.
61214 2009-11-16  Jim Meyering  <meyering@redhat.com>
61216         avoid new AC_REQUIRE expanded-before-required warnings
61217         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
61218         merely using it.
61219         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
61220         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
61222 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61224         * tests/test-xalloc-die.c: New file.
61225         * modules/xalloc-die-tests: New file.
61226         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
61227         XFAIL_TESTS so it can be appended by modules.
61229 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61231         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
61232         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
61234 2009-11-14  Eric Blake  <ebb9@byu.net>
61236         fnmatch: avoid compiler warning
61237         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
61238         to silence compiler warning about mismatch signedness in ?:.
61239         Reported by Robert Millan.
61241         intprops: add double-inclusion guard
61242         * lib/intprops.h: Allow idempotent includes.
61243         Suggested by Bruce Korb.
61245         openat: detect Solaris fchownat bug
61246         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
61247         penalizing glibc chownat when only lchownat is broken.
61248         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
61249         trailing slash bugs.
61250         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
61251         * modules/openat-tests (Files): Include more files.
61252         (Depends-on): Add mgetgroups, sleep, stat-time.
61253         (configure.ac): Add additional checks.
61254         (Makefile.am): Build new test.
61255         * tests/test-fchownat.c: New file.
61257         lchown: detect Solaris and FreeBSD bug
61258         * lib/lchown.c (rpl_lchown): Work around bug.
61259         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
61260         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61261         * modules/unistd (Makefile.am): Populate it.
61262         * lib/unistd.in.h (lchown): Update declaration.
61263         * doc/posix-functions/lchown.texi (lchown): Document the bug.
61264         * modules/lchown-tests: New file.
61265         * tests/test-lchown.h (test_lchown): Likewise.
61266         * tests/test-lchown.c (main): Likewise.
61268         chown: detect Solaris and FreeBSD bug
61269         * lib/chown.c (rpl_chown): Work around bug.
61270         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
61271         (gl_PREREQ_CHOWN): Delete.
61272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61273         * modules/unistd (Makefile.am): Populate it.
61274         * lib/unistd.in.h (chown): Update declaration.
61275         * lib/lchown.c (chown): Update client.
61276         * modules/lchown (Depends-on): Add lstat.
61277         * doc/posix-functions/chown.texi (chown): Document the bug.
61278         * doc/posix-functions/getgroups.texi (getgroups): Document
61279         getgroups pitfall.
61280         * modules/chown-tests: New file.
61281         * tests/test-chown.h (test_chown): Likewise.
61282         * tests/test-chown.c (main): Likewise.
61284 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
61286         gnulib-tool: correctly detect absence of m4 directories
61287         * gnulib-tool: Avoid extra newline on data passed to wc -l.
61289 2009-11-14  Jim Meyering  <meyering@redhat.com>
61291         maint.mk: Prohibit inclusion of "xalloc.h" without use.
61292         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61294 2009-11-14  John W. Eaton  <jwe@gnu.org>
61296         strftime.h: wrap function declaration in extern "C" block
61297         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
61299 2009-11-13  Eric Blake  <ebb9@byu.net>
61301         getgroups: avoid compiler warning
61302         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
61304         getgroups: work around FreeBSD bug
61305         * lib/getgroups.c (rpl_getgroups): Work around the bug.
61306         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
61307         * doc/posix-functions/getgroups.texi (getgroups): Document it.
61308         * tests/test-getgroups.c (main): Fix buffer overrun.
61310         getgroups: avoid compilation failure
61311         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
61312         * modules/getgroups (Depends-on): Add stdint.
61314 2009-11-13  Jim Meyering  <meyering@redhat.com>
61316         test-getgroups: avoid compilation failure
61317         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
61319 2009-11-13  Eric Blake  <ebb9@byu.net>
61321         mgetgroups: new module, taken from coreutils
61322         * modules/mgetgroups: New file.
61323         * lib/mgetgroups.h: Likewise.
61324         * lib/mgetgroups.c (mgetgroups): Likewise.
61325         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
61326         * MODULES.html.sh (Users and groups): Mention it.
61328         getgroups: don't expose GETGROUPS_T to user
61329         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
61330         an element at a time if GETGROUPS_T is wrong size.
61331         * lib/getugroups.h (getugroups): Change signature.
61332         * lib/unistd.in.h (getgroups): Likewise.
61333         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
61334         signature needs fixing.
61335         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
61336         AC_TYPE_GETGROUPS.
61337         * modules/group-member (Depends-on): Add getgroups.
61338         * lib/group-member.c (group_info, get_group_info): Use gid_t.
61339         (group_member): Rely on getgroups replacement.
61340         * lib/getugroups.c (getugroups): Use gid_t.
61341         * tests/test-getgroups.c (main): Likewise.
61342         * NEWS: Mention the signature change.
61343         * doc/posix-functions/getgroups.texi (getgroups): Mention the
61344         problem with signature.
61345         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
61346         GETGROUPS_T is still useful for setgroups.
61348         getgroups, getugroups: provide stubs for mingw
61349         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
61350         * lib/getugroups.c (getugroups): Likewise.
61351         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
61352         function.  Modernize replacement scheme.
61353         (gl_PREREQ_GETGROUPS): Delete.
61354         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
61355         * modules/getgroups (configure.ac): Declare witness.
61356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61357         * modules/unistd (Depends-on): Substitute witness.
61358         * lib/unistd.in.h (getgroups): Declare replacement.
61360         getgroups: avoid calling exit
61361         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
61362         drop xalloc.
61363         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
61364         dependencies.
61365         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
61366         exiting, in the rare case of malloc failure.
61368         getgroups: fix logic error
61369         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
61370         has more than 20 groups.
61371         * modules/getgroups-tests: New test.
61372         * tests/test-getgroups.c: New file.
61374 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61376         * tests/test-base64.c: Improve.
61378 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61380         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
61381         Blake <ebb9@byu.net>.
61383 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61385         * tests/test-xvasprintf.c: Add %s%s related checks.
61387 2009-11-12  Eric Blake  <ebb9@byu.net>
61389         version-etc: match standards.texi style
61390         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
61391         and use <> only for URLs.
61393 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
61395         fts: do not fail on a submount during traversal
61396         * lib/fts.c (fts_build): Read the stat info again after opening
61397         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
61398         Original report at http://bugzilla.redhat.com/501848.
61400 2009-11-12  Jim Meyering  <meyering@redhat.com>
61402         bootstrap: sync from coreutils
61403         * build-aux/bootstrap (bootstrap_epilogue): New function.
61404         Use git_modules_config in one more place.  This make bootstrap's
61405         --gnulib-srcdir option more useful for testing.
61407         bootstrap: generalize autoheader check
61408         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
61409         AC_CONFIG_HEADERS.
61411 2009-11-11  Eric Blake  <ebb9@byu.net>
61413         mkfifoat: use new modules for Solaris and BSD bugs
61414         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
61415         * lib/mkfifoat.c (mknodat): Split...
61416         * lib/mknodat.c (mknodat): ...into new file.
61417         * modules/mkfifoat (Files): Ship new file.
61418         (Depends-on): Add mkfifo, mknod.
61419         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
61420         (Depends-on): Add symlink.
61421         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
61422         redundant with test_mkfifo.h.
61423         (do_mkfifoat, do_mknodat): New helpers.
61425         mknod: new module
61426         * modules/mknod: New file.
61427         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
61428         * lib/mknod.c (mknod): Likewise.
61429         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61430         defaults.
61431         * modules/sys_stat (Makefile.am): Substitute them.
61432         * lib/sys_stat.in.h (mknod): Declare replacement.
61433         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61434         Document it.
61435         * doc/posix-functions/mknod.texi (mknod): Likewise.
61436         * modules/mknod-tests: New test.
61437         * tests/test-mknod.c: Likewise.
61439         mkfifo: new module
61440         * modules/mkfifo: New file.
61441         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61442         * lib/mkfifo.c (mkfifo): Likewise.
61443         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61444         defaults.
61445         * modules/sys_stat (Makefile.am): Substitute them.
61446         * lib/sys_stat.in.h (mkfifo): Declare replacement.
61447         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61448         Document it.
61449         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
61450         * modules/mkfifo-tests: New test.
61451         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
61452         from test-mkfifoat.c.
61453         * tests/test-mkfifo.c: New file.
61455         readlink: detect FreeBSD bug
61456         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
61457         slash on symlink.
61458         * doc/posix-functions/readlink.texi (readlink): Document the bug.
61459         * tests/test-readlink.h (test_readlink): Enhance test.
61461         symlink: detect FreeBSD bug
61462         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
61463         slash on symlink.
61464         * doc/posix-functions/symlink.texi (symlink): Document the bug.
61465         * tests/test-symlink.h (test_symlink): Enhance test.
61467 2009-11-10  Eric Blake  <ebb9@byu.net>
61469         link: detect FreeBSD bug
61470         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61471         symlink.
61472         * doc/posix-functions/link.texi (link): Document the bug.
61473         * tests/test-link.h (test_link): Enhance test.
61474         * tests/test-linkat.c (main): Update caller.
61476         unlink, remove: detect FreeBSD bug
61477         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61478         slash on symlink.
61479         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61480         * doc/posix-functions/remove.texi (remove): Likewise.
61481         * tests/test-unlink.h (test_unlink): Enhance test.
61482         * tests/test-remove.c (main): Likewise.
61484 2009-11-09  Eric Blake  <ebb9@byu.net>
61486         rename: detect FreeBSD bug
61487         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61488         slash on symlink.
61489         * modules/renameat-tests (Depends-on): Add filenamecat.
61490         * tests/test-rename.h (test_rename): Allow one more errno.
61491         * tests/test-renameat.c (main): Likewise.
61492         * doc/posix-functions/rename.texi (rename): Document the bug.
61494         open: detect FreeBSD bug
61495         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61496         symlink.
61497         * doc/posix-functions/open.texi (open): Document the bug.
61498         * doc/posix-functions/utimes.texi (utimes): Likewise.
61499         * tests/test-open.h (test_open): Add parameters, and test symlink
61500         handling.
61501         * tests/test-open.c (main): Adjust caller.
61502         * tests/test-fcntl-safer.c (main): Likewise.
61503         * modules/open-tests (Depends-on): Add stdbool, symlink.
61504         * modules/fcntl-safer-tests (Depends-on): Likewise.
61505         * tests/test-openat.c (main): Add test-open tests.
61507         stat: detect FreeBSD bug
61508         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61509         symlink.
61510         * doc/posix-functions/stat.texi (stat): Document the bug.
61511         * tests/test-stat.h (test_stat_func): Add argument.
61512         * tests/test-stat.c (main): Adjust caller.
61513         * tests/test-fstatat.c (main): Likewise.
61514         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61515         Reported by Jim Meyering.
61517 2009-11-09  James Youngman  <jay@gnu.org>
61519         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61520         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61522 2009-11-08  Jim Meyering  <meyering@redhat.com>
61524         utimens: remove invalid futimesat call
61525         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61526         It used the file descriptor of the target file as the DIR_FD
61527         parameter and NULL as the file name.  That caused failure with
61528         errno == EFAULT on FreeBSD-8.0-rc2
61530 2009-11-07  Eric Blake  <ebb9@byu.net>
61532         fflush, freadseek: use fseeko, not fseek
61533         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61534         (clear_ungetc_buffer): Avoid potential problems on large files.
61535         * lib/freadseek.c (freadseek): Likewise.
61536         * modules/freadseek (Depends-on): Add fseeko.
61537         * modules/fseek (configure.ac): Set a witness.
61538         * tests/test-fflush.c (main): Use fseeko.
61539         * tests/test-fpurge.c (fseek): Disable link warning.
61540         * tests/test-freadable.c (fseek): Likewise.
61541         * tests/test-freading.c (fseek): Likewise.
61542         * tests/test-fseeko.c (fseek): Likewise.
61543         * tests/test-ftell.c (fseek): Likewise.
61544         * tests/test-ftello.c (fseek): Likewise.
61545         * tests/test-fwritable.c (fseek): Likewise.
61546         * tests/test-fwriting.c (fseek): Likewise.
61548 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61550         * modules/memchr (Depends-on): Drop getpagesize dependency.
61552 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61554         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61555         Reported by Ludovic Courtès.
61556         * build-aux/pmccabe2html: Improve example usage.
61557         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61559 2009-11-06  Jim Meyering  <meyering@redhat.com>
61561         do-release-commit-and-tag: New module.
61562         Automate the release-commit and tag process.
61563         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61564         * modules/do-release-commit-and-tag: New file.
61565         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61567 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61569         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61570         because test-select.c uses inet_pton.
61572 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61574         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61575         GETADDRINFO_LIB.  Bump serial number.
61576         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61577         Suggested by Eric Blake <ebb9@byu.net>.
61579 2009-11-05  Eric Blake  <ebb9@byu.net>
61581         strtod: detect darwin bug
61582         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61583         Reported by Leo Davis.
61585         freopen-safer: new module
61586         * modules/freopen-safer: New module.
61587         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61588         * lib/freopen-safer.c (freopen_safer): New file.
61589         * lib/stdio-safer.h (freopen_safer): New declaration.
61590         * lib/stdio--.h (freopen): New override.
61591         * MODULES.html.sh (File stream based Input/Output): Mention it.
61592         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61593         freopen-safer module.
61594         * doc/posix-functions/stderr.texi (stderr): Likewise.
61595         * doc/posix-functions/stdin.texi (stdin): Likewise.
61596         * doc/posix-functions/stdout.texi (stdout): Likewise.
61597         * modules/freopen-safer-tests: New test.
61598         * tests/test-reopen-safer.c: New file.
61600 2009-11-05  Jim Meyering  <meyering@redhat.com>
61602         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61603         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61605 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61607         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61609 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61611         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61613 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61615         Fix link error.
61616         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61617         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61619 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61621         * tests/test-func.c: Also test value of __func__.
61623 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61625         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61626         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61628 2009-11-05  Bruno Haible  <bruno@clisp.org>
61630         Fix link error.
61631         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61632         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61633         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61635 2009-11-05  Bruno Haible  <bruno@clisp.org>
61637         Tests for module 'inet_pton'.
61638         * modules/inet_pton-tests: New file.
61639         * tests/test-inet_pton.c: New file.
61641 2009-11-05  Bruno Haible  <bruno@clisp.org>
61643         Tests for module 'inet_ntop'.
61644         * modules/inet_ntop-tests: New file.
61645         * tests/test-inet_ntop.c: New file.
61647 2009-11-04  Eric Blake  <ebb9@byu.net>
61649         stdlib-safer: wrap all mkstemp variants
61650         * modules/mkostemp (configure.ac): Set witness.
61651         * modules/mkostemps (configure.ac): Likewise.
61652         * modules/mkstemps (configure.ac): Likewise.
61653         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61654         (mkstemps_safer): Wrap more functions.
61655         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61656         wrapping.
61657         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61658         (mkstemps_safer): Implement the wrappers.
61660         mkstemps, mkostemps: new modules
61661         * modules/mkostemps: New module.
61662         * modules/mkstemps: Likewise.
61663         * lib/mkostemps.c (mkostemps): New file.
61664         * lib/mkstemps.c (mkstemps): Likewise.
61665         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61666         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61668         * modules/stdlib (Makefile.am): Substitute them.
61669         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61670         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61671         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61672         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61673         * MODULES.html.sh (File system functions): Mention them.
61675         tempname: resync from glibc
61676         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61677         same values for __GT_FILE as glibc.  Abort even when assertions
61678         are disabled.
61679         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61680         match its value otherwise.  Allow idempotent inclusion.
61681         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61682         * lib/mkostemp.c (mkostemp): Likewise.
61683         * lib/mkstemp.c (mkstemp): Likewise.
61684         * lib/tmpfile.c (tmpfile): Likewise.
61685         * NEWS: Document this.
61687         utimens: fix use of futimens on older Linux
61688         * lib/utimens.c (fdutimens): Use updated, rather than original,
61689         timespec to avoid bug in older Linux kernel.
61690         Reported by Simon Josefsson.
61692 2009-11-04  Bruno Haible  <bruno@clisp.org>
61694         Make num_processors more flexible and consistent.
61695         * lib/nproc.h (enum nproc_query): New type.
61696         (num_processors): Add a 'query' argument.
61697         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61698         (num_processors): Add a 'query' argument. Test the value of the
61699         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61700         mingw, count the number of CPUs available for the current process.
61701         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61702         Check for sched_getaffinity and sched_getaffinity_np.
61703         * modules/nproc (Depends-on): Add c-ctype, extensions.
61704         * NEWS: Mention the change.
61706 2009-11-03  Bruno Haible  <bruno@clisp.org>
61708         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61710 2009-11-03  Jim Meyering  <meyering@redhat.com>
61712         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61713         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61714         if it is defined.
61716 2009-11-02  Eric Blake  <ebb9@byu.net>
61718         mktime, timegm: share common declaration
61719         * lib/mktime-internal.h: New file.
61720         * lib/mktime.c: Use it rather than open-coding a declaration.
61721         * lib/timegm.c: Likewise.
61722         * modules/mktime (Files): Ship it.
61723         * modules/timegm (Files): Likewise.
61724         Suggested by Bruno Haible.
61726         test-update-copyright: update test to match script changes
61727         * tests/test-update-copyright.sh: Avoid hard-coding perl
61728         location.  Don't update *.bak created by earlier runs.
61730 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61731             Simon Josefsson  <simon@josefsson.org>
61732             Bruno Haible  <bruno@clisp.org>
61734         Fix link error on Solaris 8.
61735         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61736         also in libnsl. Define also INET_PTON_LIB.
61737         * modules/inet_pton (Link): New section.
61739 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61740             Bruno Haible  <bruno@clisp.org>
61742         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61743         * modules/inet_ntop (Link): New section.
61744         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61746 2009-11-02  Eric Blake  <ebb9@byu.net>
61748         maint: avoid compiler warnings in m4 macros
61749         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61750         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61752 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61754         * m4/pmccabe2html.m4: Remove file.
61755         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61756         function.  Change maintainer.
61757         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61758         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61759         Courtès).
61761 2009-10-31  Eric Blake  <ebb9@byu.net>
61763         fseeko: fix m4 regression
61764         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61765         regression from 2009-10-27.
61766         Reported by Ralf Wildenhues.
61768 2009-10-31  Jim Meyering  <meyering@redhat.com>
61770         inttostr: aesthetics and improved (compile-time) safety
61771         Define inttype_is_signed rather than inttype_is_unsigned,
61772         since the sole use is via "#if inttype_is_signed".
61773         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61774         inttype_is_unsigned.
61775         * lib/offtostr.c (inttype_is_signed): Likewise.
61776         * lib/uinttostr.c (inttype_is_signed): Likewise.
61777         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61778         * lib/inttostr.c (inttostr): Use verify to cross-check the
61779         inttype_is_signed value and the signedness of the actual type.
61780         * modules/inttostr (Depends-on): Add verify.
61782 2009-10-30  Eric Blake  <ebb9@byu.net>
61784         build: avoid compiler warnings
61785         * lib/fchmodat.c (lchmod): Mark unused variables.
61786         * lib/getopt.c (_getopt_initialize): Likewise.
61787         * lib/mktime.c (__mktime_internal): Provide prototype.
61788         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61789         older gcc that do not understand #pragma GCC diagnostic.
61790         * lib/uinttostr.c (inttype_is_unsigned): Define.
61791         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61793 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61795         stat: fix compilation on AIX
61796         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61797         only see struct stat64.
61799 2009-10-30  Eric Blake  <ebb9@byu.net>
61801         exclude: make more robust
61802         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61803         rather than masking a coding bug.
61804         Suggested by Bruno Haible.
61806 2009-10-30  Jim Meyering  <meyering@redhat.com>
61808         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61809         Rather than putting #!/usr/bin/perl on the first line,
61810         start with a variant of what's recommended by "man perlrun" that
61811         invokes the first "perl" program from your shell's search path.
61812         * build-aux/gitlog-to-changelog: Replace #!... as above.
61813         Add a "Local Variables" perl mode setting.
61814         Prompted by a patch from Ludovic Courtès.
61815         Improved by Eric Blake.
61816         * build-aux/useless-if-before-free: Likewise.
61817         * build-aux/announce-gen: Likewise.
61818         * build-aux/update-copyright: Likewise.
61820 2009-10-29  Eric Blake  <ebb9@byu.net>
61822         filenamecat-lgpl: adjust clients
61823         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61824         filenamecat.
61825         * modules/renameat (Depends-on): Likewise.
61827         filenamecat: split into filenamecat-lgpl
61828         * modules/filenamecat-lgpl: New module.
61829         * modules/filenamecat (Files): Move library-safe files into
61830         filenamecat-lgpl.
61831         (Depends-on): Add filenamecat-lgpl.
61832         (configure.ac): Declare witness.
61833         * lib/filenamecat.h (file_name_concat): Only declare when using
61834         GPL module.
61835         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61836         Move...
61837         * lib/filenamecat-lgpl.c: ...into new file.
61838         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61839         (gl_FILE_NAME_CONCAT): Use it.
61840         * MODULES.html.sh (File system functions): Mention new module.
61842         argp: avoid memory leak
61843         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61844         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61845         base_name, since the latter malloc()s and can call exit().
61846         Leak introduced 2006-07-03.
61848         dirname-lgpl: adjust clients that don't need full dirname
61849         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61850         * modules/filenamecat (Depends-on): Likewise.
61851         * modules/linkat (Depends-on): Likewise.
61852         * modules/mkancesdirs (Depends-on): Likewise.
61853         * modules/mkdir (Depends-on): Likewise.
61854         * modules/openat (Depends-on): Likewise.
61855         * modules/savewd (Depends-on): Likewise.
61856         * modules/rename (Depends-on): Likewise.
61857         (License): Relax license.
61858         * modules/mkdir-tests (Depends-on): Drop progname.
61859         (Makefile.am): Delete unneeded LDADD.
61860         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61862         dirname: split into dirname-lgpl
61863         * modules/dirname-lgpl: New module.
61864         * modules/dirname (Files): Move library-safe files into
61865         dirname-lgpl.
61866         (Depends-on): Add dirname-lgpl.
61867         (configure.ac): Declare witness.
61868         * modules/double-slash-root (License): Relax license.
61869         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61870         module.
61871         * lib/dirname.c (dir_len, mdir_name): Move...
61872         * lib/dirname-lgpl.c: ...into new file.
61873         * lib/basename.c (last_component, base_len): Move...
61874         * lib/basename-lgpl.c: ...into new file.
61875         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61876         (gl_DIRNAME): Use it.
61877         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61878         Mention new module.
61879         * modules/dirname-tests (Depends-on): Add progname.
61880         * tests/test-dirname.c (program_name): Delete.
61882         mkdir: make safe for libraries
61883         * modules/mkdir (Depends-on): Drop xalloc.
61884         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61885         exit.
61887         tests: avoid some compiler warnings
61888         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61889         literals.
61890         * tests/test-memchr.c (main): Avoid type mismatch.
61891         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61892         * tests/test-base64.c (main): Likewise.
61893         * tests/test-getdelim.c (main): Likewise.
61894         * tests/test-gethostname.c (main): Likewise.
61895         * tests/test-getline.c (main): Likewise.
61896         * tests/test-netinet_in.c (main): Likewise.
61897         * tests/test-select.c (open_server_socket, main): Likewise.
61898         * tests/test-select-stdin.c (main): Likewise.
61899         * tests/test-sockets.c (main): Likewise.
61900         * tests/test-strsignal.c (main): Likewise.
61901         * tests/test-sys_select.c (main): Likewise.
61902         * tests/test-sys_socket.c (main): Likewise.
61903         * tests/test-u64.c (main): Likewise.
61904         * tests/test-xfprintf-posix.c (main): Likewise.
61905         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61907         sockets: avoid compiler warning
61908         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61910         maint: detect usage(1) and other suspicious exits
61911         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61913 2009-10-29  Jim Meyering  <meyering@redhat.com>
61915         timespec: long-to-int truncation could make timespec_cmp malfunction
61916         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61917         a multiple of 2^32 nanoseconds as no difference.
61919 2009-10-28  Jim Meyering  <meyering@redhat.com>
61921         fprintftime: wrap macro code argument in "do {...} while(0)"
61922         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61923         cpy macro must be a statement that can be followed by a semicolon.
61924         Now that the else clause contains a comment and is hence longer
61925         than one line, I require curly braces.  That in turn requires
61926         that we wrap this code block in the standard do...while(0).
61928         fprintftime: remove stray semicolon from previous change
61929         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61931         fprintftime: avoid a warning about ignored fwrite return value
61932         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61933         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61934         that is unsafe.
61935         * modules/fprintftime (Depends-on): Add ignore-value.
61937         exclude: avoid an unwarranted warning
61938         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61940 2009-10-27  Eric Blake  <ebb9@byu.net>
61942         fseek: avoid compilation failure when fflush is replaced
61943         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61944         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61945         module is in use.
61946         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61947         module is not in use; since REPLACE_FSEEK worked otherwise.
61948         (GNULIB_FTELLO): Likewise for ftell.
61949         Reported by Ian Beckwith and others.
61951 2009-10-27  Bruno Haible  <bruno@clisp.org>
61953         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61954         Reported by Jim Meyering.
61956 2009-10-27  Jim Meyering  <jim@meyering.net>
61957             Bruno Haible  <bruno@clisp.org>
61959         Avoid warning despite dropping the return value of fwrite.
61960         * lib/unicodeio.c: Include ignore-value.h.
61961         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61962         * modules/unicodeio (Depends-on): Add ignore-value.
61964 2009-10-26  Eric Blake  <ebb9@byu.net>
61966         areadlinkat: fix fallback path
61967         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61968         pointer and zero.
61970 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61972         Use a better IO block size for modern systems
61973         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61974         * lib/md2.c: Likewise.
61975         * lib/md4.c: Likewise.
61976         * lib/md5.c: Likewise.
61977         * lib/sha1.c: Likewise.
61978         * lib/sha256.c: Likewise.
61979         * lib/sha512.c: Likewise.
61981 2009-10-22  Eric Blake  <ebb9@byu.net>
61983         tests: avoid several compiler warnings
61984         * tests/test-getcwd.c (main): Avoid buffer underflow.
61985         * tests/test-getdate.c (main): String literals are not safe with
61986         putenv, so use setenv.  Declare unused argument.
61987         * modules/getdate-tests (Depends-on): Add setenv.
61988         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61989         problems with string literals in char *.
61990         * tests/test-hash.c (main): Avoid shadowing declaration.
61991         (insert_new): Treat string literals as char const *.
61992         * tests/test-getopt.h (test_getopt): Likewise.
61993         (getopt_loop): Alter types to minimize casting elsewhere.
61994         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61995         (test_getopt_long_posix): Likewise.
61996         (do_getopt_long): Add wrapper to minimize casting.
61997         * tests/test-atexit.c (clear_temp_file): Use void.
61998         * tests/test-areadlink-with-size.c (main): Declare unused
61999         arguments.
62000         * tests/test-areadlink.c (main): Likewise.
62001         * tests/test-areadlinkat-with-size.c (main): Likewise.
62002         * tests/test-areadlinkat.c (main): Likewise.
62003         * tests/test-canonicalize-lgpl.c (main): Likewise.
62004         * tests/test-canonicalize.c (main): Likewise.
62005         * tests/test-dirent-safer.c (main): Likewise.
62006         * tests/test-dirname.c (main): Likewise.
62007         * tests/test-dup2.c (main): Likewise.
62008         * tests/test-fchdir.c (main): Likewise.
62009         * tests/test-fcntl-h.c (main): Likewise.
62010         * tests/test-fcntl-safer.c (main): Likewise.
62011         * tests/test-fdopendir.c (main): Likewise.
62012         * tests/test-fdutimensat.c (main): Likewise.
62013         * tests/test-fflush.c (main): Likewise.
62014         * tests/test-filenamecat.c (main): Likewise.
62015         * tests/test-filevercmp.c (main): Likewise.
62016         * tests/test-fopen-safer.c (main): Likewise.
62017         * tests/test-fopen.c (main): Likewise.
62018         * tests/test-fpending.c (main): Likewise.
62019         * tests/test-fpurge.c (main): Likewise.
62020         * tests/test-freading.c (main): Likewise.
62021         * tests/test-fstatat.c (main): Likewise.
62022         * tests/test-fsync.c (main): Likewise.
62023         * tests/test-futimens.c (main): Likewise.
62024         * tests/test-getndelim2.c (main): Likewise.
62025         * tests/test-gettimeofday.c (main): Likewise.
62026         * tests/test-getopt.c (main): Likewise.
62027         * tests/test-i-ring.c (main): Likewise.
62028         * tests/test-inttypes.c (main): Likewise.
62029         * tests/test-link.c (main): Likewise.
62030         * tests/test-lstat.c (main): Likewise.
62031         * tests/test-math.c (main): Likewise.
62032         * tests/test-md5.c (main): Likewise.
62033         * tests/test-memchr2.c (main): Likewise.
62034         * tests/test-memrchr.c (main): Likewise.
62035         * tests/test-mkdir.c (main): Likewise.
62036         * tests/test-mkdirat.c (main): Likewise.
62037         * tests/test-mkfifoat.c (main): Likewise.
62038         * tests/test-open.c (main): Likewise.
62039         * tests/test-openat-safer.c (main): Likewise.
62040         * tests/test-openat.c (main): Likewise.
62041         * tests/test-quotearg.c (main): Likewise.
62042         * tests/test-rawmemchr.c (main): Likewise.
62043         * tests/test-readlink.c (main): Likewise.
62044         * tests/test-remove.c (main): Likewise.
62045         * tests/test-rename.c (main): Likewise.
62046         * tests/test-renameat.c (main): Likewise.
62047         * tests/test-rmdir.c (main): Likewise.
62048         * tests/test-sha1.c (main): Likewise.
62049         * tests/test-signal.c (main): Likewise.
62050         * tests/test-sigaction.c (main): Likewise.
62051         * tests/test-stat.c (main): Likewise.
62052         * tests/test-stat-time.c (main): Likewise.
62053         * tests/test-stddef.c (main): Likewise.
62054         * tests/test-stdint.c (main): Likewise.
62055         * tests/test-stdio.c (main): Likewise.
62056         * tests/test-stdlib.c (main): Likewise.
62057         * tests/test-strchrnul.c (main): Likewise.
62058         * tests/test-strerror.c (main): Likewise.
62059         * tests/test-string.c (main): Likewise.
62060         * tests/test-strtod.c (main): Likewise.
62061         * tests/test-strverscmp.c (main): Likewise.
62062         * tests/test-symlink.c (main): Likewise.
62063         * tests/test-symlinkat.c (main): Likewise.
62064         * tests/test-sys_stat.c (main): Likewise.
62065         * tests/test-sys_time.c (main): Likewise.
62066         * tests/test-time.c (main): Likewise.
62067         * tests/test-unistd.c (main): Likewise.
62068         * tests/test-unlink.c (main): Likewise.
62069         * tests/test-unlinkat.c (main): Likewise.
62070         * tests/test-utimens.c (main): Likewise.
62071         * tests/test-utimensat.c (main): Likewise.
62072         * tests/test-version-etc.c (main): Likewise.
62073         * tests/test-wchar.c (main): Likewise.
62074         * tests/test-wctype.c (main): Likewise.
62075         * tests/test-xprintf-posix.c (main): Likewise.
62076         * tests/test-posixtm.c (main): Likewise.
62077         (STREQ): Delete unused macro.
62078         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
62079         shadowed variables.
62080         * tests/test-memchr.c (main): Likewise.
62082 2009-10-21  Eric Blake  <ebb9@byu.net>
62084         areadlinkat: avoid failure on older glibc
62085         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
62086         rather than mis-comparing 0 against FUNC_RESULT of char*.
62088 2009-10-21  Bruno Haible  <bruno@clisp.org>
62090         * modules/stpncpy (License): Relicense under LGPLv2+.
62091         Reported by David Lutterkort <lutter@redhat.com>.
62093 2009-10-20  Eric Blake  <ebb9@byu.net>
62095         utimensat: work around Solaris 9 bug
62096         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
62097         has trailing slash bugs.
62098         * tests/test-lutimens.h (test_lutimens): Enhance test.
62099         * tests/test-utimens.h (test_utimens): Likewise.
62100         * doc/posix-functions/utime.texi (utime): Enhance documentation.
62101         * doc/posix-functions/utimes.texi (utimes): Likewise.
62102         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62103         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
62104         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
62105         * doc/posix-functions/futimens.texi (futimens): Likewise.
62107         fdutimensat: new module
62108         * modules/fdutimensat: New file.
62109         * lib/fdutimensat.c (fdutimensat): Likewise.
62110         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
62111         * MODULES.html.sh (File system functions): Mention module.
62112         * modules/fdutimensat-tests: New test.
62113         * tests/test-fdutimensat.c: Likewise.
62115         doc: regenerate INSTALL
62116         * doc/INSTALL: Reflect recent autoconf update.
62117         * doc/INSTALL.ISO: Likewise.
62118         * doc/INSTALL.UTF-8: Likewise.
62120 2009-10-20  Pádraig Brady  <P@draigBrady.com>
62122         acl: warn if ACL support is not detected
62123         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
62125 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
62127         * lib/nproc.h: Add extern "C" block for C++.
62129 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
62130             Bruno Haible  <bruno@clisp.org>
62132         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
62133         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
62134         * doc/posix-functions/isalpha.texi: Likewise.
62135         * doc/posix-functions/isblank.texi: Likewise.
62136         * doc/posix-functions/iscntrl.texi: Likewise.
62137         * doc/posix-functions/isdigit.texi: Likewise.
62138         * doc/posix-functions/isgraph.texi: Likewise.
62139         * doc/posix-functions/islower.texi: Likewise.
62140         * doc/posix-functions/isprint.texi: Likewise.
62141         * doc/posix-functions/ispunct.texi: Likewise.
62142         * doc/posix-functions/isspace.texi: Likewise.
62143         * doc/posix-functions/isupper.texi: Likewise.
62144         * doc/posix-functions/isxdigit.texi: Likewise.
62146 2009-10-18  Bruno Haible  <bruno@clisp.org>
62148         Tests for module 'isblank'.
62149         * modules/isblank-tests: New file.
62150         * tests/test-isblank.c: New file.
62152         New module 'isblank'.
62153         * lib/isblank.c: New file.
62154         * m4/isblank.m4: New file.
62155         * modules/isblank: New file.
62156         * doc/posix-functions/isblank.texi: Mention the new module.
62158 2009-10-18  Bruno Haible  <bruno@clisp.org>
62160         New module 'ctype'.
62161         * lib/ctype.in.h: New file.
62162         * m4/ctype.m4: New file.
62163         * modules/ctype: New file.
62164         * doc/posix-headers/ctype.texi: Mention the new module.
62166 2009-10-18  Jim Meyering  <meyering@redhat.com>
62168         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
62169         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
62170         right after its initialization, rather than farther down.
62171         Keeping these in close proximity makes it easier to ensure
62172         that each such variable is initialized.  E.g.,
62174             LIB_CLOCK_GETTIME=
62175             AC_SUBST([LIB_CLOCK_GETTIME])
62177         This change also increments these serial numbers.
62178         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
62179         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62180         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62182 2009-10-18  Bruno Haible  <bruno@clisp.org>
62184         Don't let environment variables perturb build.
62185         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
62186         (gl_PREREQ_GETHRXTIME): ... not here.
62188 2009-10-18  Bruno Haible  <bruno@clisp.org>
62190         Avoid symlink attack in localcharset module.
62191         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
62192         (O_NOFOLLOW): Define fallback.
62193         (get_charset_aliases): Don't open the file if it is a symbolic link.
62194         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
62195         gl_FCNTL_H.
62196         (gl_FCNTL_H): Require it.
62197         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
62198         * modules/localcharset (Files): Add m4/fcntl_h.m4.
62199         Reported by Fergal Glynn <fglynn@veracode.com>.
62201 2009-10-18  Bruno Haible  <bruno@clisp.org>
62203         Implement nproc for mingw.
62204         * lib/nproc.c: Include <windows.h>
62205         (num_processors): On native Windows platforms, try GetSystemInfo.
62207 2009-10-18  Bruno Haible  <bruno@clisp.org>
62209         Implement nproc for IRIX.
62210         * lib/nproc.c: Include <sys/sysmp.h>.
62211         (num_processors): On IRIX systems, try sysmp.
62212         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
62214 2009-10-18  Bruno Haible  <bruno@clisp.org>
62216         Implement nproc for HP-UX.
62217         * lib/nproc.c: Include <sys/pstat.h>
62218         (num_processors): On HP-UX systems, try pstat_getdynamic.
62219         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
62220         pstat_getdynamic.
62222 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
62223             Bruno Haible  <bruno@clisp.org>
62225         Implement nproc for NetBSD, OpenBSD.
62226         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
62227         (ARRAY_SIZE): New macro.
62228         (num_processors): On BSD systems, try sysctl of HW_NCPU.
62229         * m4/nproc.m4: New file.
62230         * modules/nproc (Files): Add m4/nproc.m4.
62231         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
62232         (Makefile.am): Instead, augment lib_SOURCES.
62234 2009-10-18  Bruno Haible  <bruno@clisp.org>
62236         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
62237         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
62238         sys/param.h.
62240 2009-10-16  Eric Blake  <ebb9@byu.net>
62242         utimensat: new module
62243         * modules/utimensat: New file.
62244         * lib/utimensat.c (utimensat): Likewise.
62245         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62246         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
62247         so we can work around Linux bugs.
62248         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62249         * modules/sys_stat (Makefile.am): Substitute them.
62250         * lib/sys_stat.in.h (utimensat): Declare it.
62251         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62252         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62253         * modules/utimensat-tests: New test.
62254         * tests/test-utimensat.c: Likewise.
62256         utimens: let lutimens work on non-symlinks
62257         * lib/utimens.c (lutimens): Fall back to utimens rather than
62258         failing with ENOSYS, when file is not a symlink.
62259         (utimens): Reduce redirection.
62260         * tests/test-lutimens.h (test_lutimens): Update test to cover
62261         non-symlinks.
62262         * tests/test-utimens.h (test_utimens): Update test to cover
62263         symlinks.
62264         * tests/test-utimens.c (main): Update caller.
62266         utimens: cache whether utimensat syscall works
62267         * lib/utimens.c (utimensat_works_really): New cache variable.
62268         (fdutimens, lutimens): Use it to avoid failing syscall.
62270         test-stat-time, test-utimens: improve portability
62271         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
62272         ext4 on alpha, and for cygwin.
62273         * tests/test-utimens-common.h: New file.
62274         (nap): Factor delays into single function.
62275         * tests/test-lutimens.h (test_lutimens): Use new header.
62276         * tests/test-futimens.h (test_futimens): Likewise.
62277         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
62278         timestamps to occur from same machine, as was done previously for
62279         test_utimens.
62280         * modules/utimens-tests (Files): Ship new file.
62281         * modules/futimens-tests (Files): Likewise.
62282         Reported in part by Jim Meyering.
62284         sys_stat: sort replacement declarations
62285         * lib/sys_stat.in.h: Sort declarations.
62286         * lib/futimens.c (futimens): Fix typo.
62288 2009-10-15  Jim Meyering  <meyering@redhat.com>
62290         don't let environment settings perturb build
62291         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
62292         could cause a configure-time and/or build-time malfunction.
62293         Typically, a configure-time function-in-library test is performed
62294         via code like this:
62296           LIB_VAR=
62297           AC_SUBST([LIB_VAR])
62298           prefix_saved_LIBS=$LIBS
62299             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
62300                        [test "$ac_cv_search_FUNC" = "none required" ||
62301                         LIB_VAR=$ac_cv_search_FUNC])
62302           LIBS=$prefix_saved_LIBS
62304         However, in each of the files affected by this change, the LIB_VAR=
62305         initialization was omitted.  Thus, when set in the environment, its
62306         value would propagate into generated Makefiles when FUNC is not found
62307         in LIB_NAME.
62308         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
62309         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62310         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62312 2009-10-14  Eric Blake  <ebb9@byu.net>
62314         fchdir: avoid infinite recursion in mingw
62315         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
62316         recursing.
62318         test-stat-time: port to mingw
62319         * tests/test-stat-time.c (force_unlink): Return a value.
62320         (test_ctime) [W32]: Fix compilation error.
62321         (nap): Don't call usleep with too large an argument.  Use
62322         force_unlink.
62323         * doc/pastposix-functions/usleep.texi (usleep): Document the
62324         portability issue.
62326 2009-10-13  Jim Meyering  <meyering@redhat.com>
62328         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
62329         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
62330         * modules/pipe-filter-ii: Likewise.
62331         * modules/sys_socket-tests: Likewise.
62332         * modules/tsearch-tests: Likewise.
62333         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
62334         (check): Depend on it.
62336 2009-10-12  Eric Blake  <ebb9@byu.net>
62338         utimens-tests: port to NFS file systems
62339         * tests/test-utimens.h (test_utimens): Refactor utimecmp
62340         comparisons to avoid spurious failures from timestamp drift
62341         between NFS machines.
62343 2009-10-12  Eric Blake  <ebb9@byu.net>
62345         stat-time-tests: minor cleanups
62346         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
62347         * tests/test-stat-time.c (nap): Separate assignment from call.
62348         Suggested by Paolo Bonzini and Bruno Haible.
62350         sys_stat: guarantee struct timespec
62351         * lib/sys_stat.in.h (includes): Always include <time.h>
62352         * modules/sys_stat (Depends-on): Add time.
62353         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
62354         mode_t permission values.
62355         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
62356         get at subsecond timestamps.
62358 2009-10-10  Eric Blake  <ebb9@byu.net>
62360         futimens: new module
62361         * modules/futimens: New file.
62362         * lib/futimens.c (futimens): Likewise.
62363         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
62364         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
62365         we can work around Linux bugs.
62366         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62367         * modules/sys_stat (Makefile.am): Substitute them.
62368         * lib/sys_stat.in.h (futimens): Declare it.
62369         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62370         * doc/posix-functions/futimens.texi (futimens): Likewise.
62371         * modules/futimens-tests: New test.
62372         * tests/test-futimens.c: Likewise.
62374         utimens: introduce fdutimens
62375         * lib/utimens.h (fdutimens): New prototype.
62376         * lib/utimens.c (gl_futimens): Move guts...
62377         (fdutimens): ...to new interface.
62378         * tests/test-utimens.c (do_fdutimens): Use it.
62380         utimens: add UTIME_NOW and UTIME_OMIT support
62381         * lib/utimens.c (validate_timespec, update_timespec): New helper
62382         functions.
62383         (gl_futimens, lutimens): Use them.
62384         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
62385         stdbool, sys_stat.
62386         (Link): Mention resulting library dependency.
62387         * modules/utimecmp (Link): Likewise.
62388         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
62389         (Makefile.am): Pick up library dependency.
62390         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
62391         definition.
62392         * tests/test-sys_stat.c: Test the definitions.
62393         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
62394         * NEWS: Document library dependency.
62396         utimecmp: support symlink timestamps
62397         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
62398         hashing when possible.  Use pathconf when available.
62399         (SYSCALL_RESOLUTION): Recognize tighter resolution.
62400         * modules/utimecmp (Depends-on): Add lstat.
62402         utimens: add lutimens interface
62403         * lib/utimens.c (lutimens): New function.
62404         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
62405         * lib/utimens.h (lutimens): Declare new interface.
62406         * tests/test-utimens.c (main): Enhance test.
62407         * tests/test-lutimens.h (test_lutimens): New file.
62408         * modules/utimens-tests (Files): Distribute it.
62409         (Depends-on): Add symlink.
62410         (configure.ac): Check for usleep.
62412         utimens: validate futimens usage
62413         * lib/utimens.c (gl_futimens): Require valid fd up front, using
62414         fewer syscalls on failure later on.  Avoid compiler warning on
62415         mingw.
62416         * modules/utimens (Depends-on): Add dup2.
62418         utimens: add test
62419         * modules/utimens-tests: New test.
62420         * tests/test-utimens.h: New file.
62421         * tests/test-futimens.h: Likewise.
62422         * tests/test-utimens.c: Likewise.
62424         doc: mention timestamp portability issues
62425         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
62426         instead.
62427         * doc/posix-functions/utime.texi (utime): Likewise.
62428         * doc/posix-functions/utimes.texi (utimes): Likewise.
62429         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
62430         instead.
62431         * doc/posix-functions/futimens.texi (futimens): Mention utimens
62432         module.
62433         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62434         Mention weakness with symlink timestamps.
62435         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
62436         to utimensat/futimens instead.
62437         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
62439         test-dup2: enhance test
62440         * tests/test-dup2.c (main): Also check AT_FDCWD.
62442         test-stat-time: avoid more spurious failures
62443         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
62444         xfs; and avoid race if the two timestamps cross quantization edge.
62446         relocatable: prefer 'file system' over 'filesystem'
62447         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
62448         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
62449         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
62450         * doc/relocatable.texi (Enabling Relocatability): Likewise.
62451         * lib/relocatable.c (compute_curr_prefix): Likewise.
62453 2009-10-10  Jim Meyering  <meyering@redhat.com>
62455         stat-time-tests: check for the usleep function
62456         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
62458 2009-10-10  Bruno Haible  <bruno@clisp.org>
62460         * modules/xnanosleep: Put the Link section after the Include section.
62462 2009-10-09  Eric Blake  <ebb9@byu.net>
62464         dup2: work around FreeBSD 6.1 bug
62465         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
62466         * doc/posix-functions/dup2.texi (dup2): Document it.
62467         Reported by Nelson H. F. Beebe and Jim Meyering.
62469         test-stat-time: port to buggy NFS clients
62470         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62471         (test_ctime): Also skip test if mtime and ctime are skewed.
62473         maint: prefer 'file system' over 'filesystem'
62474         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62475         * doc/posix-functions/lstat.texi (lstat): Likewise.
62476         * lib/file-has-acl.c (file_has_acl): Likewise.
62477         * lib/fwriteerror.c [TEST]: Likewise.
62478         * tests/test-areadlink.h (test_areadlink): Likewise.
62479         * tests/test-areadlinkat-with-size.c (main): Likewise.
62480         * tests/test-areadlinkat.c (main): Likewise.
62481         * tests/test-canonicalize-lgpl.c (main): Likewise.
62482         * tests/test-canonicalize.c (main): Likewise.
62483         * tests/test-fstatat.c (main): Likewise.
62484         * tests/test-linkat.c (main): Likewise.
62485         * tests/test-lstat.h (test_lstat_func): Likewise.
62486         * tests/test-mkdir.h (test_mkdir): Likewise.
62487         * tests/test-readlink.h (test_readlink): Likewise.
62488         * tests/test-remove.c (main): Likewise.
62489         * tests/test-rename.h (test_rename): Likewise.
62490         * tests/test-renameat.c (main): Likewise.
62491         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62492         * tests/test-symlink.h (test_symlink): Likewise.
62493         * tests/test-symlinkat.c (main): Likewise.
62494         * tests/test-unlink.h (test_unlink_func): Likewise.
62495         * tests/test-unlinkat.c (main): Likewise.
62497         maint: make realtime library usage explicit
62498         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62499         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62500         * modules/settime (Link): Likewise.
62501         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62503         test-stat-time: speed up execution
62504         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62505         warning on mingw.
62506         (nap): New helper function.
62507         (prepare_test): Use it to reduce sleep time.
62508         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62509         execution.
62510         * modules/stat-time-tests (configure.ac): Check for usleep.
62512 2009-10-09  Jim Meyering  <meyering@redhat.com>
62514         selinux-h: always use getfilecon wrappers
62515         * lib/getfilecon.c: New file.
62516         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62517         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62518         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62519         (fgetfilecon): Provide a stub.
62520         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62521         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62522         file unconditionally.
62523         When <selinux/selinux.h> is found, arrange to use wrappers.
62524         * modules/selinux-h (Files): Add getfilecon.c.
62525         (Makefile.am): Substitute include-next-related bits
62526         into the now-always-generated selinux/selinux.h file.
62527         * doc/glibc-functions/lgetfilecon.texi: New file.
62528         * doc/glibc-functions/fgetfilecon.texi: New file.
62529         * doc/glibc-functions/getfilecon.texi: New file.
62530         * doc/glibc-functions/getfilecon-desc.texi: New file.
62531         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62532         which to pull in the new files.
62533         * MODULES.html.sh (Misc): Add selinux-h.
62535 2009-10-08  Jim Meyering  <meyering@redhat.com>
62537         unistd: fix comment typo
62538         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62540 2009-10-08  Eric Blake  <ebb9@byu.net>
62542         areadlink: use SIZE_MAX consistently
62543         * modules/areadlink (Depends-on): Add stdint.
62544         * modules/areadlink-with-size (Depends-on): Likewise.
62545         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62546         gives NULL; drop sys/types, since unistd gives size_t; and add
62547         stdint for SIZE_MAX.
62548         (SIZE_MAX): Rely on headers.
62549         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62550         and add stdint.
62551         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62552         (SIZE_MAX): Likewise.
62553         (INITIAL_BUF_SIZE): Turn into enum.
62554         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62556 2009-10-08  Jim Meyering  <meyering@redhat.com>
62558         areadlinkat: avoid compilation failure
62559         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62560         Fix typo in comment.
62562 2009-10-07  Eric Blake  <ebb9@byu.net>
62564         areadlinkat-with-size: new module
62565         * modules/areadlinkat-with-size: New module.
62566         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62567         * lib/areadlink.h (areadlinkat): Declare it.
62568         * MODULES.html.sh (File system functions): Mention it.
62569         * modules/areadlinkat-with-size-tests: New test.
62570         * tests/test-areadlinkat-with-size.c: New file.
62572         xreadlinkat: new module
62573         * modules/xreadlinkat: New module.
62574         * lib/xreadlinkat.c (xreadlinkat): New file.
62575         * lib/xreadlink.h (xreadlinkat): Declare it.
62576         * MODULES.html.sh (File system functions): Mention it.
62578         areadlinkat: new module
62579         * lib/at-func.c (FUNC_FAIL): New define.
62580         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62581         * modules/areadlinkat: New module.
62582         * lib/linkat.c (areadlinkat): Move...
62583         * lib/areadlinkat.c (areadlinkat): ...to new file.
62584         * lib/areadlink.h (areadlinkat): Declare it.
62585         * modules/linkat (Depends-on): Add areadlinkat.
62586         * MODULES.html.sh (File system functions): Mention it.
62587         * modules/areadlinkat-tests: New test.
62588         * tests/test-areadlinkat.c: New file.
62590         areadlink, areadlink-with-size: add tests
62591         * modules/areadlink-tests: New test.
62592         * modules/areadlink-with-size-tests: Likewise.
62593         * tests/test-areadlink.h: New file.
62594         * tests/test-areadlink.c: Likewise.
62595         * tests/test-areadlink-with-size.c: Likewise.
62597         maint: minor cleanups
62598         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62599         _UNUSED_PARAMETER_ instead.
62600         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62601         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62602         * modules/linkat-tests (Files): Distribute test-link.h.
62604         openat, utimens: whitespace cleanup
62605         * lib/openat.c: Prefer space throughout, rather than mix of 8
62606         spaces vs. tabs.
62607         * lib/at-func.c: Likewise.
62608         * lib/utimens.c: Likewise.
62610         openat: avoid using wrong fd
62611         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62612         working directory chooses same fd.
62613         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62615         mkdir, mkdirat: fix cygwin 1.5.x bug
62616         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62617         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62618         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62619         bug.
62620         (gl_PREREQ_MKDIR): Delete unused macro.
62621         * modules/mkdir (Files): Track file rename.
62622         (configure.ac): Update macro name.
62623         * modules/openat (Depends-on): Add mkdir.
62624         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62626         mkdir, mkdirat: add tests
62627         * modules/mkdir-tests: New test.
62628         * tests/test-mkdir.h: New file.
62629         * tests/test-mkdir.c: Likewise.
62630         * tests/test-mkdirat.c: Likewise.
62631         * modules/openat-tests (Files): Add new files.
62632         (Makefile.am): Run new test.
62634 2009-10-06  Eric Blake  <ebb9@byu.net>
62636         doc: tweak *at function documentation
62637         * doc/posix-functions/faccessat.texi (faccessat): Mention
62638         known issue with replacement.
62639         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62640         * doc/posix-functions/linkat.texi (linkat): Likewise.
62641         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62642         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62643         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62644         * doc/posix-functions/renameat.texi (renameat): Likewise.
62645         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62647         openat: fix GNU/Hurd bug in unlinkat
62648         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62649         broken.
62650         * doc/posix-functions/unlink.texi (unlink): Document this.
62651         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62653         fdopendir: fix GNU/Hurd bug
62654         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62655         allowing non-directory fds.
62656         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62657         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62658         * modules/dirent (Makefile.am): Substitute it.
62659         * lib/dirent.in.h (fdopendir): Declare replacement.
62660         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62661         * tests/test-fdopendir.c (main): Test something other than
62662         /dev/null, since on Hurd that behaves like a directory.
62664         test-symlink: port to GNU/Hurd
62665         * tests/test-symlink.h (test_symlink): Relax expected errno.
62667         doc: tweak more cygwin information
62668         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62669         now compatible with glibc.
62670         * doc/posix-functions/getopt.texi (getopt): Likewise.
62672         getopt-gnu: add another test
62673         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62674         guarantee behavior relied on by m4.
62675         * tests/test-getopt.c (main): Use it.
62676         * modules/getopt-posix-tests (Depends-on): Add setenv.
62677         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62679         getopt: fix compilation on darwin
62680         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62681         include.
62682         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62683         Reported by Ludovic Courtès.
62685 2009-10-06  Bruno Haible  <bruno@clisp.org>
62687         * modules/size_max (Description): Discourage its use.
62688         Reported by Simon Josefsson.
62690 2009-10-06  Jim Meyering  <meyering@redhat.com>
62692         linkat: avoid compilation failure
62693         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62695 2009-10-05  Eric Blake  <ebb9@byu.net>
62697         linkat: support Linux 2.6.17
62698         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62699         linkat on Linux, but allow cache variable override.
62700         * lib/linkat.c (rpl_linkat): Define override.
62701         * modules/linkat (Depends-on): Add symlinkat.
62702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62703         * modules/unistd (Makefile.am): Substitute it.
62704         * lib/unistd.in.h (linkat): Declare replacement.
62705         Reported by Pádraig Brady.
62707         quotearg: port test to systems with C.UTF-8 locale
62708         * tests/test-quotearg.c (struct result_strings): Add another
62709         member, differentiating between C.ASCII and C.UTF-8 handling.
62710         (compare_strings): Add parameter.
62711         (main): Adjust all callers.
62713         getopt: avoid clash with FreeBSD _getopt_internal
62714         * lib/getopt.in.h (_getopt_internal): Override the name.
62715         * lib/getopt_int.h (includes): Pick up any overrides.
62716         Reported by Reuben Thomas.
62718         hash: allow C89 compilation
62719         * lib/hash.c (check_tuning): Move declaration before statement.
62720         Reported by Reuben Thomas.
62722 2009-10-05  Karl Berry  <karl@gnu.org>
62724         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62726 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62727             Bruno Haible  <bruno@clisp.org>
62729         * lib/uname.c (uname): Use a table-driven algorithm to compute
62730         Windows NT versions.
62732 2009-10-04  Bruno Haible  <bruno@clisp.org>
62734         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62735         program_invocation_short_name.
62736         * modules/progname (configure.ac): Test for presence of
62737         program_invocation_short_name.
62738         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62740 2009-10-04  Bruno Haible  <bruno@clisp.org>
62742         * lib/progname.c (set_program_name): Fix comment.
62743         Reported by Jim Meyering.
62745 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62746             Bruno Haible  <bruno@clisp.org>
62748         * lib/uname.c: Include <string.h>.
62749         (uname): Do only one call to GetVersionEx in the common case.
62751 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62752             Bruno Haible  <bruno@clisp.org>
62754         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62755         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62756         (uname): Add support for Windows CE and various non-x86 CPU types.
62758 2009-10-03  Bruno Haible  <bruno@clisp.org>
62760         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62761         invocation to tests/configure.ac.
62762         Reported by Ian Beckwith <ianb@erislabs.net>.
62764 2009-10-02  Eric Blake  <ebb9@byu.net>
62766         fchdir: avoid compiler warning
62767         * lib/fchdir.c (canonicalize_file_name)
62768         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62770         test-open: support mingw errno values
62771         * tests/test-open.h (test_open): Relax test.
62772         * tests/test-fopen.h (test_fopen): Likewise.
62773         * tests/test-openat-safer.c (main): Likewise.
62775         open: fix opening directory on mingw
62776         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62778         test-open: on GNU/Hurd, /dev/null is a directory
62779         * tests/test-fopen.h (main): Rename...
62780         (test_fopen): ...to this.  Use a guaranteed non-directory when
62781         confirming open behavior on trailing slash.
62782         * tests/test-openat-safer.c (main): Likewise.
62783         * tests/test-open.h (main): Likewise....
62784         (test_open): ...to this.
62785         * tests/test-fopen.c (main): Adjust caller.
62786         * tests/test-fopen-safer.c (main): Likewise.
62787         * tests/test-open.c (main): Likewise.
62788         * tests/test-fcntl-safer.c (main): Likewise.
62789         Reported by Samuel Thibault.
62791         rename, fchdir: don't ignore chdir failure
62792         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62793         * lib/rename.c (rpl_rename) [W32]: Likewise.
62794         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62795         an empty destination directory if source cannot be renamed,
62796         although there is still possibility for failure.
62797         * doc/posix-functions/rename.texi (rename): Document the race.
62798         Reported by Jim Meyering.
62800         maint: cleanup whitespace in recent commits
62801         * lib/rename.c (rpl_rename): Remove tabs.
62802         * tests/test-link.h (test_link): Likewise.
62803         * lib/fchdir.c (get_name): Likewise.
62804         Reported by Jim Meyering.
62806 2009-10-02  Ben Pfaff  <blp@gnu.org>
62808         relocatable-prog-wrapper: Add missing dependency on
62809         double-slash-root.
62810         * modules/relocatable-prog-wrapper: Add dependency.
62811         Reported by Ian Beckwith <ianb@erislabs.net>.
62813 2009-10-02  Eric Blake  <ebb9@byu.net>
62815         renameat: fix Solaris bugs
62816         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62817         needed fixing.
62818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62819         * modules/stdio (Makefile.am): Substitute it.
62820         * lib/stdio.in.h (renameat): Declare replacement.
62821         * lib/renameat.c (rpl_renameat): Implement fix.
62823         renameat: new module
62824         * modules/renameat: New file.
62825         * lib/renameat.c (renameat): Likewise.
62826         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62828         * modules/stdio (Makefile.am): Substitute them.
62829         * lib/stdio.in.h (renameat): Declare it.
62830         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62831         * doc/posix-functions/renameat.texi (renameat): Likewise.
62832         * modules/renameat-tests: New test.
62833         * tests/test-renameat.c: Likewise.
62835         rename: fix mingw bugs
62836         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62837         directory overwrite bugs.
62839         rename: fix another cygwin 1.5 bug
62840         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62841         checks.
62842         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62843         unnecessary cygwin workarounds.  Also work around bug with moving
62844         full directory onto an empty one.
62845         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62847         rename-dest-slash: merge into rename module
62848         * modules/rename-dest-slash (Status): Mark obsolete.
62849         (Depends-on): Add rename.
62850         (Files): Let rename do it all.
62851         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62852         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62853         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62854         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62855         * lib/rename.c (rpl_rename): Update comments.
62857         rename: fix cygwin 1.5.x bugs
62858         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62859         * lib/rename.c (rpl_rename): Work around them.
62860         * modules/rename (Depends-on): Add same-inode.
62862         rename: fix Solaris 10 bug
62863         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62864         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62865         was the only bug.
62867         rename: fix Solaris 9 bug
62868         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62869         on non-directory.  Avoid calling exit.
62870         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62871         strdup.
62872         * modules/rename-tests (Depends-on): Drop lstat.
62873         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62874         (gl_PREREQ_RENAME): Delete unused macro.
62876         rename-dest-slash: fix NetBSD bug
62877         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62878         links.
62879         * modules/rename-dest-slash (Depends-on): Add same-inode.
62881         rename-tests: new test, exposes several platform bugs
62882         * modules/rename-tests: New file.
62883         * tests/test-rename.h: Likewise.
62884         * tests/test-rename.c: Likewise.
62885         * doc/posix-functions/rename.texi (rename): Improve documentation,
62886         including bugs that will eventually be fixed in gnulib.
62888 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62890         * lib/uname.c: Include <stdlib.h>
62891         (uname): Assume version info is available.
62893 2009-10-02  Jim Meyering  <meyering@redhat.com>
62895         gnu-web-doc-update: correct --help output
62896         * build-aux/gnu-web-doc-update: Make --help output relevant.
62898         gnu-web-doc-update: add standard options
62899         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62901         gnu-web-doc-update: New module.
62902         Use this script to automatically update the on-line web documentation
62903         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62904         * modules/gnu-web-doc-update: New file, from coreutils.
62905         * build-aux/gnu-web-doc-update: New script.
62907 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62909         link: LoadLibrary is not needed.
62910         * lib/link.c: Use GetModuleHandle.
62912 2009-10-01  Eric Blake  <ebb9@byu.net>
62914         getopt: bump serial number
62915         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62916         change.
62918         tests: tighten link, rmdir, and remove tests
62919         * tests/test-link.h (includes): No need to use <config.h> here.
62920         Clean up if directory hard link was created, otherwise test for
62921         trailing '.'.
62922         * tests/test-linkat.c (main): Simplify.
62923         * tests/test-remove.c (main): Enhance test for trailing '.'.
62924         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62926 2009-10-01  Jim Meyering  <meyering@redhat.com>
62928         maint.mk: requiring "make major" was annoying, for a "minor" release.
62929         What is intended is "stable", to contrast with alpha and beta,
62930         so require "make stable", not "make major".
62931         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62932         (get_tool_versions): Likewise.
62933         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62935 2009-09-30  Ben Pfaff  <blp@gnu.org>
62937         Fix broken build of replacement for Windows tmpfile().
62938         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62939         flags argument added along with the 'mkostemp' module.
62941 2009-09-28  Bruno Haible  <bruno@clisp.org>
62943         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62944         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62945         to 'remove_elt'.
62946         (gl_list_remove): Update.
62947         * lib/gl_list.c (gl_list_remove): Update.
62948         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62949         to 'remove_elt'.
62950         (gl_oset_remove): Update.
62951         * lib/gl_list.c (gl_oset_remove): Update.
62952         Reported by Eric Blake.
62954 2009-09-28  Eric Blake  <ebb9@byu.net>
62956         doc: mention yet more cygwin 1.7 status
62957         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62958         cygwin.
62959         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62960         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62962         argp: fix test failure
62963         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62964         that are not upper-case.  Pass correct range to tolower.
62966 2009-09-27  Jim Meyering  <meyering@redhat.com>
62968         test-yesno: work around sparc-dash here-document infelicity
62969         Without this change, the literal \177 byte in a here document
62970         would make dash 0.5.5.1-3 access uninitialized memory.
62971         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62972         Instead, use a marker, "@", and filter through tr to create the desired
62973         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62975 2009-09-27  Bruno Haible  <bruno@clisp.org>
62977         Disable untested support for new flavours of ACLs on AIX.
62978         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62979         progress.
62980         * lib/set-mode-acl.c (qset_acl): Likewise.
62982 2008-12-07  Bruno Haible  <bruno@clisp.org>
62984         Add support for new flavours of ACLs on AIX. (Untested.)
62985         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62986         (file_has_acl): Add support for newer AIX.
62987         * lib/set-mode-acl.c (qset_acl): Likewise.
62988         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62989         Rainer Tammer <tammer@tammer.net>.
62991 2009-09-26  Eric Blake  <ebb9@byu.net>
62993         argp: fix compilation of getopt
62994         * lib/getopt.in.h (includes): Use different guard than glibc.
62995         Reported by Sergey Poznyakoff.
62997         doc: mention more cygwin 1.7 status
62998         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62999         bug.
63000         * doc/posix-functions/execl.texi (execl): Likewise.
63001         * doc/posix-functions/execle.texi (execle): Likewise.
63002         * doc/posix-functions/execlp.texi (execlp): Likewise.
63003         * doc/posix-functions/execv.texi (execv): Likewise.
63004         * doc/posix-functions/execve.texi (execve): Likewise.
63005         * doc/posix-functions/execvp.texi (execvp): Likewise.
63006         * doc/glibc-functions/canonicalize_file_name.texi
63007         (canonicalize_file_name): Cygwin 1.7 now provides this.
63008         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
63009         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
63010         on AT_SYMLINK_NOFOLLOW.
63012 2009-09-24  Eric Blake  <ebb9@byu.net>
63014         test-linkat: make test more robust
63015         * tests/test-linkat.c (main): Avoid collision with EEXIST.
63017         getopt: fix inclusion guards for cygwin
63018         * modules/getopt-posix (Depends-on): Add include-next.
63019         (Makefile.am): Substitute more items in replacement header.
63020         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
63021         <getopt.h>.
63022         * lib/getopt.in.h (includes): Use split inclusion guard, and
63023         prefer <getopt.h> over include <unistd.h> when one is present.
63024         (option): Also override name of 'struct option'.
63026         same-inode: revert prior change; it is not yet ready
63027         * NEWS: Undo mention of this change.
63028         * lib/same-inode.h (same-inode.h): Undo tri-state change.
63029         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63030         * lib/cycle-check.c (cycle_check): Likewise.
63031         * lib/same.c (same_name): Likewise.
63032         * lib/at-func2.c (at_func2): Likewise.
63034 2009-09-23  Eric Blake  <ebb9@byu.net>
63036         linkat: new module
63037         * modules/linkat: New file.
63038         * lib/at-func2.c (at_func2): Likewise.
63039         * lib/linkat.c (linkat): Likewise.
63040         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63041         * lib/openat-priv.h (at_func2): Add declaration.
63042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63043         * modules/unistd (Makefile.am): Substitute them.
63044         * lib/unistd.in.h (linkat): Declare it.
63045         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63046         * doc/posix-functions/linkat.texi (linkat): Likewise.
63047         * doc/posix-functions/link.texi (link): Tweak wording.
63048         * tests/test-link.c (main): Move guts...
63049         * tests/test-link.h (test_link): ...into new file.
63050         * modules/linkat-tests: New test.
63051         * tests/test-linkat.c: Likewise.
63052         * modules/link-tests (Files): Ship new file.
63053         (Depends-on): Add stdbool.
63055         dirname: add library-safe mdir_name
63056         * lib/dirname.h (mdir_name): New prototype.
63057         * lib/dirname.c (dir_name): Move guts...
63058         (mdir_name): ...to new function that avoids xalloc_die.
63060         fchdir: another mingw fix
63061         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
63062         * lib/fchdir.c (get_name): New helper method; skips canonicalize
63063         on mingw (where it has not yet been ported), and make it optional
63064         elsewhere.
63065         (_gl_register_fd): Use it.
63067         same-inode: make SAME_INODE tri-state, to port to mingw
63068         * NEWS: Mention this change.
63069         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
63070         st_ino always being 0.
63071         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63072         * lib/cycle-check.c (cycle_check): Likewise.
63073         * lib/same.c (same_name): Likewise.
63075         lstat: avoid mingw compilation error
63076         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
63077         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
63078         lstat ourselves.
63079         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
63080         was adequate.
63081         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
63082         the checks for lstat.
63083         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
63085         link: fix test failure on Solaris 9
63086         * lib/link.c (rpl_link): Don't assume link will catch bogus
63087         trailing slash on source.
63089         test-symlinkat: enhance test
63090         * tests/test-readlink.c (main): Move guts...
63091         * tests/test-readlink.h (test_readlink): ...into new file.
63092         * tests/test-symlink.c (main): Move guts...
63093         * tests/test-symlink.h (test_symlink): ...into new file.
63094         * tests/test-symlinkat.c (main): Use new files for further
63095         coverage.
63096         (do_symlink, do_readlink): New helper functions.
63097         * modules/symlink-tests (Files): Ship new file.
63098         (Depends-on): Add stdbool.
63099         * modules/readlink-tests (Files): Ship new file.
63100         (Depends-on): Add stdbool.
63101         * modules/symlinkat-tests (Files): Use new files.
63103 2009-09-23  Eric Blake  <ebb9@byu.net>
63105         readlink: document portability issue with symlink length
63106         * doc/posix-functions/lstat.texi (lstat): Mention that some file
63107         systems have bogus st_size on symlinks, and mention the
63108         areadlink-with-size module.
63109         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63110         * doc/posix-functions/readlink.texi (readlink): Mention the
63111         areadlink module, and ERANGE failure.
63112         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63113         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
63115         readlink: fix Solaris 9 bug with trailing slash
63116         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
63117         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
63118         * doc/posix-functions/readlink.texi (readlink): Document this.
63119         * modules/readlink-tests: New test.
63120         * tests/test-readlink.c: Likewise.
63122         readlink: fix cygwin 1.5.x bug with return type
63123         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
63124         * lib/unistd.in.h (readlink): Use ssize_t.
63125         * lib/readlink.c (readlink): Likewise.
63126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63127         * modules/unistd (Makefile.am): Substitute it.
63128         * lib/unistd.in.h (readlink): Declare replacement.
63129         * doc/posix-functions/readlink.texi (readlink): Document this.
63131         symlink: use throughout gnulib
63132         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
63133         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
63134         symlink is not used.
63135         * modules/symlinkat (Depends-on): Add symlink.
63136         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63137         * modules/canonicalize-tests (Depends-on): Likewise.
63138         * modules/lstat-tests (Depends-on): Likewise.
63139         * modules/openat-tests (Depends-on): Likewise.
63140         * modules/remove-tests (Depends-on): Likewise.
63141         * modules/rmdir-tests (Depends-on): Likewise.
63142         * modules/unlink-tests (Depends-on): Likewise.
63143         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
63144         * tests/test-canonicalize.c (symlink): Likewise.
63145         * tests/test-fstatat.c (symlink): Likewise.
63146         * tests/test-lstat.c (symlink): Likewise.
63147         * tests/test-remove.c (symlink): Likewise.
63148         * tests/test-rmdir.c (symlink): Likewise.
63149         * tests/test-unlink.c (symlink): Likewise.
63150         * tests/test-unlinkat.c (symlink): Likewise.
63152         symlink: new module, for Solaris 9 bug
63153         * modules/symlink: New file.
63154         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63155         * lib/symlink.c: Likewise.
63156         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
63157         * modules/unistd (Makefile.am): Substitute them.
63158         * lib/unistd.in.h (symlink): Declare replacement.
63159         * MODULES.html.sh (File system functions): Mention it.
63160         * doc/posix-functions/symlink.texi (symlink): Likewise.
63161         * modules/symlink-tests: New test.
63162         * tests/test-symlink.c: Likewise.
63164 2009-09-23  Bruno Haible  <bruno@clisp.org>
63166         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
63167         when needed.
63168         Test case: gnulib-tool --import --with-tests atexit inttypes.
63169         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
63171 2009-09-23  Bruno Haible  <bruno@clisp.org>
63173         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
63174         subcommand, not in a subshell.
63176 2009-09-22  Eric Blake  <ebb9@byu.net>
63178         unistd: sort replacement declarations
63179         * lib/unistd.in.h: Sort declarations.
63181         open, openat: minor optimization
63182         * lib/open.c (open): If open succeeded, len is non-zero.
63183         * lib/openat.c (rpl_openat): Likewise.
63185         link-follow: ensure correct result
63186         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
63187         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
63188         distinguish between possible failures.
63190 2009-09-21  Eric Blake  <ebb9@byu.net>
63192         fts: avoid compiler warning
63193         * lib/fts.c (dirent_inode_sort_may_be_useful)
63194         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
63196 2009-09-19  Bruno Haible  <bruno@clisp.org>
63198         * lib/progreloc.c (canonicalize_file_name): New declaration.
63200 2009-09-19  Eric Blake  <ebb9@byu.net>
63202         link: fix quoting
63203         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
63205         openat: fix openat bugs on Solaris 9
63206         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
63207         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
63208         * modules/openat (Depends-on): Add open.
63209         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
63210         * modules/fcntl-h (Makefile.am): Substitute it.
63211         * lib/fcntl.in.h (openat): Declare replacement.
63212         * doc/posix-functions/openat.texi (openat): Document this.
63214         openat: move fstatat and unlinkat into correct files
63215         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
63216         compiled.
63217         * lib/openat.c (fstatat, unlinkat): Move...
63218         * lib/fstatat.c (fstatat): ...into correct files.
63219         * lib/unlinkat.c (unlinkat): Likewise.
63221         openat: fix unlinkat bugs on Solaris 9
63222         * lib/unlinkat.c (unlinkat): New file.
63223         * modules/openat (Depends-on): Add unlink.
63224         (Files): Distribute it.
63225         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
63226         trailing slash behavior is broken.
63227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63228         * modules/unistd (Makefile.am): Substitute it.
63229         * lib/unistd.in.h (unlinkat): Declare replacement.
63230         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
63232         openat: fix fstatat bugs on Solaris 9
63233         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
63234         stat.
63235         * doc/posix-functions/fstatat.texi (fstatat): Document this.
63237         test-unlinkat: enhance test, to expose Solaris 9 bug
63238         * tests/test-unlink.c (main): Factor guts...
63239         * tests/test-unlink.h (test_rmdir_func): ...into new file.
63240         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
63241         * tests/test-rmdir.c (main): Adjust caller.
63242         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
63243         (unlinker): New helper function.
63244         (rmdirat): Enhance check.
63245         * modules/rmdir-tests (Depends-on): Add stdbool.
63246         * modules/unlink-tests (Depends-on): Likewise.
63247         (Files): Add test-unlink.h.
63248         * modules/openat-tests (Files): Likewise.
63249         (Depends-on): Add unlinkdir.
63251         test-fstatat: new test, to expose Solaris 9 bugs
63252         * tests/test-stat.c (main): Factor guts...
63253         * tests/test-stat.h (test_stat_func): ...into new file.
63254         * tests/test-lstat.c (main): Factor guts...
63255         * tests/test-lstat.h (test_lstat_func): ...into new file.
63256         * tests/test-fstatat.c: New file.
63257         * modules/stat-tests (Files): Add test-stat.h.
63258         * modules/lstat-tests (Files): Add test-lstat.h.
63259         (Depends-on): Add stdbool.
63260         * modules/openat-tests (Depends-on): Add pathmax.
63261         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
63262         (Makefile.am): Run new test.
63264         remove: new module, for mingw and Solaris 9 bugs
63265         * modules/remove: New file.
63266         * lib/remove.c: Likewise.
63267         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
63268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
63269         * modules/stdio (Makefile.am): Use them.
63270         * lib/stdio.in.h (remove): Declare replacement.
63271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63272         * doc/posix-functions/remove.texi (remove): Likewise.
63273         * modules/remove-tests: New test.
63274         * tests/test-remove.c: Likewise.
63276         unlink: new module, for Solaris 9 bug
63277         * modules/unlink: New file.
63278         * lib/unlink.c: Likewise.
63279         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63281         * modules/unistd (Makefile.am): Use them.
63282         * lib/unistd.in.h (stat): Declare replacement.
63283         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63284         * doc/posix-functions/unlink.texi (unlink): Likewise.
63285         * modules/unlink-tests: New test.
63286         * tests/test-unlink.c: Likewise.
63288         lstat: fix Solaris 9 bug
63289         * lib/lstat.c (lstat): Also check for trailing slash on
63290         non-symlink, non-directories.  Use stat module to simplify logic.
63291         * doc/posix-functions/lstat.texi (lstat): Document it.
63292         * modules/lstat-tests (Depends-on): Add errno, same-inode.
63293         (configure.ac): Check for symlink.
63294         * tests/test-lstat.c (main): Add more tests.
63296         stat: add as dependency to other modules
63297         * modules/chown (Depends-on): Add stat.
63298         * modules/euidaccess (Depends-on): Likewise.
63299         * modules/fchdir (Depends-on): Likewise.
63300         * modules/isdir (Depends-on): Likewise.
63301         * modules/link (Depends-on): Likewise.
63302         * modules/lstat (Depends-on): Likewise.
63303         * modules/mkdir-p (Depends-on): Likewise.
63304         * modules/modechange (Depends-on): Likewise.
63305         * modules/open (Depends-on): Likewise.
63306         * modules/readlink (Depends-on): Likewise.
63307         * modules/same (Depends-on): Likewise.
63309         stat: fix Solaris 9 bug
63310         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
63311         slash.
63312         * lib/stat.c (rpl_stat): Work around it.
63313         * doc/posix-functions/stat.texi (stat): Update documentation.
63315         stat: new module, for mingw bug
63316         * modules/stat: New file.
63317         * lib/stat.c: Likewise.
63318         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63319         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63320         * modules/sys_stat (Makefile.am): Use them.
63321         * lib/sys_stat.in.h (stat): Declare replacement.
63322         * lib/openat.c (fstatat): Deal with lstat and stat being function
63323         macros.
63324         * modules/openat (Depends-on): Add inline.
63325         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63326         * doc/posix-functions/stat.texi (stat): Likewise.
63327         * modules/stat-tests: New test.
63328         * tests/test-stat.c: Likewise.
63330 2009-09-19  Jim Meyering  <meyering@redhat.com>
63332         syntax-check: detect unnecessary inclusion of canonicalize.h
63333         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
63335 2009-09-19  Eric Blake  <ebb9@byu.net>
63337         canonicalize-lgpl: adjust clients to use correct header
63338         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63339         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
63340         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
63341         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
63342         * lib/progreloc.c (includes): Likewise.
63344 2009-09-19  Jim Meyering  <meyering@redhat.com>
63346         test-posixtm.c: correct a comment
63347         * tests/test-posixtm.c: Correct first-line comment.
63348         Spotted by Eric Blake.
63350 2009-09-16  Jim Meyering  <meyering@redhat.com>
63352         posixtm-tests: make T const-correct; add a test case
63353         * tests/test-posixtm.c (T): Declare const.
63354         Add a test for -(2^31+1).
63355         Remove useless can-succeed-only-in-2002 test.
63357         posixtm-tests: adjust the sole failing test
63358         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
63359         expected output matches what mktime now produces.  Cross-checked via
63360         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
63362         posixtm: move #ifdef'd tests into a new module
63363         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
63364         * tests/test-posixtm.c: ... this new file.
63365         * modules/posixtm-tests: New module.
63367 2009-09-19  Eric Blake  <ebb9@byu.net>
63369         openat: simplify use of at-func.c
63370         * lib/at-func.c (includes): Include prerequisites here, to
63371         simplify requirements on client files.
63372         * lib/openat-priv.h: Add double-inclusion guard.
63373         * lib/faccessat.c (includes): Simplify.
63374         * lib/fchmodat.c (includes): Likewise.
63375         * lib/fchownat.c (includes): Likewise.
63376         * lib/mkdirat.c (includes): Likewise.
63377         * lib/mkfifoat.c (includes): Likewise.
63378         * lib/symlinkat.c (includes): Likewise.
63380         openat: allow return of fd 0
63381         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
63382         * modules/save-cwd (Depends-on): Replace fcntl-safer with
63383         unistd-safer.
63384         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
63385         <fcntl.h>; this module does not leak fds.
63386         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
63387         must be allowed to return 0, leaving openat_safer to add the
63388         safety.
63389         (openat_permissive): Avoid writing to just-opened fd 2 if
63390         restoring the current directory fails.
63391         * lib/openat-die.c (openat_restore_fail): Add comment.
63392         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
63393         (save_cwd): Guarantee safe fd, but without use of open_safer.
63394         * tests/test-openat.c: New test.
63395         * modules/openat-tests (Files, Makefile.am): Distribute and build
63396         new file.
63398         relocatable-prog-wrapper: fix build
63399         * modules/relocatable-prog-wrapper (Files): Update name of
63400         canonicalize m4 file, broken on 2009-09-17.
63401         Reported by emad hajjar <aleppos@hotmail.com>.
63403 2009-09-19  Bruno Haible  <bruno@clisp.org>
63405         * lib/safe-alloc.h: Use the standard header with GPL copyright.
63406         * lib/safe-alloc.c: Likewise.
63407         Reported by Ian Beckwith <ianb@erislabs.net>.
63409 2009-09-18  Bruno Haible  <bruno@clisp.org>
63411         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
63412         Reported by <erobles@sensacd.com.mx>.
63414 2009-09-17  Eric Blake  <ebb9@byu.net>
63416         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
63417         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
63418         slashes when checking if last component is missing.
63419         * tests/test-canonicalize.c (main): Test this.
63421         canonicalize, canonicalize-lgpl: honor // if distinct from /
63422         * modules/canonicalize (Files): Add double-slash-root.m4.
63423         * modules/canonicalize-lgpl (Files): Likewise.
63424         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63425         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
63426         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
63427         fallback definition.
63428         (canonicalize_filename_mode): Use it to protect //.
63429         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
63430         (__realpath): Likewise.
63431         * tests/test-canonicalize.c (main): Test this.
63432         * tests/test-canonicalize-lgpl.c (main): Likewise.
63433         * modules/canonicalize-tests (Depends-on): Add same-inode.
63434         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63436         canonicalize-lgpl: fix glibc bug with trailing slash
63437         * m4/canonicalize-lgpl.m4: Move contents...
63438         * m4/canonicalize.m4: ...here.
63439         (gl_CANONICALIZE_LGPL): Factor realpath check...
63440         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
63441         glibc 2.3.5 bug, fixed 2005-04-27.
63442         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
63443         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
63444         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
63445         * modules/canonicalize-lgpl (Files): Manage file rename.
63446         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63447         * modules/stdlib (Makefile.am): Substitute witness.
63448         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
63449         is needed.
63450         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
63451         replacement is required.
63452         * lib/canonicalize.c (canonicalize_file_name): Likewise.
63453         * doc/glibc-functions/canonicalize_file_name.texi
63454         (canonicalize_file_name): Document this.
63455         * doc/posix-functions/realpath.texi (realpath): Likewise.
63457         canonicalize-lgpl: reject non-directory with trailing slash
63458         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
63459         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
63460         catches failures in glibc 2.3.5.
63461         * tests/test-canonicalize.c (main): Likewise.
63463         canonicalize-lgpl: use native realpath if it works
63464         * lib/canonicalize-lgpl.c (realpath): Guard with
63465         FUNC_REALPATH_WORKS.
63466         * lib/stdlib.in.h (realpath): Make declaration optional based on
63467         HAVE_REALPATH.
63468         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
63469         native realpath works.
63470         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63471         * modules/stdlib (Makefile.am): Substitute witness.
63473         canonicalize, canonicalize-lgpl: use <stdlib.h>
63474         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63475         (Include): Mention <stdlib.h>.
63476         (configure.ac): Mention functions we provide.
63477         * modules/canonicalize (configure.ac): Likewise.
63478         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63479         realpath if canonicalize_file_name is missing.
63480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63481         * modules/stdlib (Makefile.am): Substitute witnesses.
63482         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63483         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63484         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63485         * NEWS: Document this.
63486         * doc/glibc-functions/canonicalize_file_name.texi
63487         (canonicalize_file_name): Likewise.
63488         * doc/posix-functions/realpath.texi (realpath): Likewise.
63489         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63491         test-canonicalize: consolidate into single C program
63492         * tests/test-canonicalize.sh: Delete; move setup into...
63493         * tests/test-canonicalize.c (main): ...the program, making it
63494         easier to run in debugger.  Add some tests.
63495         * modules/canonicalize-tests (Files): Remove unused file.
63496         (Depends-on): Add progname.
63497         (configure.ac, Makefile.am): Simplify.
63499         test-canonicalize-lgpl: consolidate into single C program
63500         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63501         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63502         easier to run in debugger.  Add some tests.
63503         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63504         (configure.ac, Makefile.am): Simplify.
63506         canonicalize: avoid resolvepath
63507         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63508         unnecessary checks.
63509         * lib/canonicalize.c (includes): Simplify.
63510         (canonicalize_file_name): Drop resolvepath implementation.
63511         * modules/canonicalize (Depends-on): Drop filenamecat.
63513         canonicalize: don't lose errno
63514         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63515         over calls to free.
63517         canonicalize: simplify errno handling
63518         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63519         assignment.
63521         canonicalize, canonicalize-lgpl: update module dependencies
63522         * modules/canonicalize (Depends-on): Add extensions, lstat,
63523         pathmax, stdlib.
63524         (Files): Drop pathmax.h.
63525         (configure.ac): Adjust macro name.
63526         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63527         lstat, stdlib, sys_stat.
63528         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63529         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63530         extensions.
63531         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63532         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63533         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63534         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63535         declaration, if available.
63536         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63537         we can rely on the readlink module.
63538         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63539         (includes): Use <unistd.h> unconditionally.
63541 2009-09-17  Eric Blake  <ebb9@byu.net>
63543         maint: make Include sections of modules consistent
63544         * modules/alloca: Use only header name; no need to list #include.
63545         * modules/alloca-opt: Likewise.
63546         * modules/arpa_inet: Likewise.
63547         * modules/canon-host: Likewise.
63548         * modules/configmake: Likewise.
63549         * modules/dirent: Likewise.
63550         * modules/eealloc: Likewise.
63551         * modules/environ: Likewise.
63552         * modules/fchdir: Likewise.
63553         * modules/fcntl: Likewise.
63554         * modules/fcntl-h: Likewise.
63555         * modules/gethrxtime: Likewise.
63556         * modules/gettime: Likewise.
63557         * modules/ignore-value: Likewise.
63558         * modules/inet_ntop: Likewise.
63559         * modules/inet_pton: Likewise.
63560         * modules/inttypes: Likewise.
63561         * modules/isnand-nolibm: Likewise.
63562         * modules/isnanf-nolibm: Likewise.
63563         * modules/mbchar: Likewise.
63564         * modules/mbfile: Likewise.
63565         * modules/mbiter: Likewise.
63566         * modules/mbuiter: Likewise.
63567         * modules/netdb: Likewise.
63568         * modules/netinet_in: Likewise.
63569         * modules/nproc: Likewise.
63570         * modules/pagealign_alloc: Likewise.
63571         * modules/poll: Likewise.
63572         * modules/printf-frexp: Likewise.
63573         * modules/pthread: Likewise.
63574         * modules/putenv: Likewise.
63575         * modules/random_r: Likewise.
63576         * modules/relocatable-prog: Likewise.
63577         * modules/search: Likewise.
63578         * modules/select: Likewise.
63579         * modules/selinux-h: Likewise.
63580         * modules/settime: Likewise.
63581         * modules/signal: Likewise.
63582         * modules/size_max: Likewise.
63583         * modules/socklen: Likewise.
63584         * modules/ssize_t: Likewise.
63585         * modules/stdarg: Likewise.
63586         * modules/stdbool: Likewise.
63587         * modules/stddef: Likewise.
63588         * modules/stdint: Likewise.
63589         * modules/stdio: Likewise.
63590         * modules/stdlib: Likewise.
63591         * modules/string: Likewise.
63592         * modules/strings: Likewise.
63593         * modules/sys_file: Likewise.
63594         * modules/sys_ioctl: Likewise.
63595         * modules/sys_select: Likewise.
63596         * modules/sys_socket: Likewise.
63597         * modules/sys_stat: Likewise.
63598         * modules/sys_time: Likewise.
63599         * modules/sys_times: Likewise.
63600         * modules/sys_utsname: Likewise.
63601         * modules/sys_wait: Likewise.
63602         * modules/sysexits: Likewise.
63603         * modules/time: Likewise.
63604         * modules/times: Likewise.
63605         * modules/tmpfile: Likewise.
63606         * modules/trim: Likewise.
63607         * modules/unistd: Likewise.
63608         * modules/wchar: Likewise.
63609         * modules/wctype: Likewise.
63611 2009-09-17  Bruno Haible  <bruno@clisp.org>
63613         Make getdate.y compile on QNX and NetBSD 5 / i386.
63614         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63615         TIME_T_FITS_IN_LONG_INT.
63616         * lib/getdate.y (long_time_t): New type.
63617         (relative_time): Change type of 'seconds' field to long_time_t.
63618         (get_date): Update types of local variables. Check against overflow
63619         during conversion from long_time_t to time_t.
63620         Reported by Matt Kraai <kraai@ftbfs.org>
63621         and Hasso Tepper <hasso@netbsd.org>.
63623 2009-09-17  Bruno Haible  <bruno@clisp.org>
63625         * modules/COPYING: Update copyright years.
63626         * modules/README: Likeiwse.
63627         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63628         Reported by Ian Beckwith <ianb@erislabs.net>.
63630 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63632         * users.txt: Update references for gnuit package.
63634 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63636         * m4/getdelim.m4: Fix typo in copyright line.
63638 2009-09-17  Bruno Haible  <bruno@clisp.org>
63640         * lib/atoll.c: Use the standard header with GPL copyright.
63641         * lib/argz.in.h: Likewise.
63642         * lib/glob.c: Likewise.
63643         * lib/glob-libc.h: Likewise.
63644         * lib/random_r.c: Likewise.
63645         * lib/siglist.h: Likewise.
63646         * lib/strsignal.c: Likewise.
63647         Reported by Ian Beckwith <ianb@erislabs.net>.
63649 2009-09-17  Eric Blake  <ebb9@byu.net>
63651         rmdir: ensure correct dependency order
63652         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63654 2009-09-17  Bruno Haible  <bruno@clisp.org>
63656         Disable assertion that fails on NetBSD 5 / i386.
63657         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63658         Reported by Sam Steingold <sds@gnu.org>
63659         and Hasso Tepper <hasso@netbsd.org>.
63661 2009-09-16  Eric Blake  <ebb9@byu.net>
63663         unlinkdir: port to mingw
63664         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63665         on which no one can unlink a directory.
63667         stdlib: sort witness names
63668         * modules/stdlib (Makefile.am): Sort replacements.
63669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63670         * lib/stdlib.in.h: Likewise.
63672         parse-duration-tests: avoid link failure
63673         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63674         LIBINTL.
63675         Reported by Tom G. Christensen.
63677         openat-tests: ensure unlinkat behaves like rmdir
63678         * tests/test-rmdir.c (main): Factor guts...
63679         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63680         * modules/rmdir-tests (Files): Ship new file.
63681         * modules/openat-tests: New test.
63682         * tests/test-unlinkat.c: Likewise.
63684         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63685         * modules/rmdir-errno (Status, Notice): Now obsolete.
63687         rmdir: work around cygwin 1.5.x and mingw bugs
63688         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63689         * lib/rmdir.c (rmdir): Work around it.
63690         * modules/rmdir (Status, Notice): No longer obsolete.
63691         (Files): Add dos.m4.
63692         (Depends-on): Add unistd.
63693         (configure.ac): Set witnesses.
63694         (License): Relax to LGPLv2+.
63695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63696         * modules/unistd (Makefile.am): Substitute witnesses.
63697         * lib/unistd.in.h (rmdir): Declare replacement.
63698         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63699         * modules/rmdir-tests: New tests.
63700         * tests/test-rmdir.c: Likewise.
63702 2009-09-15  Eric Blake  <ebb9@byu.net>
63704         fchdir: improve use of replacement functions
63705         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63706         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63707         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63708         REPLACE_CLOSEDIR.
63709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63710         * modules/sys_stat (Makefile.am): Substitute correct witness.
63711         * modules/dirent (Makefile.am): Likewise.
63712         * modules/unistd (Makefile.am): Likewise.
63713         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63714         * lib/unistd.in.h (dup): Likewise.
63715         * lib/sys_stat.in.h (fstat): Likewise.
63717         maint: ignore gnulib-tool temp files
63718         * .gitignore: Ignore files created during gnulib-tool --test.
63720 2009-09-13  Jim Meyering  <meyering@redhat.com>
63722         posixtm: don't reject a time that specify "60" as the number of seconds
63723         * lib/posixtm.c (posixtime): The code to reject invalid dates
63724         would also reject a time specified with the .60 suffix.
63725         But POSIX allows that, in order to accommodate leap seconds.
63726         So don't reject it.
63727         (main): Adjust tests accordingly.
63728         * modules/posixtm (Depends-on): Add stpcpy.
63730 2009-09-11  Jim Meyering  <meyering@redhat.com>
63732         announce-gen: include [$release_type] in emitted Subject:
63733         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63734         e.g., [stable] in the emitted Subject: line.
63736 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63738         Remove obsolete macros from several modules.
63739         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63740         obsolete Autoconf macros with their modern counterparts.
63741         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63742         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63743         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63744         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63745         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63746         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63747         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63748         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63749         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63750         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63751         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63752         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63753         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63754         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63755         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63756         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63757         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63758         * m4/time_r.m4 (gl_TIME_R): Likewise.
63759         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63760         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63761         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63763         Fix copyright header in build-aux scripts.
63764         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63765         recommendation.
63766         * build-aux/ncftpput-ftp: Likewise.
63767         * build-aux/update-copyright: Likewise.
63769 2009-09-09  Eric Blake  <ebb9@byu.net>
63771         test-link: allow Linux choice of errno
63772         * tests/test-link.c (main): Relax test for alternate error.
63774         strndup: fix improper m4 caching
63775         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63776         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63777         (gl_PREREQ_STRNDUP): Delete.
63778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63779         * modules/string (Makefile.am): Substitute it.
63780         * lib/string.in.h (strndup): Modernize prototype.
63782         getcwd: port to mingw
63783         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63784         different from the POSIX assumptions made throughout the getcwd
63785         module; fortunately, the mingw getcwd does not need replacement.
63786         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63787         * modules/getcwd-tests: New test.
63788         * tests/test-getcwd.c: Likewise.
63790         link: fix platform bugs
63791         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63792         * lib/link.c (link): Work around them.  Fix related mingw bug.
63793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63794         * modules/unistd (Makefile.am): Substitute it.
63795         * lib/unistd.in.h (link): Declare replacement.
63796         * doc/posix-functions/link.texi (link): Document this.
63797         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63799         test-link: consolidate into single C program, test more cases
63800         * tests/test-link.sh: Delete.
63801         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63802         at least Cygwin and Solaris.
63803         * modules/link-tests (Files): Remove unused file.
63804         (Depends-on): Add errno, sys_stat.
63805         (Makefile.am): Simplify.
63807 2009-09-08  Bruno Haible  <bruno@clisp.org>
63809         Work around towlower, towupper bug on mingw.
63810         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63811         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63812         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63813         * doc/posix-functions/towupper.texi: Likewise.
63814         Reported by Eric Blake.
63816 2009-09-08  Jim Meyering  <meyering@redhat.com>
63818         build: don't try to run autoheader if we don't use it
63819         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63820         is not used in configure.ac.
63822 2009-09-08  Eric Blake  <ebb9@byu.net>
63824         euidaccess: fix compilation error
63825         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63827         rawmemchr: relax license
63828         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63829         okay.
63830         Reported by Jim Meyering.
63832         mkfifoat: new module
63833         * modules/mkfifoat: New file.
63834         * lib/mkfifoat.c: Likewise.
63835         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63836         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63837         * modules/sys_stat (Makefile.am): Use them.
63838         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63839         * MODULES.html.sh (File system functions): Mention module.
63840         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63841         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63842         * modules/mkfifoat-tests: New test.
63843         * tests/test-mkfifoat.c: Likewise.
63845         strchrnul: relax license
63846         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63847         okay.
63848         Reported by Jim Meyering.
63850 2009-09-08  Eric Blake  <ebb9@byu.net>
63852         fstatat: fix compilation on Solaris
63853         * lib/fstatat.c (includes): Add fcntl.h.
63854         Reported by Pádraig Brady.
63856 2009-09-07  Eric Blake  <ebb9@byu.net>
63858         rename: modernize replacement
63859         * modules/rename (Depends-on): Add stdio.
63860         (configure.ac): Declare witness.
63861         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63862         stdio take care of replacement.
63863         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63864         * modules/stdio (Makefile.am): Substitute them.
63865         * lib/stdio.in.h (rename): Declare replacement.
63866         * lib/rename.c (includes): Allow cross-compilation to non-windows
63867         machines.
63868         * doc/posix-functions/rename.texi (rename): Improve
63869         documentation.
63871         stdio: sort witness names
63872         * modules/stdio (Makefile.am): Sort replacements.
63873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63874         * lib/stdio.in.h: Likewise.
63876         getcwd: minor cleanups
63877         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63878         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63880         openat: provide more convenience names
63881         * modules/faccessat (configure.ac): Add C witness.
63882         * lib/unistd.in.h (readlinkat): Fix typo.
63883         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63884         convenience wrappers.
63885         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63886         wrappers in syntax checks.
63888 2009-09-06  Eric Blake  <ebb9@byu.net>
63890         doc: fix comments in recent patches
63891         * lib/faccessat.c: Mention correct function.
63892         * lib/fchmodat.c: Likewise.
63893         * lib/fchownat.c: Likewise.
63894         * lib/symlinkat.c: Likewise.
63895         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63896         constants.
63898         faccessat, symlinkat: continue cleanup of previous patch
63899         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63900         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63901         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63903         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63904         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63905         set.
63907 2009-09-06  Bruno Haible  <bruno@clisp.org>
63909         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63910         (fstatat): Declare if GNULIB_FSTATAT is set.
63911         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63912         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63913         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63914         * modules/fcntl-h (Files): Remove m4/openat.m4.
63915         * modules/sys_stat (Files): Remove m4/openat.m4.
63916         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63917         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63918         * modules/unistd (Files): Remove m4/openat.m4.
63919         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63920         GNULIB_OPENAT.
63921         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63922         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63923         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63924         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63925         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63926         gl_OPENAT_DEFAULTS.
63927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63928         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63929         Don't require gl_OPENAT_DEFAULTS.
63930         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63931         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63932         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63933         (gl_OPENAT_DEFAULTS): Remove macro.
63935 2009-09-06  Bruno Haible  <bruno@clisp.org>
63937         * modules/openat (configure.ac): Remove unneeded witness.
63939 2009-09-06  Bruno Haible  <bruno@clisp.org>
63941         Set errno to ENOSYS when a function is entirely unsupported.
63942         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63943         EOPNOTSUPP.
63944         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63945         * modules/chown (Depends-on): Remove errno.
63947 2009-09-06  Bruno Haible  <bruno@clisp.org>
63949         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63951 2009-09-06  Bruno Haible  <bruno@clisp.org>
63953         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63955 2009-09-06  Ben Pfaff  <blp@gnu.org>
63956             Bruno Haible  <bruno@clisp.org>
63958         Work around a glibc bug in strtok_r.
63959         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63960         Undefine if UNDEFINE_STRTOK_R is set.
63961         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63962         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63963         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63964         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63965         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63966         UNDEFINE_STRTOK_R.
63967         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63969 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63971         exclude: minor fix
63972         * lib/exclude.c: Include wctype.h
63974 2009-09-06  Akim Demaille  <demaille@gostai.com>
63976         bootstrap: improve error message
63977         * build-aux/bootstrap (find_tool): Upon failure, report the list
63978         of candidates.
63979         Honor the initial value of the envvar.
63981 2009-09-05  Eric Blake  <ebb9@byu.net>
63983         symlinkat: new module
63984         * modules/symlinkat: New file.
63985         * lib/symlinkat.c: Likewise.
63986         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63987         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63988         * modules/unistd (Makefile.am): Use them.
63989         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63990         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63991         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63992         * MODULES.html.sh (File system functions): Mention module.
63993         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63994         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63995         * modules/symlinkat-tests: New test.
63996         * tests/test-symlinkat.c: Likewise.
63998         test-openat-safer: add more checks
63999         * tests/test-openat-safer.c (main): Check more code paths.
64001 2009-09-05  Jim Meyering  <meyering@redhat.com>
64003         syntax-check: detect unnecessary inclusion of openat.h
64004         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
64006 2009-09-05  Bruno Haible  <bruno@clisp.org>
64008         Support towlower, towupper.
64009         * doc/posix-functions/towlower.texi: Mention module wctype.
64010         * doc/posix-functions/towupper.texi: Likewise.
64011         * lib/wctype.in.h (towlower, towupper): New functions.
64012         * tests/test-wctype.c: Include stdio.h, stdlib.h.
64013         (ASSERT): New macro.
64014         (e): New variable.
64015         (main): Test also towlower, towupper. Test WEOF argument.
64016         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64018 2009-09-05  Bruno Haible  <bruno@clisp.org>
64020         Fix conversion behaviour when the input is invalid.
64021         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
64022         mark occurring in first pass of indirect conversion.
64023         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
64024         input.
64025         Found by clang's static analyzer.
64027 2009-09-05  Bruno Haible  <bruno@clisp.org>
64029         * tests/test-striconveh.c (main): Test indirect conversion on platforms
64030         where direct conversion is possible.
64032 2009-09-04  Eric Blake  <ebb9@byu.net>
64034         openat: fail with ENOENT on empty name
64035         * lib/openat-proc.c (openat_proc_name): Special-case the empty
64036         buffer.
64038         link-follow: fix logic bug in prior patch
64039         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
64040         reversed sense of yes and no in prior patch.  Avoid confusing
64041         compilation failure with desired semantics.
64043         link-follow: accommodate mingw and cross-compilation
64044         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
64045         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
64046         cross-compilation results to -1, to make linkat easier to
64047         implement when cross-compiling.  Trivially support mingw.
64048         * modules/link-follow (configure.ac): Call new name.
64049         * NEWS: Mention this.
64051 2009-09-03  Eric Blake  <ebb9@byu.net>
64053         faccessat: compile replacement
64054         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
64055         needed.
64057         fts: fix compilation error
64058         * lib/fts.c (includes): Re-add "openat.h", for
64059         openat_needs_fchdir.
64061         faccessat: new module
64062         * modules/faccessat: New file.
64063         * lib/faccessat.c: Likewise.
64064         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
64065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64066         * modules/unistd (Makefile.am): Use it.
64067         * lib/unistd.in.h (faccessat): Declare it.
64068         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
64069         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
64070         * MODULES.html.sh (File system functions): Mention it.
64071         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
64072         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
64074         euidaccess: prefer POSIX over non-standard implementation
64075         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
64076         * lib/euidaccess.c (euidaccess): Use it if available.
64078         openat: make template easier to use
64079         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
64080         AT_FUNC_F2 to be undefined.
64081         (VALIDATE_FLAG): New macro; use it to reject bad flags.
64082         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
64083         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
64084         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
64085         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
64086         Likewise.
64087         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
64088         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
64089         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
64090         Likewise.
64092         openat: declare in POSIX headers
64093         * NEWS: Mention this.
64094         * modules/openat (configure.ac): Declare witnesses.
64095         (Depends-on): Add fcntl-h, sys_stat, unistd.
64096         (Include): Mention correct headers.
64097         * modules/fcntl-h (Depends-on): Add link-warning.
64098         (Files): Add openat.m4.
64099         (Makefile.am): Substitute witnesses.
64100         * modules/sys_stat (Files, Makefile.am): Likewise.
64101         * modules/unistd (Files, Makefile.am): Likewise.
64102         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
64103         (gl_OPENAT_DEFAULTS): New macro.
64104         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
64105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
64106         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
64107         (SYS_STAT_H): Remove unused variable.
64108         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
64109         * lib/fcntl--.h (includes): Remove unneeded header.
64110         * lib/openat-safer.c (includes): Likewise.
64111         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
64112         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
64113         appropriate headers.
64114         (__OPENAT_PREFIX): Delete.
64115         * lib/fcntl.in.h (openat): Provide declaration.
64116         (AT_FDCWD): Fix Solaris bug.
64117         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
64118         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
64119         * lib/fchmodat.c (includes):  Adjust to find declaration.
64120         * lib/fchownat.c (includes): Likewise.
64121         * lib/mkdirat.c (includes): Likewise.
64122         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
64123         still visible.
64125 2009-09-02  Eric Blake  <ebb9@byu.net>
64127         errno: use consistently
64128         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
64129         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
64130         * lib/canonicalize.c (ELOOP): Likewise.
64131         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
64132         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
64133         * lib/lchown.c (EOPNOTSUPP): Likewise.
64134         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
64135         * lib/savewd.c (ESTALE): Likewise.
64136         * lib/settime.c (ENOSYS): Likewise.
64137         * lib/utimens.c (ENOSYS): Likewise.
64138         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
64139         * lib/chdir-safer.c (ELOOP): Likewise.
64140         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
64141         * modules/c-stack (Depends-on): Add errno.
64142         * modules/canonicalize (Depends-on): Likewise.
64143         * modules/chdir-safer (Depends-on): Likewise.
64144         * modules/fdopendir (Depends-on): Likewise.
64145         * modules/inet_ntop (Depends-on): Likewise.
64146         * modules/inet_pton (Depends-on): Likewise.
64147         * modules/lchown (Depends-on): Likewise.
64148         * modules/openat (Depends-on): Likewise.
64149         * modules/savewd (Depends-on): Likewise.
64150         * modules/settime (Depends-on): Likewise.
64151         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
64153         fts: avoid leaking fds
64154         * modules/fts (Depends-on): Add cloexec.
64155         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
64156         flag.
64158         fts: make directory fds more robust
64159         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
64160         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
64162         backupfile, chdir-long, fts, savedir: make safer
64163         * lib/backupfile.c (includes): Use "dirent--.h", since
64164         numbered_backup can write to stderr during readdir.
64165         * lib/savedir.c (includes): Likewise.
64166         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
64167         emulation can write to stderr on failure.
64168         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
64169         * lib/getcwd.c: Document why opendir_safer is unused.
64170         * lib/glob.c: Likewise.
64171         * lib/scandir.c: Likewise.
64172         * lib/openat-proc.c: Likewise, for open_safer.
64173         * modules/backupfile (Depends-on): Add dirent-safer.
64174         * modules/savedir (Depends-on): Likewise.
64175         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
64176         * modules/chdir-long (Depends-on): Add openat-safer.
64178         openat-safer: new module
64179         * modules/openat-safer: New file.
64180         * lib/openat-safer.c: Likewise.
64181         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
64182         * lib/fcntl-safer.h (openat_safer): Declare.
64183         * lib/fcntl--.h (openat): Override.
64184         * MODULES.html.sh (File descriptor based I/O): Mention it.
64185         * lib/openat.h: Add double-inclusion guards.
64186         * lib/openat.c (includes): Only include "fcntl-safer.h", not
64187         "fcntl--.h", so we can implement openat.
64188         * modules/openat-safer-tests: New test.
64189         * tests/test-openat-safer.c: New file.
64191         dirent-safer: new module
64192         * modules/dirent-safer: New file.
64193         * lib/dirent--.h: Likewise.
64194         * lib/dirent-safer.h: Likewise.
64195         * lib/opendir-safer.c: Likewise.
64196         * m4/dirent-safer.m4: Likewise.
64197         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
64198         * modules/dirent-safer-tests: New test.
64199         * tests/test-dirent-safer.c: New file.
64200         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
64202         fdopendir: optimize on mingw
64203         * lib/unistd.in.h (_gl_directory_name): New prototype.
64204         * lib/fchdir.c (_gl_directory_name): Implement it.
64205         (fchdir): Use it to simplify implementation.
64206         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
64207         fchdir, when available, to avoid calling [f]chdir().
64209         fdopendir: split into its own module
64210         * lib/openat.c (fdopendir): Move...
64211         * lib/fdopendir.c: ...into new file.
64212         * modules/fdopendir: New module.
64213         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
64214         * modules/openat (Depends-on): Add fdopendir.
64215         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
64216         fdopendir here.
64217         * modules/savedir (Depends-on): Only need fdopendir, not full
64218         openat.
64219         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
64220         * lib/openat.h (fdopendir): Drop prototype.
64221         * lib/dirent.in.h (fdopendir): Provide prototype.
64222         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
64223         * modules/dirent (Makefile.am): Substitute them.
64224         * MODULES.html.sh (File system functions): Mention it.
64225         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
64226         * modules/fdopendir-tests: New file.
64227         * tests/test-fdopendir.c: Likewise.
64229         fchdir: use more consistent macro convention
64230         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
64231         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
64232         REPLACE_FCHDIR, rather than relying on config.h macros.
64233         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
64234         inside a single make-time REPLACE_FCHDIR block, rather than using
64235         the config.h FCHDIR_REPLACEMENT.
64236         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
64237         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
64238         Manage fstat replacement.
64239         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
64240         REPLACE_FCHDIR.
64241         * modules/sys_stat (Files): Add m4/unistd_h.m4.
64242         (Makefile.am): Substitute REPLACE_FCHDIR.
64243         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
64244         FCHDIR_REPLACEMENT.
64245         * lib/dup-safer.c (dup_safer): Likewise.
64246         * lib/dup2.c (rpl_dup2): Likewise.
64247         * lib/dup3.c (rpl_dup3): Likewise.
64248         * lib/open.c (rpl_open): Likewise.
64250         fchdir: simplify error handling, and support dup3
64251         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
64252         stdbool, malloc-posix, realloc-posix.
64253         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
64254         (ensure_dirs_slot): Return false on allocation failure.
64255         (rpl_dup2): Delete.
64256         (_gl_register_dup): New function.
64257         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
64258         (_gl_register_fd): Close fd on allocation failure.
64259         * lib/fcntl.in.h (_gl_register_fd): Update signature.
64260         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
64261         prototype.
64262         (rpl_dup2_fchdir): Delete prototype.
64263         * lib/open.c (open): Update caller.
64264         * lib/dup2.c (dup2): Track fchdir metadata.
64265         * lib/dup3.c (dup3): Likewise.
64266         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
64267         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
64269 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64271         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
64272         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
64273         don't pass arguments to AC_OUTPUT.
64275 2009-09-02  Bruno Haible  <bruno@clisp.org>
64277         * modules/mkdtemp (License): Relicense under LGPLv2+.
64278         Reported by Paolo Bonzini.
64280 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64282         Replace uses of obsolete autoconf macros in Jim's modules.
64283         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
64284         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
64285         can evoke a warning from autoconf when run with -Wobsolete
64286         enabled.  They were declared obsolete for good reasons (see
64287         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
64288         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
64289         should not continue using the deprecated macros.
64290         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
64291         obsolete Autoconf macros with modern counterparts.
64292         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64293         * m4/dos.m4 (gl_AC_DOS): Likewise.
64294         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
64295         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64296         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
64297         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
64298         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
64299         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
64300         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
64301         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
64302         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
64303         Likewise.
64304         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
64305         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64306         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
64307         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
64308         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64309         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64311 2009-09-01  Eric Blake  <ebb9@byu.net>
64313         fchdir: fix off-by-one bug in previous patch
64314         * lib/fchdir.c (rpl_fstat): Use correct bounds.
64315         (_gl_unregister_fd): Delete useless if.
64317 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
64319         maint.mk: sort the list of syntax-check rules
64320         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
64321         easier to get a sense of progress when the rules are run sequentially
64322         and take a long time.
64324 2009-09-01  Simon Josefsson  <simon@josefsson.org>
64326         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
64327         * modules/netinet_in: Likewise.
64328         * modules/sys_file: Likewise.
64329         * modules/sys_ioctl: Likewise.
64330         * modules/sys_select: Likewise.
64331         * modules/sys_socket: Likewise.
64332         * modules/sys_stat: Likewise.
64333         * modules/sys_time: Likewise.
64334         * modules/sys_times: Likewise.
64335         * modules/sys_utsname: Likewise.
64336         * modules/sys_wait: Likewise.
64338 2009-09-01  Jim Meyering  <meyering@redhat.com>
64340         fts: help ensure that return values are not ignored
64341         * lib/fts_.h (__GNUC_PREREQ): Define.
64342         (__attribute_warn_unused_result__): Define.
64343         (fts_children, fts_close, fts_open, fts_read): Declare with
64344         __attribute_warn_unused_result__.
64346         fts: fts_close now fails also when closing a dir file descriptor fails
64347         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
64348         and propagate to caller, along with errno.
64350         announce-gen: correct formatting in --help output
64351         * build-aux/announce-gen (usage): Move the one-line description in
64352         --help output "up", to where it belongs, just after Usage:.
64354 2009-08-31  Eric Blake  <ebb9@byu.net>
64356         fchdir: port to mingw
64357         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
64358         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
64359         opened, then use a substitute.
64360         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
64361         replacement.
64362         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
64363         (_gl_register_fd): No need to check stat if open already filters
64364         all directories.
64365         (fchdir): Fix error condition to match POSIX.
64366         * modules/fchdir (Depends-on): Add sys_stat.
64367         * doc/posix-functions/open.texi (open): Document the limitation.
64368         * modules/fchdir-tests: New file.
64369         * tests/test-fchdir.c: Likewise.
64371         canonicalize: allow cross-testing from cygwin to mingw
64372         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
64373         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
64374         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
64375         Likewise.
64376         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
64377         target does not support symlinks.
64378         * tests/test-canonicalize-lgpl.sh: Likewise.
64380         chown: avoid compilation warning on mingw
64381         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
64382         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
64383         mingw.
64384         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
64385         * modules/chown (Depends-on): Add errno.
64387 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64389         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
64390         command.
64392 2009-08-31  Jim Meyering  <meyering@redhat.com>
64394         canonicalize: remove useless initialization
64395         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
64396         initialization of local, "end".
64398 2009-08-30  Bruno Haible  <bruno@clisp.org>
64400         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
64401         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
64402         ENOSYS.
64404 2009-08-30  Bruno Haible  <bruno@clisp.org>
64406         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
64407         /usr/xpg4/bin/tr when it exists.
64408         * tests/test-pipe-filter-gi1.sh: Likewise.
64410 2009-08-30  Bruno Haible  <bruno@clisp.org>
64412         Work around deficient /usr/bin/id program on Solaris.
64413         * tests/test-file-has-acl.sh (ID): New variable.
64414         * tests/test-set-mode-acl.sh (ID): Likewise.
64415         * tests/test-copy-acl.sh (ID): Likewise.
64416         * tests/test-copy-file.sh (ID): Likewise.
64418 2009-08-30  Bruno Haible  <bruno@clisp.org>
64420         New module 'xstriconveh'.
64421         * lib/xstriconveh.h: New file.
64422         * lib/xstriconveh.c: New file.
64423         * modules/xstriconveh: New file.
64425 2009-08-30  Bruno Haible  <bruno@clisp.org>
64427         Make it easier to use mem_cd_iconveh.
64428         * lib/striconveh.h (iconveh_t): New type.
64429         (iconveh_open, iconveh_close): New declarations.
64430         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64431         with a single 'const iconveh_t *' argument.
64432         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
64433         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64434         with a single 'const iconveh_t *' argument.
64435         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
64436         * tests/test-striconveh.c (main): Update.
64437         * NEWS: Mention the change.
64439 2009-08-30  Bruno Haible  <bruno@clisp.org>
64441         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
64442         problem.
64444 2009-08-30  Bruno Haible  <bruno@clisp.org>
64446         Work around iconv_open problem on Solaris.
64447         * lib/iconv_open-solaris.gperf: New file.
64448         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
64449         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
64450         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
64451         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
64452         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
64453         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
64455 2009-08-29  Jim Meyering  <meyering@redhat.com>
64457         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
64458         * top/maint.mk (cvs-check): Remove target; it was just an alias
64459         to the better-named vc-diff-check.
64460         (maintainer-distcheck): Remove rule.  It was used only from
64461         the (alpha/beta/major) target, and all of its commands but one
64462         were coreutils-specific.
64463         (vc-dist): Remove rule.
64464         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
64465         Run vc-diff-check, not vc-dist.
64466         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
64468 2009-08-27  Bruno Haible  <bruno@clisp.org>
64470         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64471         of 0.
64473 2009-08-27  Bruno Haible  <bruno@clisp.org>
64475         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64476         compilers.
64477         * doc/func.texi: Document the SunPRO C bug.
64479 2009-08-27  Bruno Haible  <bruno@clisp.org>
64481         Fix link error on Solaris.
64482         * tests/test-parse-duration.c (xstrdup): Remove function.
64484 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64486         ignore-value: handle pointer types, too
64487         * lib/ignore-value.h (__attribute__): Remove definition.
64488         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64489         of a more concise and more-often effective "(void) i" statement.
64490         (ignore_ptr): New function to suppress warnings from functions that
64491         return pointers, and to make it explicit that one function doesn't
64492         handle all cases.
64494 2009-08-25  Bruno Haible  <bruno@clisp.org>
64496         dup2: work around a Linux bug.
64497         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64498         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64499         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64500         Reported by Simon Josefsson.
64502 2009-08-25  Jim Meyering  <meyering@redhat.com>
64504         libguestfs uses gnulib
64505         * users.txt: Add libguestfs.
64507 2009-08-24  Eric Blake  <ebb9@byu.net>
64509         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64510         * lib/pipe2.c (includes): Add binary-io.h.
64511         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64513 2009-08-24  Bruno Haible  <bruno@clisp.org>
64515         Tolerate declared but missing accept4 syscall.
64516         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64517         available.
64518         * lib/sys_socket.in.h (accept4): If the function is already present,
64519         override it.
64520         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64521         * modules/accept4 (Makefile.am): Compile accept4.c always.
64522         Reported by Paolo Bonzini and Eric Blake.
64524 2009-08-23  Bruno Haible  <bruno@clisp.org>
64526         New module 'accept4'.
64527         * lib/sys_socket.in.h (accept4): New declaration.
64528         * lib/accept4.c: New file.
64529         * m4/accept4.m4: New file.
64530         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64531         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64532         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64533         HAVE_ACCEPT4.
64534         * modules/accept4: New file.
64535         * doc/glibc-functions/accept4.texi: Mention the new module.
64537 2009-08-24  Jim Meyering  <meyering@redhat.com>
64539         progname: also set global program_invocation_name, when possible
64540         Before this change, a libtool-enabled program that calls glibc's
64541         error function would report the program name as
64542         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64543         * modules/progname (configure.ac): Check for a declaration of
64544         program_invocation_name.
64545         * lib/progname.c:  Include <errno.h>.
64546         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64547         Set program_invocation_name.
64549 2009-08-23  Bruno Haible  <bruno@clisp.org>
64551         * lib/dup3.c: Include <string.h>.
64553 2009-08-23  Bruno Haible  <bruno@clisp.org>
64555         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64556         * lib/pipe2.c (pipe2): Likewise.
64557         Suggested by Eric Blake.
64559 2009-08-23  Bruno Haible  <bruno@clisp.org>
64561         Tolerate declared but missing dup3 syscall.
64562         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64563         * lib/unistd.in.h (dup3): If the function is already present,
64564         override it.
64565         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64566         * modules/dup3 (Makefile.am): Compile dup3.c always.
64567         Reported by Paolo Bonzini.
64569 2009-08-23  Bruno Haible  <bruno@clisp.org>
64571         Tolerate declared but missing pipe2 syscall.
64572         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64573         available.
64574         * lib/unistd.in.h (pipe2): If the function is already present,
64575         override it.
64576         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64577         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64578         Reported by Paolo Bonzini.
64580 2009-08-23  Bruno Haible  <bruno@clisp.org>
64582         * lib/pipe2.c (pipe2): Move #ifs inside function.
64584 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64586         quotearg: document limitations of quote_these_too
64587         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64588         those limitations are created.
64589         * lib/quotearg.h (set_char_quoting): Document that digits and
64590         letters that are special after backslash are not permitted.
64591         (quotearg_char): Cross-reference set_char_quoting documentation.
64593 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64595         quotearg: implement custom_quoting_style
64596         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64597         right_quote fields.
64598         (set_custom_quoting): New public function.
64599         (quotearg_buffer_restyled): Add left_quote and right_quote
64600         arguments, handle them very much like locale quoting, and update
64601         all uses.
64602         (quotearg_n_custom): New public function.
64603         (quotearg_n_custom_mem): New public function.
64604         (quotearg_custom): New public function.
64605         (quotearg_custom_mem): New public function.
64606         * lib/quotearg.h: Prototype and document new public functions.
64607         (enum quoting_style): For escape_quoting_style and
64608         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64609         ignored even though they're otherwise like c_quoting_style.
64610         Add custom_quoting_style member and document with comparison to
64611         clocale_quoting_style.
64612         * tests/test-quotearg.c (custom_quotes): New array.
64613         (custom_results): New array.
64614         (main): Extend to test custom quoting.
64616 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64618         quotearg: fix right quote escaping when it's in quote_these_too
64619         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64620         quote, be sure to prepend only one backslash.
64621         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64622         (main): Test it.
64624 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64626         quotearg-tests: test escaping of embedded locale quotes
64627         * tests/test-quotearg.c (struct result_strings): Add member for
64628         new input.
64629         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64630         (inputs): Add new input.
64631         (results_g): Add expected results.
64632         (flag_results): Likewise.
64633         (locale_results): Likewise.
64634         (compare_strings): Check those.
64636 2009-08-23  Bruno Haible  <bruno@clisp.org>
64638         Tests for module 'dup3'.
64639         * modules/dup3-tests: New file.
64640         * tests/test-dup3.c: New file.
64642         New module 'dup3'.
64643         * lib/unistd.in.h (dup3): New declaration.
64644         * lib/dup3.c: New file.
64645         * m4/dup3.m4: New file.
64646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64647         HAVE_DUP3.
64648         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64649         * modules/dup3: New file.
64650         * doc/glibc-functions/dup3.texi: Mention the new module.
64652 2009-08-23  Bruno Haible  <bruno@clisp.org>
64654         Tweak the dup2 test.
64655         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64656         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64657         the test file is still empty. Fix argument order of lseek.
64659 2009-08-23  Bruno Haible  <bruno@clisp.org>
64661         Avoid test link errors when the modules getopt-gnu, gettext are used.
64662         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64663         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64665 2009-08-23  Bruno Haible  <bruno@clisp.org>
64667         Fix getdtablesize() on mingw.
64668         * lib/getdtablesize.c (getdtablesize): Implement differently.
64669         * lib/unistd.in.h (getdtablesize): Improve comment.
64671 2009-08-23  Bruno Haible  <bruno@clisp.org>
64673         New module 'mkostemp'.
64674         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64675         * lib/stdlib.in.h (mksotemp): New declaration.
64676         * lib/mkostemp.c: New file, from glibc with modifications.
64677         * lib/tempname.h (GT_FILE): Remove outdated comment.
64678         (gen_tempname): Add flags argument.
64679         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64680         (__GT_FILE): Map to 1.
64681         (small_open, large_open): Remove macros.
64682         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64683         * lib/mkstemp.c (mkstemp): Update.
64684         * lib/mkdtemp.c (mkdtemp): Likewise.
64685         * m4/mkostemp.m4: New file.
64686         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64687         HAVE_MKOSTEMP.
64688         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64689         HAVE_MKOSTEMP.
64690         * modules/mkostemp: New file, based on modules/mkstemp.
64691         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64692         * NEWS: Mention the change.
64694 2009-08-23  Bruno Haible  <bruno@clisp.org>
64696         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64697         Reported by Eric Blake.
64699 2009-08-23  Bruno Haible  <bruno@clisp.org>
64701         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64702         Reported by Eric Blake.
64704 2009-08-23  Bruno Haible  <bruno@clisp.org>
64706         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64707         * modules/pipe2 (Depends-on): Likewise.
64709 2009-08-23  Eric Blake  <ebb9@byu.net>
64711         fcntl-h: add O_TTY_INIT support
64712         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64713         * tests/test-fcntl-h.c (o): Test it.
64714         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64716         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64717         * modules/fcntl: Move <fcntl.h> header replacement...
64718         * modules/fcntl-h: ...to new name, so as not to collide with
64719         like-named function.
64720         * tests/test-fcntl.c: Rename...
64721         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64722         * modules/fcntl-tests: Rename...
64723         * modules/fcntl-h-tests: ...to this.  Update test file name.
64724         * modules/chdir-long (Depends-on): Update clients.
64725         * modules/chdir-safer (Depends-on): Likewise.
64726         * modules/fcntl-safer (Depends-on): Likewise.
64727         * modules/fts (Depends-on): Likewise.
64728         * modules/mkancesdirs (Depends-on): Likewise.
64729         * modules/mkdir-p (Depends-on): Likewise.
64730         * modules/open (Depends-on): Likewise.
64731         * modules/savewd (Depends-on): Likewise.
64732         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64733         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64735 2009-08-22  Bruno Haible  <bruno@clisp.org>
64737         * modules/binary-io (License): Relicense under LGPL.
64738         * modules/pipe2 (License): Likewise.
64740 2009-08-22  Bruno Haible  <bruno@clisp.org>
64742         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64743         return value.
64744         * lib/pipe-filter-gi.c (filter_init): Likewise.
64745         Reported by Eric Blake.
64747 2009-08-22  Bruno Haible  <bruno@clisp.org>
64749         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64750         * modules/pipe (Depends-on): Add pipe2.
64752 2009-08-22  Bruno Haible  <bruno@clisp.org>
64754         Tests for module 'pipe2'.
64755         * modules/pipe2-tests: New file.
64756         * tests/test-pipe2.c: New file.
64758         New module 'pipe2'.
64759         * lib/unistd.in.h (pipe2): New declaration.
64760         * lib/pipe2.c: New file.
64761         * m4/pipe2.m4: New file.
64762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64763         HAVE_PIPE2.
64764         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64765         * modules/pipe2: New file.
64766         * doc/glibc-functions/pipe2.texi: Mention the new module.
64768 2009-08-22  Bruno Haible  <bruno@clisp.org>
64770         Reference some new glibc functions.
64771         * doc/glibc-functions/accept4.texi: New file.
64772         * doc/glibc-functions/dup3.texi: New file.
64773         * doc/glibc-functions/mkostemp.texi: New file.
64774         * doc/glibc-functions/pipe2.texi: New file.
64775         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64776         (Glibc sys/socket.h): Refer to accept4.
64777         (Glibc unistd.h): Refer to dup3, pipe2.
64778         Reported by Eric Blake.
64780 2009-08-22  Jim Meyering  <meyering@redhat.com>
64781             Bruno Haible  <bruno@clisp.org>
64783         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64784         This makes it so packages using automake-1.11's silent-rules option
64785         can print e.g., a single "GEN    configmake.h" line, rather than
64786         the 30+ statements that perform the job.  If you want to see the
64787         actual commands, you can still run "make V=1".
64788         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64789         so that make output is abbreviated when those variables are defined
64790         appropriately.
64791         * modules/argz: Likewise.
64792         * modules/arpa_inet: Likewise.
64793         * modules/byteswap: Likewise.
64794         * modules/configmake: Likewise.
64795         * modules/dirent: Likewise.
64796         * modules/errno: Likewise.
64797         * modules/fcntl: Likewise.
64798         * modules/float: Likewise.
64799         * modules/fnmatch: Likewise.
64800         * modules/getopt-posix: Likewise.
64801         * modules/glob: Likewise.
64802         * modules/iconv_open: Likewise.
64803         * modules/inttypes: Likewise.
64804         * modules/localcharset: Likewise.
64805         * modules/locale: Likewise.
64806         * modules/math: Likewise.
64807         * modules/netdb: Likewise.
64808         * modules/netinet_in: Likewise.
64809         * modules/poll: Likewise.
64810         * modules/posix_spawnp-tests: Likewise.
64811         * modules/sched: Likewise.
64812         * modules/search: Likewise.
64813         * modules/selinux-h: Likewise.
64814         * modules/signal: Likewise.
64815         * modules/spawn: Likewise.
64816         * modules/stdarg: Likewise.
64817         * modules/stdbool: Likewise.
64818         * modules/stddef: Likewise.
64819         * modules/stdint: Likewise.
64820         * modules/stdio: Likewise.
64821         * modules/stdlib: Likewise.
64822         * modules/string: Likewise.
64823         * modules/strings: Likewise.
64824         * modules/sys_file: Likewise.
64825         * modules/sys_ioctl: Likewise.
64826         * modules/sys_select: Likewise.
64827         * modules/sys_socket: Likewise.
64828         * modules/sys_stat: Likewise.
64829         * modules/sys_time: Likewise.
64830         * modules/sys_times: Likewise.
64831         * modules/sys_utsname: Likewise.
64832         * modules/sys_wait: Likewise.
64833         * modules/sysexits: Likewise.
64834         * modules/time: Likewise.
64835         * modules/unistd: Likewise.
64836         * modules/wchar: Likewise.
64837         * modules/wctype: Likewise.
64839 2009-08-22  Jim Meyering  <meyering@redhat.com>
64841         announce-gen: detect write failure
64842         * build-aux/announce-gen: Add Coda at end.
64843         Remove equivalent-but-more-verbose block at top.
64845 2009-08-19  Akim Demaille  <demaille@gostai.com>
64847         bootstrap: --help to stdout.
64848         * bootstrap (usage): Don't send --help to stderr.
64849         Use a here doc instead of a long string.
64851 2009-08-21  Eric Blake  <ebb9@byu.net>
64853         test-popen-safer: split from test-popen
64854         * tests/test-popen.c (main): Move...
64855         * tests/test-popen.h: ...into new file.
64856         * tests/test-popen-safer2.c: New file.
64857         * modules/popen-tests (Files): Add test-popen.h.
64858         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64859         Suggested by Bruno Haible.
64861         test-fcntl-safer: split from test-open
64862         * tests/test-open.c (main): Move...
64863         * tests/test-open.h: ...into new file.
64864         * tests/test-fcntl-safer.c: New file.
64865         * modules/open-tests (Files): Add test-open.h.
64866         * modules/fcntl-safer-tests: New file.
64867         Suggested by Bruno Haible.
64869         test-fopen-safer: split from test-fopen
64870         * tests/test-fopen.c (main): Move...
64871         * tests/test-fopen.h: ...into new file.
64872         * tests/test-fopen-safer.c: New file.
64873         * modules/fopen-tests (Files): Add test-fopen.h.
64874         * modules/fopen-safer-tests: New file.
64875         Suggested by Bruno Haible.
64877 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64879         popen-safer: test O_CLOEXEC at run-time.
64880         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64882 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64884         fcntl: move more flags to the header
64885         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64886         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64887         * lib/fcntl.in.h: Do both things here.
64889 2009-08-21  Jim Meyering  <meyering@redhat.com>
64891         consistently remove $@-t before redirecting to it
64892         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64893         * modules/alloca-opt: Likewise.
64894         * modules/byteswap: Likewise.
64895         * modules/fnmatch: Likewise.
64896         * modules/getopt-posix: Likewise.
64897         * modules/glob: Likewise.
64898         * modules/poll: Likewise.
64899         * modules/posix_spawnp-tests: Likewise.
64900         * modules/sys_socket: Likewise.
64901         * modules/sysexits: Likewise.
64903 2009-08-21  Eric Blake  <ebb9@byu.net>
64905         popen: simplify access to original popen
64906         * lib/popen.c (rpl_popen): No need to worry about popen being a
64907         macro.
64908         Reported by Bruno Haible.
64910 2009-08-20  Eric Blake  <ebb9@byu.net>
64912         build: avoid some compiler warnings
64913         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64914         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64915         type.
64916         (new_exclude_segment, excluded_file_pattern_p)
64917         (excluded_file_name_p): Reduce scope.
64918         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64919         old-style declaration.
64921 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64923         * tests/test-exclude1.sh: Handle Windows EOL.
64924         * tests/test-exclude2.sh: Likewise.
64925         * tests/test-exclude3.sh: Likewise.
64926         * tests/test-exclude4.sh: Likewise.
64927         * tests/test-exclude5.sh: Likewise.
64928         * tests/test-exclude6.sh: Likewise.
64929         * tests/test-exclude7.sh: Likewise.
64931 2009-08-19  Akim Demaille  <demaille@gostai.com>
64933         bootstrap: find sha1sum when named gsha1sum.
64934         * bootstrap (find_tool): New.
64935         ($SHA1SUM): New.
64936         Use it.
64938 2009-08-20  Jim Meyering  <meyering@redhat.com>
64940         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64941         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64942         expression that converts "." in a file name to "\." in the resulting
64943         regexp.  Start with a dummy statement, so that prior shell variable
64944         definitions are expanded portably.  Reported by Simon Josefsson.
64946 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64948         Fix polling for writeability of a screen buffer.
64949         * lib/poll.c: Distinguish input and screen buffers for the
64950         Win32 implementation.
64951         * lib/select.c: Likewise.
64953 2009-08-19  Eric Blake  <ebb9@byu.net>
64955         popen-safer: prevent popen from clobbering std descriptors
64956         * modules/popen-safer: New file.
64957         * lib/popen-safer.c: Likewise.
64958         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64959         * lib/stdio--.h (popen): Provide override.
64960         * lib/stdio-safer.h (popen_safer): Provide declaration.
64961         * tests/test-popen.c (includes): Partially test this.
64962         * modules/popen-safer-tests: New file, for more tests.
64963         * tests/test-popen-safer.c: Likewise.
64964         * MODULES.html.sh (file stream based Input/Output): Mention it.
64966         tests: test some of the *-safer modules
64967         * modules/fopen-safer (Depends-on): Add fopen.
64968         * modules/fcntl-safer (Depends-on): Add fcntl.
64969         * modules/stdlib-safer (Depends-on): Add stdlib.
64970         (configure.ac): Set indicator.
64971         * modules/unistd-safer (configure.ac): Likewise.
64972         * modules/tmpfile-safer (configure.ac): Likewise.
64973         (Depends-on): Add tmpfile.
64974         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64975         active.
64976         * tests/test-fopen.c (includes): Test safer versions when they are
64977         in use.
64978         * tests/test-open.c (includes): Likewise.
64980         popen: fix cygwin 1.5 bug when stdin closed
64981         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64982         * modules/popen: New file.
64983         * modules/popen-tests: Likewise.
64984         * tests/test-popen.c: Likewise.
64985         * m4/popen.m4: Likewise.
64986         * lib/popen.c: Likewise.
64987         * lib/stdio.in.h (popen): New declaration.
64988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64989         * modules/stdio (Makefile.am): Likewise.
64990         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64992 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64994         maint.mk: give full control over update-copyright exclusions
64995         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64996         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64997         (update-copyright): Don't force inclusion of top-level
64998         ChangeLog.  Don't force exclusion of all COPYING files, but make
64999         them the default exclusion instead.
65001 2009-08-16  Bruno Haible  <bruno@clisp.org>
65003         Fix test failures on Solaris 10.
65004         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
65005         tests when Solaris iconv() is used.
65006         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65007         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65008         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65009         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65010         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65012 2009-08-16  Bruno Haible  <bruno@clisp.org>
65014         Fix test failures on Solaris 10.
65015         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
65016         'tr' program and pass it as first argument.
65017         * tests/test-pipe-filter-gi1.sh: Likewise.
65018         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
65019         program as first argument.
65020         * tests/test-pipe-filter-gi1.c (main): Likewise.
65022 2009-08-16  Eric Blake  <ebb9@byu.net>
65024         fpurge: fix previous commits
65025         * modules/fpurge (Makefile.am): Make replacement conditional,
65026         partially reverting 2007-04-29 change; missed in previous
65027         attempt.
65028         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
65029         is missing.
65031 2009-08-16  Bruno Haible  <bruno@clisp.org>
65033         Clarify fpurge's effect on the file position.
65034         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
65035         * tests/test-fpurge.c (main): Make a second pass for checking the file
65036         position.
65038 2009-08-16  Bruno Haible  <bruno@clisp.org>
65040         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
65041         declaration of fpurge is missing.
65042         * tests/test-fpurge.c (main): Check that the file has not more contents
65043         than expected. Close the file before removing it.
65045 2009-08-15  Eric Blake  <ebb9@byu.net>
65047         fpurge: don't wrap working cygwin implementation
65048         * lib/fpurge.c (fpurge): Fix comment typo.
65049         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
65050         1.7 to avoid replacement.
65051         * tests/test-fpurge.c (main): Enhance test.
65053 2009-08-15  Eric Blake  <ebb9@byu.net>
65054         and Jim Meyering  <meyering@redhat.com>
65056         test-update-copyright: skip if perl is insufficient
65057         * tests/test-update-copyright.sh: Failure to run maintainer tool
65058         should not cause testsuite failure on cygwin 1.5.
65060 2009-08-14  Eric Blake  <ebb9@byu.net>
65062         doc: mention more functions added in cygwin 1.7.0
65063         * doc/posix-headers/limits.texi (limits.h): Update for recent
65064         cygwin additions.
65065         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
65066         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
65067         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
65068         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
65069         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
65071 2009-08-14  Eric Blake  <ebb9@byu.net>
65073         maint.mk: simplify update-copyright rule
65074         * top/maint.mk (update-copyright-local): Delete, and document how
65075         to do it in cfg.mk instead.
65076         (update-copyright-exclude-regexp): Delete, and document how to do
65077         it in .x-update-copyright instead.
65078         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
65079         exclude ChangeLog.
65081 2009-08-14  Bruno Haible  <bruno@clisp.org>
65083         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
65085 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65087         maint.mk: support update-copyright-env
65088         * top/maint.mk (update-copyright-env): Define place-holder.
65089         (update-copyright): Expand $(update-copyright-env) before
65090         invoking update-copyright.
65092 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65094         update-copyright: implement forced reformatting
65095         * build-aux/update-copyright: Implement and document
65096         UPDATE_COPYRIGHT_FORCE.
65097         * tests/test-update-copyright.sh: Test it.
65099 2009-08-14  Eric Blake  <ebb9@byu.net>
65100         and Bruno Haible  <bruno@clisp.org>
65102         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
65103         * tests/test-locale.c: Revert previous patch related to NULL.
65104         * tests/test-stdio.c: Likewise.
65105         * tests/test-stdlib.c: Likewise.
65106         * tests/test-string.c: Likewise.
65107         * tests/test-unistd.c: Likewise.
65108         * modules/time-tests (Depends-on): Add verify.
65109         * modules/wchar-tests (Depends-on): Likewise.
65110         * tests/test-time.c: Test for NULL compliance.
65111         * tests/test-wchar.c: Likewise.
65112         * modules/locale (Depends-on): Add stddef.
65113         * modules/stdio (Depends-on): Likewise.
65114         * modules/stdlib (Depends-on): Likewise.
65115         * modules/string (Depends-on): Likewise.
65116         * modules/time (Depends-on): Likewise.
65117         * modules/unistd (Depends-on): Likewise.
65118         * modules/wchar (Depends-on): Likewise.
65119         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
65120         * lib/stdlib.in.h (includes): Likewise.
65121         * lib/string.in.h (includes): Likewise.
65122         * lib/time.in.h (includes): Likewise.
65123         * lib/unistd.in.h (includes): Likewise.
65124         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
65125         replaced.
65126         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65127         * m4/stddef_h.m4: New file.
65128         * modules/stddef: Likewise.
65129         * lib/stddef.in.h: Likewise.
65130         * modules/stddef-tests: Likewise.
65131         * tests/test-stddef.c: Likewise.
65132         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
65133         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
65134         * doc/posix-headers/locale.texi (locale.h): Likewise.
65135         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
65136         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65137         * doc/posix-headers/string.texi (string.h): Likewise.
65138         * doc/posix-headers/time.texi (time.h): Likewise.
65139         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
65140         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
65142 2009-08-14  Eric Blake  <ebb9@byu.net>
65144         doc: improve git diff of texinfo files
65145         * .gitattributes: Add rule for *.texi files, with hint on how to
65146         use it.
65147         Copied from m4, and based on a report by Bruno Haible.
65149 2009-08-14  Bruno Haible  <bruno@clisp.org>
65151         Disable multithread support by default on Cygwin 1.5.x for real.
65152         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
65154 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65156         update-copyright: much ado about intervals
65157         * build-aux/update-copyright: Implement and document
65158         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
65159         of copyright year intervals.
65160         Also, document UPDATE_COPYRIGHT_YEAR.
65161         * tests/test-update-copyright.sh: Test it.
65163         update-copyright: convert 2-digit to 4-digit years
65164         * build-aux/update-copyright: Implement and document.
65165         * tests/test-update-copyright.sh: Update.
65167 2009-08-14  Jim Meyering  <meyering@redhat.com>
65169         test-exclude: avoid coreutils "make check" failure
65170         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
65171         just as in test-argmatch.c.
65173 2009-08-13  Eric Blake  <ebb9@byu.net>
65175         test-dup2: fix bad assumption
65176         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
65177         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
65179         test-version-etc: fix CRLF portability issue
65180         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
65181         recognize \r.
65182         * tests/test-argp-version-etc-1.sh: Likewise.
65184         getopt: update client modules
65185         * modules/argp (Depends-on): Use getopt-gnu.
65186         * modules/git-merge-changelog (Depends-on): Likewise.
65187         * modules/long-options (Depends-on): Likewise.
65188         * modules/xstrtol (Depends-on): Likewise.
65190 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65192         * tests/test-version-etc.sh: Don't fail on different
65193         project/version.  Don't fail on CRLF differences.  Rewrite to use
65194         multiple -e instead of multiple sed forks, suggested by Eric Blake
65195         <ebb9@byu.net>.
65196         * tests/test-argp-version-etc-1.sh: Likewise.
65198 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65200         * tests/test-version-etc.sh: Don't fail on different
65201         project/version.
65203 2009-08-12  Bruno Haible  <bruno@clisp.org>
65205         Tests for modules 'getopt-posix', 'getopt-gnu'.
65206         * modules/getopt-posix-tests: New file.
65207         * tests/test-getopt.c: New file.
65208         * tests/test-getopt.h: New file.
65209         * tests/test-getopt_long.h: New file.
65211         New modules 'getopt-posix', 'getopt-gnu'.
65212         * modules/getopt-gnu: New file, renamed from modules/getopt.
65213         * modules/getopt-posix: New file.
65214         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
65215         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
65216         (gl_GETOPT): Remove macro.
65217         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
65218         Disable the test against BSD systems that declare optreset. Test
65219         against mingw bug. Test against lack of support of optional arguments
65220         on many platforms.
65221         * doc/glibc-headers/getopt.texi: Update module name and list of
65222         relevant platforms.
65223         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
65224         'getopt-gnu' and more portability problems.
65225         * NEWS: Mention the changes.
65227 2009-08-12  Bruno Haible  <bruno@clisp.org>
65229         Ensure that optarg etc. get declared by <unistd.h>.
65230         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
65231         AC_USE_SYSTEM_EXTENSIONS.
65232         * modules/getopt (Depends-on): Add 'extensions'.
65234 2009-08-12  Bruno Haible  <bruno@clisp.org>
65236         Avoid test link errors.
65237         * modules/pipe-filter-ii-tests (Makefile.am): Define
65238         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
65239         * modules/pipe-filter-gi-tests (Makefile.am): Define
65240         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
65241         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65243 2009-08-12  Bruno Haible  <bruno@clisp.org>
65245         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
65246         gl_GETOPT_SUBSTITUTE before.
65247         (gl_GETOPT): Use it.
65248         * m4/argp.m4 (gl_ARGP): Update.
65249         Reported by Sergey Poznyakoff.
65251         * m4/getopt.m4: Reorder macros.
65252         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
65253         (gl_GETOPT_SUBSTITUTE): Remove macro.
65255 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65257         Minor improvement in gitlog-to-changelog
65259         * build-aux/gitlog-to-changelog: New option `--format' makes
65260         output format string configurable.
65262 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65264         Optimize exclude: use hash tables for non-wildcard patterns.
65266         * lib/exclude.c: Include hash.h and mbuiter.h
65267         (struct exclude_pattern, exclude_segment): New data types.
65268         (struct exclude): Rewrite.
65269         (fnmatch_pattern_has_wildcards): New function.
65270         (new_exclude_segment, free_exclude_segment): New functions.
65271         (excluded_file_pattern_p, excluded_file_name_p): New functions.
65272         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
65273         * lib/exclude.h (is_fnmatch_pattern): New prototype.
65274         * modules/exclude: Depend on hash and mbuiter.
65276         * modules/exclude-tests: New file.
65277         * tests/test-exclude.c: New file.
65278         * tests/test-exclude1.sh: New file.
65279         * tests/test-exclude2.sh: New file.
65280         * tests/test-exclude3.sh: New file.
65281         * tests/test-exclude4.sh: New file.
65282         * tests/test-exclude5.sh: New file.
65283         * tests/test-exclude6.sh: New file.
65284         * tests/test-exclude7.sh: New file.
65286 2009-08-12  Bruno Haible  <bruno@clisp.org>
65288         Ensure that getopt() gets declared by <unistd.h>.
65289         * lib/unistd.in.h: Conditionally include getopt.h.
65290         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
65291         Set GNULIB_UNISTD_H_GETOPT.
65292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65293         GNULIB_UNISTD_H_GETOPT.
65294         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
65296 2009-08-12  Bruno Haible  <bruno@clisp.org>
65298         Clarify logic.
65299         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
65300         gl_replace_getopt instead of GETOPT_H.
65302 2009-08-12  Bruno Haible  <bruno@clisp.org>
65304         * m4/getopt.m4: Add comments.
65306 2009-08-12  Bruno Haible  <bruno@clisp.org>
65308         Disable multithread support by default on Cygwin 1.5.x.
65309         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
65310         set gl_use_threads=no if not specified otherwise.
65312 2009-08-11  Bruno Haible  <bruno@clisp.org>
65314         Avoid compilation error on NetBSD 5.0.
65315         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
65316         * tests/test-stdio.c: Likewise.
65317         * tests/test-stdlib.c: Likewise.
65318         * tests/test-string.c: Likewise.
65319         * tests/test-unistd.c: Likewise.
65320         Reported by Greg Troxel <gdt@ir.bbn.com>
65321         at <https://savannah.gnu.org/support/?106973>.
65323 2009-08-11  Bruno Haible  <bruno@clisp.org>
65325         * modules/dup2-tests (Depends-on): Remove close.
65327         Undo 2009-07-19 commit.
65328         * modules/acl-tests (Depends-on): Remove close.
65329         * modules/binary-io-tests (Depends-on): Likewise.
65330         * modules/closein-tests (Depends-on): Likewise.
65331         * modules/flock-tests (Depends-on): Likewise.
65332         * modules/fsync-tests (Depends-on): Likewise.
65333         * modules/lseek-tests (Depends-on): Likewise.
65334         * modules/pipe-tests (Depends-on): Likewise.
65335         * modules/posix_spawn-tests (Depends-on): Likewise.
65336         * modules/posix_spawnp-tests (Depends-on): Likewise.
65337         * modules/stat-time-tests (Depends-on): Likewise.
65338         * modules/yesno-tests (Depends-on): Likewise.
65340 2009-08-10  Bruno Haible  <bruno@clisp.org>
65342         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
65344 2009-08-10  Bruno Haible  <bruno@clisp.org>
65346         Fix a gcc warning.
65347         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
65349 2009-08-10  Bruno Haible  <bruno@clisp.org>
65351         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
65352         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
65353         not only the first time.
65354         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
65355         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
65356         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
65357         is 1, not only the first time.
65359 2009-08-10  Bruno Haible  <bruno@clisp.org>
65361         Make it possible to use module 'gethostname' without module 'close'.
65362         * lib/unistd.in.h (close): Evoke a link error only if
65363         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65365         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65366         * modules/unistd (Makefile.am): Substitute
65367         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65368         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
65369         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65370         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
65371         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65372         * modules/sys_ioctl (Makefile.am): Substitute
65373         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65374         * modules/socket (configure.ac): On native Windows, set
65375         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
65376         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65377         Reported by Sam Steingold <sds@gnu.org>.
65379 2009-08-10  Bruno Haible  <bruno@clisp.org>
65381         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
65382         * modules/ioctl (configure.ac): Likewise.
65384 2009-08-10  Bruno Haible  <bruno@clisp.org>
65386         Avoid collision between gnulib wrapper and libintl wrapper.
65387         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
65388         already defined in intl/printf.c.
65389         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
65390         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
65392 2009-08-09  Bruno Haible  <bruno@clisp.org>
65394         Make <sys/select.h> really self-contained, also on Solaris 10.
65395         * lib/sys_select.in.h: Include <string.h>.
65396         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
65397         Solaris 10 problem.
65398         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
65399         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
65400         Reported by Jim Meyering.
65402 2009-08-09  Bruno Haible  <bruno@clisp.org>
65404         Avoid warnings from 'aclocal' that are due to a use of macro name
65405         AM_XGETTEXT_OPTION that is not defined in automake.
65406         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
65407         automake.
65408         * modules/error (configure.ac): Likewise.
65409         * modules/propername (configure.ac): Likewise.
65410         * modules/vasprintf (configure.ac): Likewise.
65411         * modules/verror (configure.ac): Likewise.
65412         * modules/xprintf (configure.ac): Likewise.
65413         * modules/xvasprintf (configure.ac): Likewise.
65415 2009-08-08  Bruno Haible  <bruno@clisp.org>
65417         Avoid compilation error in C++ mode.
65418         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
65419         Reported by Sam Steingold <sds@gnu.org>.
65421 2009-08-08  Bruno Haible  <bruno@clisp.org>
65423         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
65424         for the various Unix platforms.
65425         * doc/posix-headers/limits.texi: Update platforms list regarding
65426         HOST_NAME_MAX.
65427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65429 2009-08-07  Jim Meyering  <meyering@redhat.com>
65431         selinux-at: fix typo in a comment
65432         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
65433         Spotted by Paolo Bonzini.
65435         selinux-at: remove redundant m4 code, add documentation
65436         * modules/selinux-at (configure.ac): Remove redundant code.
65437         LIB_SELINUX is already set via the dependent module, selinux-h.
65438         (Include): Add quotes around selinux-at.h.
65439         * lib/selinux-at.h: Add documentation.
65440         Reported by Bruno Haible in
65441         http://marc.info/?l=gnulib-bug&m=124958988300749
65443 2009-08-07  Bruno Haible  <bruno@clisp.org>
65445         Avoid link error on MacOS X 10.3 and 10.4.
65446         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
65447         on non-ELF systems.
65448         * lib/argp-pv.c (argp_program_version): Likewise.
65449         Reported by Simon Josefsson.
65451 2009-08-07  Simon Josefsson  <simon@josefsson.org>
65453         * tests/test-version-etc.sh: Use $EXEEXT.
65455 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
65457         update-copyright: update documentation to point to maint.mk
65458         * build-aux/update-copyright: Here.
65460 2009-08-06  Jim Meyering  <meyering@redhat.com>
65462         maint.mk: support update-copyright-local
65463         * top/maint.mk (update-copyright-local): Define place-holder.
65464         (update-copyright): Depend on $(update-copyright-local).
65466 2009-08-06  Jim Meyering  <meyering@redhat.com>
65468         selinux-at: new module
65469         Initially written for coreutils, this module will soon be
65470         used by findutils, too.
65471         * MODULES.html.sh [Misc]: Add selinux-at.
65472         * lib/selinux-at.h: New file, from coreutils.
65473         * lib/selinux-at.c: Likewise.
65474         * modules/selinux-at: Likewise.
65475         (License): Change from LGPL to GPL, since it depends
65476         on the GPL'd openat module.
65478         doc: update README
65479         * README: Remove references to cogito.
65480         Remove cvs-repo-updating instructions from 2007.
65481         Don't imply that CVS is better if you have limited disk space.
65483 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65485         update-copyright: support C-style comments
65486         * build-aux/update-copyright: Implement and document.
65487         * tests/test-update-copyright.sh: Test.
65489 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65491         update-copyright: support omitted "(C)"
65492         * build-aux/update-copyright: Implement and document.  Also,
65493         allow variable whitespace before "(C)".
65494         * tests/test-update-copyright.sh: Test.
65496 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65498         update-copyright: don't trip on non-FSF copyright statements
65499         * build-aux/update-copyright: Fix so that the first correctly
65500         formatted FSF copyright statement is recognized no matter what
65501         appears before it.  Update documentation.
65502         * tests/test-update-copyright.sh: Test that.
65504 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65506         update-copyright: clean up code a little
65507         * build-aux/update-copyright: Append "_re" to the name of any
65508         variable holding a regular expression.
65509         Replace "old" and "new" with "stmt" in variable names.
65510         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65511         handled correctly.
65512         Format code more consistently.
65514 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65516         update-copyright-tests: improve portability
65517         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65518         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65520 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65522         update-copyright: support @copyright{} and &copy;
65523         * build-aux/update-copyright: Implement and document.
65524         * tests/test-update-copyright.sh: Test.
65526 2009-08-04  Jim Meyering  <meyering@redhat.com>
65528         update-copyright-tests: correctly test EOL=\r\n handling
65529         * tests/test-update-copyright.sh: Put \r at the end of some lines
65530         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65532         maint.mk: make update-copyright exclusion list more configurable
65533         * top/maint.mk (update-copyright): Default to excluding COPYING,
65534         but allow an override, in case someone does want to update that file.
65536         maint.mk: don't update copyright date in COPYING
65537         * top/maint.mk (update-copyright): Exclude COPYING.
65539         maint.mk: add a copyright-updating rule
65540         * top/maint.mk (update-copyright): New rule.
65541         Derived from coreutils/Makefile.am.
65543         update-copyright: rename some variables
65544         * build-aux/update-copyright: Rename a few variables for clarity.
65545         Tweak syntax.  List Joel E. Denny as coauthor.
65547 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65549         update-copyright: fix bug for 2-digit last year and add tests
65550         * build-aux/update-copyright: Fix bug.
65551         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65552         specified.
65553         * modules/update-copyright-tests: New
65554         * tests/test-update-copyright.sh: New.
65556 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65558         update-copyright: handle leading tabs in line prefix
65559         * build-aux/update-copyright: Count leading tabs as 8 spaces
65560         when computing margin.  This helps with the formatting of
65561         ChangeLogs, for example.
65562         Fix documentation a little.
65564 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65566         update-copyright: support EOL=\r\n
65567         * build-aux/update-copyright: Implement that.
65569 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65571         update-copyright: automatically format copyright statements
65572         * build-aux/update-copyright: Implement that.
65573         Also, be a little more predictable and safer by always failing
65574         when the full copyright format is not perfectly recognized as an
65575         unbroken whole.  Discussed at
65576         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65577         Rewrite documentation.
65579 2009-08-03  Bruno Haible  <bruno@clisp.org>
65581         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65583 2009-08-02  Bruno Haible  <bruno@clisp.org>
65585         Tests for module 'uname'.
65586         * modules/uname-tests: New file.
65587         * tests/test-uname.c: New file.
65589         New module 'uname'.
65590         * lib/uname.c: New file.
65591         * m4/uname.m4: New file.
65592         * modules/uname: New file.
65593         * doc/posix-functions/uname.texi: Mention the new module.
65595 2009-08-02  Bruno Haible  <bruno@clisp.org>
65597         Tests for module 'sys_utsname'.
65598         * modules/sys_utsname-tests: New file.
65599         * tests/test-sys_utsname.c: New file.
65601         New module 'sys_utsname'.
65602         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65603         * m4/sys_utsname_h.m4: New file.
65604         * modules/sys_utsname: New file.
65605         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65607 2009-08-02  Bruno Haible  <bruno@clisp.org>
65609         Implicitly initialize the sockets library.
65610         * lib/gethostname.c: Include sockets.h.
65611         (rpl_gethostname): Invoke gl_sockets_startup.
65612         * lib/socket.c: Include sockets.h.
65613         (rpl_socket): Invoke gl_sockets_startup.
65614         * modules/gethostname (Depends-on): Add sockets.
65615         * modules/socket (Depends-on): Likewise.
65616         * tests/test-poll.c: Don't include sockets.h.
65617         (main): Don't invoke gl_sockets_startup.
65618         * tests/test-select.c: Don't include sockets.h.
65619         (main): Don't invoke gl_sockets_startup.
65621 2009-08-02  Bruno Haible  <bruno@clisp.org>
65623         Allow multiple calls to gl_sockets_startup.
65624         * lib/sockets.c (initialized_sockets_version): New variable.
65625         (gl_sockets_startup): Do nothing if already called for this or a higher
65626         version.
65627         (gl_sockets_cleanup): Reset initialized_sockets_version.
65629 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65631         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65632         different project/version.
65634 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65635             Bruno Haible  <bruno@clisp.org>
65637         Tests for module 'pipe-filter-gi'.
65638         * modules/pipe-filter-gi-tests: New file.
65639         * tests/test-pipe-filter-gi1.sh: New file.
65640         * tests/test-pipe-filter-gi1.c: New file.
65641         * tests/test-pipe-filter-gi2.sh: New file.
65642         * tests/test-pipe-filter-gi2-main.c: New file.
65643         * tests/test-pipe-filter-gi2-child.c: New file.
65645         New module 'pipe-filter-gi'.
65646         * lib/pipe-filter-gi.c: New file.
65647         * modules/pipe-filter-gi: New file.
65649 2009-08-02  Bruno Haible  <bruno@clisp.org>
65650             Paolo Bonzini  <bonzini@gnu.org>
65652         Tests for module 'pipe-filter-ii'.
65653         * modules/pipe-filter-ii-tests: New file.
65654         * tests/test-pipe-filter-ii1.sh: New file.
65655         * tests/test-pipe-filter-ii1.c: New file.
65656         * tests/test-pipe-filter-ii2.sh: New file.
65657         * tests/test-pipe-filter-ii2-main.c: New file.
65658         * tests/test-pipe-filter-ii2-child.c: New file.
65660         New module 'pipe-filter-ii'.
65661         * lib/pipe-filter.h: New file.
65662         * lib/pipe-filter-ii.c: New file.
65663         * lib/pipe-filter-aux.h: New file.
65664         * modules/pipe-filter-ii: New file.
65666 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65668         * lib/gc-libgcrypt.c: Change copyright to FSF.
65669         * lib/gc-gnulib.c: Likewise.
65671 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65673         * lib/gethostname.c: Include limits.h.
65675 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65676             Bruno Haible  <bruno@clisp.org>
65678         Ensure HOST_NAME_MAX as part of the gethostname module.
65679         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65680         define also HOST_NAME_MAX.
65681         * tests/test-gethostname.c: Include <limits.h>.
65682         (main): Check also HOST_NAME_MAX.
65683         * doc/posix-headers/limits.texi: Document the mingw problem.
65685 2009-08-02  Bruno Haible  <bruno@clisp.org>
65687         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65688         Add comments.
65690 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65692         * lib/gethostname.c: Add Windows wrapper.
65693         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65694         * modules/gethostname: Depend on sys_socket & errno, for also
65695         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65696         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65698 2009-07-31  Jim Meyering  <meyering@redhat.com>
65700         getloadavg: fix symbol name in comment
65701         * lib/getloadavg.c: Correct a typo I introduced when adding
65702         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65703         Matt Kraai spotted the problem.
65705 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65707         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65708         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65709         code also if ! defined N_NAME_POINTER.
65710         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65711         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65712         but the n_name member is a 12-byte array.
65714 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65716         update-copyright: generalize comment handling
65717         * build-aux/update-copyright: Handle copyright statements
65718         within more comment styles.
65719         Document usage.
65720         Report any file with an external copyright holder or parse failure.
65722 2009-07-29  Jim Meyering  <meyering@redhat.com>
65724         mktime: correct setting of REPLACE_MKTIME
65725         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65727         update-copyright: new module
65728         * modules/update-copyright: New file.
65729         * build-aux/update-copyright: New file.
65730         * MODULES.html.sh (maint+release support): Add update-copyright.
65732 2009-07-27  Bruno Haible  <bruno@clisp.org>
65734         Fix compilation error when <ctime> is used and mktime is replaced.
65735         * lib/time.in.h (mktime): New declaration.
65736         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65737         REPLACE_MKTIME instead of defining mktime in config.h.
65738         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65739         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65740         Reported by Ross McFarland <rwmcfa1@neces.com>.
65742 2009-07-27  Bruno Haible  <bruno@clisp.org>
65744         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65745         Reported by Matt Kraai <mkraai@beckman.com>.
65747 2009-07-25  Jim Meyering  <meyering@redhat.com>
65749         maint.mk: avoid warnings about missing files
65750         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65751         diagnostic when .prev-version does not exist.
65752         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65753         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65754         nonexistent cfg.mk.
65755         Suggestions from Simon Josefsson.
65757 2009-07-25  Bruno Haible  <bruno@clisp.org>
65759         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65760         defined as macros. Needed on QNX 6.4.1.
65761         Reported by Matt Kraai <mkraai@beckman.com>.
65763 2009-07-23  Jim Meyering  <meyering@redhat.com>
65765         maint.mk: invoke "make dist" with a working value of XZ_OPT
65766         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65768 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65770         Make fseeko.c compile on QNX.
65771         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65773 2009-07-22  Peter Simons  <simons@cryp.to>
65775         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65776         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65777         * lib/md4.h: Likewise.
65778         * lib/md5.h: Likewise.
65779         * lib/sha1.h: Likewise.
65780         * lib/sha256.h: Likewise.
65781         * lib/sha512.h: Likewise.
65783         tests-sha1: don't assign literal string to 'char *' variable
65784         * tests/test-sha1.c (main): Declare locals with "const" to match
65785         attributes of the right hand side.
65787 2009-07-21  Eric Blake  <ebb9@byu.net>
65789         dup2: fix more mingw problems
65790         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65791         fd to itself.
65792         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65793         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65794         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65795         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65796         care of mingw bugs.
65798 2009-07-21  Jim Meyering  <meyering@redhat.com>
65800         vc-list-files: avoid failure when /bin/sh is dash
65801         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65802         On some Debian based systems, /bin/sh is a symlink to dash, and running
65803         this command would omit the "/" following each 'tests' prefix:
65804           dash -x build-aux/vc-list-files -C . tests
65805         That is because bash and dash work differently:
65806           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65807           bash ok
65808           dash odd
65810 2009-07-21  Eric Blake  <ebb9@byu.net>
65812         dup2-tests: test previous patch
65813         * modules/dup2-tests: New file.
65814         * tests/test-dup2.c: Likewise.
65815         * tests/test-open.c (main): Avoid unspecified behavior.
65816         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65817         test.
65819         dup2: work around mingw and cygwin 1.5 bug
65820         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65822         * modules/unistd (Makefile.am): Substitute it.
65823         * lib/unistd.in.h (dup2): Declare the replacement.
65824         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65825         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65826         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65827         * modules/execute (Depends-on): Add dup2.
65828         * modules/fseterr (Depends-on): Likewise.
65829         * modules/pipe (Depends-on): Likewise.
65830         * modules/posix_spawn-internal (Depends-on): Likewise.
65832 2009-07-21  Bruno Haible  <bruno@clisp.org>
65834         * modules/.gitattributes: New file.
65836 2009-07-20  Bruno Haible  <bruno@clisp.org>
65838         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65839         (main): Use it.
65841 2009-07-20  Eric Blake  <ebb9@byu.net>
65843         test-pipe: make a bit more robust.
65844         * tests/test-pipe.c (myerr): Allow error messages regardless of
65845         what we do to stderr.
65846         (test_pipe): Rearrange to avoid deadlock.
65847         (child_main): Try a larger read, to ensure we avoided deadlock.
65848         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65849         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65850         if misused.
65852 2009-07-19  Jim Meyering  <meyering@redhat.com>
65854         fts: avoid false-positive cycle-detection
65855         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65856         for each new command line argument.
65858 2009-07-19  Bruno Haible  <bruno@clisp.org>
65860         Fix build error on mingw with the modules sys_select and unistd.
65861         * modules/acl-tests (Depends-on): Add close.
65862         * modules/binary-io-tests (Depends-on): Likewise.
65863         * modules/closein-tests (Depends-on): Likewise.
65864         * modules/flock-tests (Depends-on): Likewise.
65865         * modules/fsync-tests (Depends-on): Likewise.
65866         * modules/lseek-tests (Depends-on): Likewise.
65867         * modules/pipe-tests (Depends-on): Likewise.
65868         * modules/posix_spawn-tests (Depends-on): Likewise.
65869         * modules/posix_spawnp-tests (Depends-on): Likewise.
65870         * modules/stat-time-tests (Depends-on): Likewise.
65871         * modules/yesno-tests (Depends-on): Likewise.
65873 2009-07-19  Bruno Haible  <bruno@clisp.org>
65875         Unify conditionals.
65876         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65877         macros, not at the compiler macros.
65878         * lib/pipe.c: Likewise.
65879         * lib/execute.c: Likewise.
65880         * lib/spawni.c: Likewise.
65882 2009-07-19  Bruno Haible  <bruno@clisp.org>
65884         Fix handling of closed stdin/stdout/stderr on mingw.
65885         * lib/w32spawn.h: Include unistd.h.
65886         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65887         file descriptor with O_NOINHERIT flag.
65888         (fd_safer_noinherit): New function, based on fd-safer.c.
65889         (dup_safer_noinherit): New function, based on dup-safer.c.
65890         (undup_safer_noinherit): New function.
65891         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65892         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65893         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65894         instead of fd_safer.
65895         * tests/test-pipe.c: Include <windows.h>.
65896         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65897         result.
65899         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65900         from main.
65901         (test_pipe): Pass an extra argument for disambiguation.
65902         (main): Invoke parent_main or child_main.
65904         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65905         consistently.
65907 2009-07-18  Eric Blake  <ebb9@byu.net>
65909         test-pipe: fix mingw build
65910         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65912 2009-07-18  Bruno Haible  <bruno@clisp.org>
65914         * modules/pipe-tests (Makefile.am): Fix typo.
65916 2009-07-18  Eric Blake  <ebb9@byu.net>
65918         error: fix mingw build
65919         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65920         Reported by Bruno Haible.
65922         error: avoid undefined use of stdout
65923         * lib/error.c (error, error_at_line): Check that fd 1 is open
65924         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65925         is handling faults and the close_stdout module wants to report the
65926         detection of closed stdout as an error.
65928 2009-07-17  Eric Blake  <ebb9@byu.net>
65930         pipe: be robust in face of closed fds
65931         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65932         should cause child to misbehave.
65933         * modules/pipe-tests: New module.
65934         * tests/test-pipe.c: New file.
65935         * tests/test-pipe.sh: New file.
65936         Reported by Akim Demaille.
65938 2009-07-14  Bruno Haible  <bruno@clisp.org>
65940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65941         Reported by anonymous kc.
65943 2009-07-07  Jim Meyering  <meyering@redhat.com>
65945         maint.mk: don't look for translatable strings in *.m4 or *.mk
65946         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65947         when searching for translatable strings.
65949 2009-07-05  Jim Meyering  <meyering@redhat.com>
65951         remove superfluous parentheses in STREQ definition
65952         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65953         * lib/getugroups.c (STREQ): Likewise.
65954         * lib/fnmatch.c (STREQ): Likewise.
65955         Spotted by Bruno Haible.
65957 2009-07-04  Jim Meyering  <meyering@redhat.com>
65959         argv-iter: new module
65960         * MODULES.html.sh: Add argv-iter.
65961         * lib/argv-iter.c, lib/argv-iter.h: New files.
65962         * modules/argv-iter: New file.
65963         * modules/argv-iter-tests: New file.
65964         * tests/test-argv-iter.c: Test it.
65966 2009-07-04  Bruno Haible  <bruno@clisp.org>
65968         Fix assertion.
65969         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65970         contains more exact copies of a given entry than file2, leave the extra
65971         copies unpaired rather than aborting.
65972         Reported by Eric Blake.
65974 2009-07-02  Bruno Haible  <bruno@clisp.org>
65976         Speedup git-merge-changelog for git cherry-pick.
65977         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65978         (entries_mapping_get): New function, extracted from compute_mapping.
65979         (entries_mapping_reverse_get): New function.
65980         (compute_mapping): Add a 'full' argument. Return the result in a
65981         'struct entries_mapping'.
65982         (main): Update. Access the mappings through entries_mapping_get.
65983         Reported by Eric Blake.
65985 2009-07-02  Bruno Haible  <bruno@clisp.org>
65987         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65988         best_i.
65990 2009-07-02  Bruno Haible  <bruno@clisp.org>
65992         Speed up approximate search for matching ChangeLog entries.
65993         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65994         argument. Call fstrcmp_bounded instead of fstrcmp.
65995         (compute_mapping, try_split_merged_entry, main): Update callers.
65997 2009-07-02  Bruno Haible  <bruno@clisp.org>
65999         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
66001 2009-06-30  Bruno Haible  <bruno@clisp.org>
66003         Reduce the number of uc_is_cased calls.
66004         * lib/unicase.h (casing_suffix_context_t): Add
66005         'first_char_except_ignorable' field.
66006         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
66007         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
66008         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
66009         Update initializer.
66010         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
66011         case-ignorable characters.
66012         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
66013         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
66014         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
66015         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
66016         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
66018 2009-06-30  Bruno Haible  <bruno@clisp.org>
66020         Tests for module 'unicase/ignorable'.
66021         * modules/unicase/ignorable-tests: New file.
66022         * tests/unicase/test-ignorable.c: New file, generated by
66023         gen-uni-tables.
66025         Tests for module 'unicase/cased'.
66026         * modules/unicase/cased-tests: New file.
66027         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
66028         * tests/unicase/test-predicate-part1.h: New file, derived from
66029         tests/unictype/test-predicate-part1.h.
66030         * tests/unicase/test-predicate-part2.h: New file, same as
66031         tests/unictype/test-predicate-part2.h.
66033         Fix evaluation of "Before C" condition of FINAL_SIGMA.
66034         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
66035         (output_casing_properties): New function.
66036         (main): Call it.
66037         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
66038         * lib/unicase/cased.c: Include unictype/bitmap.h.
66039         (uc_is_cased): Define through a bitmap lookup.
66040         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
66041         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
66042         (uc_is_case_ignorable): Define through a bitmap lookup.
66043         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
66044         lib/unictype/bitmap.h.
66045         (Depends-on): Add inline. Clean up.
66046         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
66047         lib/unictype/bitmap.h.
66048         (Depends-on): Add inline. Clean up.
66049         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
66050         recognition.
66051         * tests/unicase/test-u16-tolower.c (main): Likewise.
66052         * tests/unicase/test-u32-tolower.c (main): Likewise.
66054 2009-06-30  Bruno Haible  <bruno@clisp.org>
66056         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
66057         * lib/unicase/u16-casemap.c: Likewise.
66058         * lib/unicase/u32-casemap.c: Likewise.
66060 2009-06-29  Bruno Haible  <bruno@clisp.org>
66062         Define u32_casefold as a wrapper around u32_ct_casefold.
66063         * lib/unicase/u32-casefold.c: Update.
66064         * modules/unicase/u32-casefold (Depends-on): Add
66065         unicase/u32-ct-casefold, unicase/empty-prefix-context,
66066         unicase/empty-suffix-context. Clean up.
66068         Define u16_casefold as a wrapper around u16_ct_casefold.
66069         * lib/unicase/u16-casefold.c: Update.
66070         * modules/unicase/u16-casefold (Depends-on): Add
66071         unicase/u16-ct-casefold, unicase/empty-prefix-context,
66072         unicase/empty-suffix-context. Clean up.
66074         Define u8_casefold as a wrapper around u8_ct_casefold.
66075         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
66076         * lib/unicase/u8-casefold.c: Update.
66077         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
66078         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66080         Define u32_totitle as a wrapper around u32_ct_totitle.
66081         * lib/unicase/u32-totitle.c: Update.
66082         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
66083         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66085         Define u16_totitle as a wrapper around u16_ct_totitle.
66086         * lib/unicase/u16-totitle.c: Update.
66087         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
66088         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66090         Define u8_totitle as a wrapper around u8_ct_totitle.
66091         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
66092         functions.
66093         (FUNC): Delegate to U_CT_TOTITLE.
66094         * lib/unicase/u8-totitle.c: Update.
66095         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
66096         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66098         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
66099         invocation.
66100         * modules/unicase/u32-tolower (Depends-on): Add
66101         unicase/empty-prefix-context, unicase/empty-suffix-context.
66103         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
66104         invocation.
66105         * modules/unicase/u16-tolower (Depends-on): Add
66106         unicase/empty-prefix-context, unicase/empty-suffix-context.
66108         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
66109         * modules/unicase/u8-tolower (Depends-on): Add
66110         unicase/empty-prefix-context, unicase/empty-suffix-context.
66112         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
66113         invocation.
66114         * modules/unicase/u32-toupper (Depends-on): Add
66115         unicase/empty-prefix-context, unicase/empty-suffix-context.
66117         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
66118         invocation.
66119         * modules/unicase/u16-toupper (Depends-on): Add
66120         unicase/empty-prefix-context, unicase/empty-suffix-context.
66122         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
66123         * modules/unicase/u8-toupper (Depends-on): Add
66124         unicase/empty-prefix-context, unicase/empty-suffix-context.
66126         New module 'unicase/u32-ct-casefold'.
66127         * lib/unicase/u32-ct-casefold.c: New file.
66128         * modules/unicase/u32-ct-casefold: New file.
66130         New module 'unicase/u16-ct-casefold'.
66131         * lib/unicase/u16-ct-casefold.c: New file.
66132         * modules/unicase/u16-ct-casefold: New file.
66134         New module 'unicase/u8-ct-casefold'.
66135         * lib/unicase/u8-ct-casefold.c: New file.
66136         * lib/unicase/u-ct-casefold.h: New file, derived from
66137         lib/unicase/u-casefold.h.
66138         * modules/unicase/u8-ct-casefold: New file.
66140         New module 'unicase/u32-ct-totitle'.
66141         * lib/unicase/u32-ct-totitle.c: New file.
66142         * modules/unicase/u32-ct-totitle: New file.
66144         New module 'unicase/u16-ct-totitle'.
66145         * lib/unicase/u16-ct-totitle.c: New file.
66146         * modules/unicase/u16-ct-totitle: New file.
66148         New module 'unicase/u8-ct-totitle'.
66149         * lib/unicase/u8-ct-totitle.c: New file.
66150         * lib/unicase/u-ct-totitle.h: New file, derived from
66151         lib/unicase/u-totitle.h.
66152         * modules/unicase/u8-ct-totitle: New file.
66154         New module 'unicase/u32-ct-tolower'.
66155         * lib/unicase/u32-ct-tolower.c: New file.
66156         * modules/unicase/u32-ct-tolower: New file.
66158         New module 'unicase/u16-ct-tolower'.
66159         * lib/unicase/u16-ct-tolower.c: New file.
66160         * modules/unicase/u16-ct-tolower: New file.
66162         New module 'unicase/u8-ct-tolower'.
66163         * lib/unicase/u8-ct-tolower.c: New file.
66164         * modules/unicase/u8-ct-tolower: New file.
66166         New module 'unicase/u32-ct-toupper'.
66167         * lib/unicase/u32-ct-toupper.c: New file.
66168         * modules/unicase/u32-ct-toupper: New file.
66170         New module 'unicase/u16-ct-toupper'.
66171         * lib/unicase/u16-ct-toupper.c: New file.
66172         * modules/unicase/u16-ct-toupper: New file.
66174         New module 'unicase/u8-ct-toupper'.
66175         * lib/unicase/u8-ct-toupper.c: New file.
66176         * modules/unicase/u8-ct-toupper: New file.
66178         Add context arguments to u*_casemap functions.
66179         * lib/unicase/unicasemap.h: Include unicase.h.
66180         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
66181         suffix_context arguments.
66182         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
66183         functions.
66184         (FUNC): Add prefix_context and suffix_context arguments. Use
66185         uc_is_cased and uc_is_case_ignorable.
66186         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
66187         * lib/unicase/u16-casemap.c: Likewise.
66188         * lib/unicase/u32-casemap.c: Likewise.
66189         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
66190         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66191         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
66192         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66193         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
66194         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66196         New module 'unicase/u32-suffix-context'.
66197         * lib/unicase/u32-suffix-context.c: New file.
66198         * modules/unicase/u32-suffix-context: New file.
66200         New module 'unicase/u16-suffix-context'.
66201         * lib/unicase/u16-suffix-context.c: New file.
66202         * modules/unicase/u16-suffix-context: New file.
66204         New module 'unicase/u8-suffix-context'.
66205         * lib/unicase/u8-suffix-context.c: New file.
66206         * lib/unicase/u-suffix-context.h: New file.
66207         * modules/unicase/u8-suffix-context: New file.
66209         New module 'unicase/empty-suffix-context'.
66210         * lib/unicase/empty-suffix-context.c: New file.
66211         * modules/unicase/empty-suffix-context: New file.
66213         New module 'unicase/u32-prefix-context'.
66214         * lib/unicase/u32-prefix-context.c: New file.
66215         * modules/unicase/u32-prefix-context: New file.
66217         New module 'unicase/u16-prefix-context'.
66218         * lib/unicase/u16-prefix-context.c: New file.
66219         * modules/unicase/u16-prefix-context: New file.
66221         New module 'unicase/u8-prefix-context'.
66222         * lib/unicase/u8-prefix-context.c: New file.
66223         * lib/unicase/u-prefix-context.h: New file.
66224         * lib/unicase/context.h: New file.
66225         * modules/unicase/u8-prefix-context: New file.
66227         New module 'unicase/empty-prefix-context'.
66228         * lib/unicase/empty-prefix-context.c: New file.
66229         * modules/unicase/empty-prefix-context: New file.
66231         New module 'unicase/ignorable'.
66232         * lib/unicase/ignorable.c: New file.
66233         * modules/unicase/ignorable: New file.
66235         New module 'unicase/cased'.
66236         * lib/unicase/caseprop.h: New file.
66237         * lib/unicase/cased.c: New file.
66238         * modules/unicase/cased: New file.
66240         New functions for case mapping of substrings.
66241         * lib/unicase.h (casing_prefix_context_t): New type.
66242         (unicase_empty_prefix_context): New variable.
66243         (u8_casing_prefix_context, u16_casing_prefix_context,
66244         u32_casing_prefix_context, u8_casing_prefixes_context,
66245         u16_casing_prefixes_context, u32_casing_prefixes_context): New
66246         declarations.
66247         (casing_suffix_context_t): New type.
66248         (unicase_empty_suffix_context): New variable.
66249         (u8_casing_suffix_context, u16_casing_suffix_context,
66250         u32_casing_suffix_context, u8_casing_suffixes_context,
66251         u16_casing_suffixes_context, u32_casing_suffixes_context,
66252         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
66253         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
66254         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
66255         declarations.
66257 2009-06-28  Jim Meyering  <meyering@redhat.com>
66259         boostrap: indent only with spaces
66260         * build-aux/bootstrap: Indent only with spaces, never TABs.
66262         bootstrap: split long lines
66263         * build-aux/bootstrap: Keep line length < 80.
66265         bootstrap: sync from coreutils
66266         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
66267         just as autoreconf does.  Verify a list of prerequisite
66268         package-name,version-number pairs if defined in bootstrap.conf.
66269         Refer to README-prereq, if prerequisites are not satisfied.
66271 2009-06-27  Eric Blake  <ebb9@byu.net>
66273         tests: add test for bogus NULL definition
66274         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
66275         * tests/test-stdlib.c: Likewise.
66276         * tests/test-string.c: Likewise.
66277         * tests/test-locale.c: Likewise.
66278         * tests/test-unistd.c: Likewise.
66279         * modules/stdio-tests (Depends-on): Add verify.
66280         * modules/stdlib-tests (Depends-on): Likewise.
66281         * modules/string-tests (Depends-on): Likewise.
66282         * modules/locale-tests (Depends-on): Likewise.
66283         * modules/unistd-tests (Depends-on): Likewise.
66285 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
66287         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
66288         self-explaining comment.
66289         * m4/selinux-selinux-h: Update serial.
66290         (gl_LIBSELINUX): New macro, adding a warning for missing development
66291         packages to code extracted from...
66292         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
66293         Add warning for missing development packages here, too.
66295 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
66297         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
66299 2009-06-25  Eric Blake  <ebb9@byu.net>
66301         version-etc: fix regression
66302         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
66303         gcc.
66304         (version_etc): Use it, to catch bugs with trailing NULL.
66305         * lib/version-etc.c (version_etc_arn): Delete unused argument.
66306         (version_etc_va): Fix logic bug.
66307         * modules/version-etc-tests: Add test.
66308         * tests/test-version-etc.c: New file.
66309         * tests/test-version-etc.sh: Likewise.
66311 2009-06-25  Sam Steingold  <sds@gnu.org>
66313         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
66314         mbtowc declaration.
66316 2009-06-25  Eric Blake  <ebb9@byu.net>
66318         fpurge: migrate into <stdio.h>
66319         * lib/fpurge.h: Delete...
66320         * lib/stdio.in.h (fpurge): ...and declare here, instead.
66321         * lib/fpurge.c (fpurge): Change declaring header.
66322         * modules/fpurge (Files): Drop deleted file.
66323         (Depends-on): Add stdio.
66324         (configure.ac): Set witness.
66325         * modules/stdio (Makefile.am): Support fpurge macros.
66326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66327         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
66328         * lib/fflush.c: Update client.
66329         * tests/test-fpurge.c: Likewise.
66330         * NEWS: Mention the change.
66332 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66334         * lib/argp-version-etc.c (program_authors): Add const
66335         qualifier.
66336         * lib/version-etc.c: Fix typos in the comments.
66337         * modules/argp-version-etc: Depends on version-etc.
66339 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66341         argp-version-etc: new module.
66343         * lib/argp-version-etc.c: New file.
66344         * lib/argp-version-etc.h: New file.
66345         * modules/argp-version-etc: New file.
66346         * modules/argp-version-etc-tests: New file.
66347         * tests/test-argp-version-etc.c: New test.
66348         * tests/test-argp-version-etc-1.sh: New test.
66350 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66352         Provide additional interfaces and documentation for version-etc
66353         module.
66355         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
66356         interfaces.
66357         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
66358         prototypes.
66360 2009-06-24  Bruno Haible  <bruno@clisp.org>
66362         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
66363         HAVE_LIB${NAME} macro.
66364         Reported by Sam Steingold <sds@gnu.org>.
66366 2009-06-23  Simon Josefsson  <simon@josefsson.org>
66368         * modules/hash-tests (test_hash_LDADD): Link to libintl when
66369         needed.
66371 2009-06-21  Bruno Haible  <bruno@clisp.org>
66373         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
66374         work.
66375         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
66376         together with LIB${NAME}, LTLIB${NAME}.
66377         Reported by Sam Steingold <sds@gnu.org>.
66379 2009-06-20  Jim Meyering  <meyering@redhat.com>
66381         tests: make sc_require_test_exit_idiom more generic
66382         * top/maint.mk (Exit_witness_file): New overridable variable.
66383         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
66384         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
66386 2009-06-19  Jim Meyering  <meyering@redhat.com>
66388         hash: reverse order of src/dst parameters in an internal interface
66389         * lib/hash.c (transfer_entries): Reverse order of parameters to
66390         put DST before SRC.  Adjust callers.
66392         tests: test-hash: avoid wholesale duplication
66393         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
66394         Instead, use a loop and add a single conditional.
66396         tests: test-hash: allow seed selection via a command line argument
66397         * tests/test-hash.c (get_seed): New function.
66398         (main): Use it.
66400 2009-06-19  Eric Blake  <ebb9@byu.net>
66402         hash: avoid memory leak on allocation failure
66403         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
66404         failure.  Factor repeated algorithm...
66405         (transfer_entries): ...into new helper routine.
66406         (hash_delete): React to hash_rehash return value.
66408         hash: reduce memory pressure in hash_rehash no-op case
66409         * lib/hash.c (next_prime): Avoid overflow.
66410         (hash_initialize): Factor bucket size computation...
66411         (compute_bucket_size): ...into new helper function.
66412         (hash_rehash): Use new function and open coding to reduce memory
66413         pressure, and avoid a memory leak in USE_OBSTACK code.
66414         Reported by Jim Meyering.
66416 2009-06-18  Eric Blake  <ebb9@byu.net>
66418         hash: make rotation more obvious
66419         * modules/hash (Depends-on): Add bitrotate and stdint.
66420         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
66421         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
66422         (SIZE_MAX): Rely on headers for definition.
66423         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
66424         (raw_hasher): Use rotr_sz.
66425         Suggested by Jim Meyering.
66427         hash: fix memory leak in last patch
66428         * lib/hash.c (hash_rehash): Avoid memory leak.
66430         hash: avoid no-op rehashing
66431         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
66433         hash: provide default callback functions
66434         * lib/hash.c (raw_hasher, raw_comparator): New functions.
66435         (hash_initialize): Use them as defaults.
66436         * tests/test-hash.c (main): Test this.
66438         hash: minor optimization
66439         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
66440         when possible.
66441         (hash_initialize): Document this promise.
66442         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
66443         * tests/test-hash.c (hash_compare_strings): Test this.
66445 2009-06-18  Bruno Haible  <bruno@clisp.org>
66447         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
66448         going to be replaced anyway.
66450 2009-06-18  Bruno Haible  <bruno@clisp.org>
66452         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
66453         in one place.
66454         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
66455         be replaced anyway.
66457 2009-06-18  Eric Blake  <ebb9@byu.net>
66459         hash: check for resize before insertion
66460         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
66461         threshold before insertion, so that a pathological hash_rehash
66462         that fills every bucket can still trigger another rehash.
66464 2009-06-18  Jim Meyering  <meyering@redhat.com>
66466         hash-tests: add a loop around the small tests
66467         * tests/test-hash.c (main): Repeat small tests with selected
66468         small initial table sizes.
66470 2009-06-17  Eric Blake  <ebb9@byu.net>
66472         hash: minor cleanups
66473         * lib/hash.h (hash_entry): Make opaque, by moving...
66474         * lib/hash.c (hash_entry): ...here.
66475         (hash_insert): Clarify restrictions on what can be inserted.
66476         (hash_get_next): Clarify when it is safe to remove an element
66477         during traversal.
66478         (check_tuning): Skip verification when tuning is known safe.
66479         (hash_initialize): Clarify restrictions on tuning.
66481 2009-06-17  Jim Meyering  <jim@meyering.net>
66482         and Eric Blake  <ebb9@byu.net>
66484         hash-tests: new module
66485         * modules/hash-tests: New file.
66486         * tests/test-hash.c: New file.
66488 2009-06-17  Eric Blake  <ebb9@byu.net>
66490         strstr-simple: document new module
66491         * MODULES.html.sh: Document new module.
66493         strstr, strcasestr: replace on platforms with broken memchr
66494         * modules/strstr: Split into...
66495         * modules/strstr-simple: ...new module that does not care about
66496         performance, but does care about glibc bug.
66497         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66498         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66499         if platform memchr is broken, per Debian bug 521737.
66500         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66501         memchr.
66502         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66503         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66504         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66505         * modules/mountlist (Depends-on): Add strstr-simple.
66506         * modules/gen-uni-tables (Depends-on): Likewise.
66507         * modules/argz (Depends-on): Add strstr.
66509 2009-06-17  Bruno Haible  <bruno@clisp.org>
66511         * modules/posix_spawn-internal (Depends-on): Add errno.
66513 2009-06-17  Bruno Haible  <bruno@clisp.org>
66515         Define missing ESTALE on Interix 3.5.
66516         * lib/errno.in.h (ESTALE): Assign a value if missing.
66517         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66518         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66519         missing.
66520         * doc/posix-headers/errno.texi: Mention the Interix bug.
66521         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66523 2009-06-15  Eric Blake  <ebb9@byu.net>
66525         memchr, memchr2: add valgrind exception
66526         * lib/memchr.valgrind: New file.
66527         * lib/memchr2.valgrind: New file.
66528         * modules/memchr (Files): Distribute valgrind file.
66529         * modules/memchr2 (Files): Likewise.
66531         docs: memchr is no longer obsolete
66532         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66533         * lib/string.in.h (memchr): Simplify logic.
66535 2009-06-14  Jim Meyering  <meyering@redhat.com>
66537         link-follow: fix the "checking..." message to not mention trailing slash
66538         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66539         never considered trailing slashes.
66541 2009-06-14  Bruno Haible  <bruno@clisp.org>
66543         * m4/memchr.m4: Mention also the bug on IA-64.
66544         * doc/posix-functions/memchr.texi: Likewise.
66546 2009-06-12  Eric Blake  <ebb9@byu.net>
66548         memchr: detect broken x86_64 and alpha implementations
66549         * modules/memchr-tests (Depends-on): Move mmap detection...
66550         * modules/memchr (Depends-on): ...here.
66551         (configure.ac): Set indicator.
66552         * lib/string.in.h (memchr): Declare replacement.
66553         * modules/string (Makefile.am): Trigger replacement.
66554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66555         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66556         bugs.
66557         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66558         * modules/getpagesize (License): Relax license.
66560 2009-06-11  Bruno Haible  <bruno@clisp.org>
66562         * lib/idpriv.h: Add more references.
66564 2009-06-08  Bruno Haible  <bruno@clisp.org>
66566         Tests for module 'idpriv-droptemp'.
66567         * modules/idpriv-droptemp-tests: New file.
66568         * tests/test-idpriv-droptemp.sh: New file.
66569         * tests/test-idpriv-droptemp.su.sh: New file.
66570         * tests/test-idpriv-droptemp.c: New file.
66572         New module 'idpriv-droptemp'.
66573         * lib/idpriv-droptemp.c: New file.
66574         * modules/idpriv-droptemp: New file.
66576 2009-06-08  Bruno Haible  <bruno@clisp.org>
66578         Tests for module 'idpriv-drop'.
66579         * modules/idpriv-drop-tests: New file.
66580         * tests/test-idpriv-drop.sh: New file.
66581         * tests/test-idpriv-drop.su.sh: New file.
66582         * tests/test-idpriv-drop.c: New file.
66584         New module 'idpriv-drop'.
66585         * lib/idpriv.h: New file.
66586         * lib-idpriv-drop.c: New file.
66587         * m4/idpriv.m4: New file.
66588         * modules/idpriv-drop: New file.
66590 2009-06-08  Bruno Haible  <bruno@clisp.org>
66592         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66593         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66594         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66595         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66596         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66597         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66598         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66600 2009-06-08  Eric Blake  <ebb9@byu.net>
66602         test-strstr: use memory fence, when possible
66603         * tests/test-strstr.c (main): Use memory fence, in order to be
66604         more likely to trigger Debian bug 521737.
66605         * modules/strstr-tests (Files): Pull in additional files.
66607         memchr: no longer obsolete, for wider field testing
66608         * modules/memchr (Status, Notice): Delete, this module is no
66609         longer obsolete.
66610         * modules/vasnprintf (Depends-on): Add memchr.
66612 2009-06-07  Jim Meyering  <meyering@redhat.com>
66614         hash: declare some functions with the warn_unused_result attribute
66615         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66617 2009-06-07  Bruno Haible  <bruno@clisp.org>
66619         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66620         Reported by Eric Blake.
66622 2009-06-06  Eric Blake  <ebb9@byu.net>
66624         test-alignof: fix typo with long double
66625         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66626         compiler error.
66628 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66630         Escape non-texinfo { and }s.
66631         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66632         markup error.
66634 2009-06-04  Jim Meyering  <meyering@redhat.com>
66636         gitlog-to-changelog: don't infloop on an empty commit log
66637         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66638         Reported by Boris Petersen <transacid@centerim.org>.
66640 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66642         version-etc: extend for packagers
66643         Add three new configure options, intended for packagers:
66644           --with-packager="packager name"
66645           --with-packager-version="packager-specific version"
66646           --with-packager-bug-reports="packager bug reporting"
66647         An example with coreutils:
66648           $ ./configure \
66649             --with-packager=Gentoo \
66650             --with-packager-bug-report=http://bugs.gentoo.org/ \
66651             --with-packager-version="patchset 1.6"
66652           $ ./src/ls --version | head -n2
66653           ls (GNU coreutils) 7.1-dirty
66654           Packaged by Gentoo (patchset 1.6)
66655         Note that the bug reporting info via --help doesn't show up because
66656         coreutils uses its own custom emit_bug_reporting_address() implementation
66657         in src/system.h.  If it didn't, it'd look like:
66658           $ ./src/ls --help | tail -n4
66659           Report bugs to <bug-coreutils@gnu.org>.
66660           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66661           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66662           General help using GNU software: <http://www.gnu.org/gethelp/>.
66663         * lib/version-etc.c: Print new information, if provided.
66664         * m4/version-etc.m4: New file.
66665         * modules/version-etc (Files): Add m4/version-etc.m4.
66666         (configure.ac): Add gl_VERSION_ETC.
66668 2009-05-31  Bruno Haible  <bruno@clisp.org>
66670         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66671         and 'int64_t'.
66672         * modules/alignof-tests (Dependencies): Add stdint.
66673         Reported by Eric Blake.
66675 2009-05-31  Bruno Haible  <bruno@clisp.org>
66677         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66678         restriction due to compiler bugs.
66679         Reported by Eric Blake.
66681 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66682             Bruno Haible  <bruno@clisp.org>
66684         Fix test-alignof failure.
66685         * lib/alignof.h (alignof_slot): New macro.
66686         (alignof_type): New macro, with the same semantics as the previous
66687         'alignof'.
66688         (alignof): Alias to alignof_slot.
66689         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66690         check that the results are usable as constant expressions.
66692 2009-05-31  Bruno Haible  <bruno@clisp.org>
66694         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66695         * tests/test-memchr.c (main): Check that memchr does not read past the
66696         first occurrence of the byte.
66697         * tests/test-strstr.c (main): Update comment.
66698         Suggested by Eric Blake.
66700 2009-05-30  Bruno Haible  <bruno@clisp.org>
66702         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66703         detail how to use dumpbin.
66704         Reported by David Byron <dbyron@dbyron.com>.
66706 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66708         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66710 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66712         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66714 2009-05-28  Bruno Haible  <bruno@clisp.org>
66716         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66717         build-aux/ files.
66719 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66721         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66723 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66725         * gnulib-tool (sed_transform_main_lib_file)
66726         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66727         regexps.
66729 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66731         * tests/test-strstr.c: Add another self-test.
66732         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66733         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66735 2009-05-23  Bruno Haible  <bruno@clisp.org>
66737         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66738         change.
66740 2009-05-21  Bruno Haible  <bruno@clisp.org>
66742         Simplify use of mode_t varargs.
66743         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66744         uses 'mode_t' or 'int'.
66745         * lib/openat.c (openat): Likewise.
66746         * lib/open-safer.c (open_safer): Likewise.
66747         * m4/mode_t.m4: New file.
66748         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66749         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66750         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66751         * modules/open (Files): Add m4/mode_t.m4.
66752         * modules/openat (Files): Likewise.
66753         * modules/fcntl-safer (Files): Likewise.
66754         Suggested by Eric Blake.
66756 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66758         * doc/glibc-functions/fallocate.texi: New file.
66759         * doc/gnulib.texi: Include it.
66761 2009-05-21  Eric Blake  <ebb9@byu.net>
66762             Bruno Haible  <bruno@clisp.org>
66764         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66765         invocations.
66766         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66768 2009-05-21  Eric Blake  <ebb9@byu.net>
66769             Bruno Haible  <bruno@clisp.org>
66771         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66772         include_next. Fix of 2008-11-20 commit.
66773         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66774         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66775         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66776         NEXT_MATH_H.
66777         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66778         instead of NEXT_MATH_H.
66780 2009-05-21  Bruno Haible  <bruno@clisp.org>
66782         Avoid redefinition warnings for SIZE_MAX.
66783         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66784         Reported by Simon Josefsson.
66786 2009-05-21  Bruno Haible  <bruno@clisp.org>
66788         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66789         AC_CACHE_VAL.
66791 2009-05-20  Bruno Haible  <bruno@clisp.org>
66793         Make zeroptr.h work on mingw.
66794         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66795         mprotect.
66796         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66797         * modules/memchr2-tests (configure.ac): Likewise.
66798         * modules/memcmp-tests (configure.ac): Likewise.
66799         * modules/memmem-tests (configure.ac): Likewise.
66800         * modules/memrchr-tests (configure.ac): Likewise.
66801         Reported by Simon Josefsson.
66803 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66805         * tests/test-glob.c: Include string.h for strcmp prototype.
66807 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66809         * modules/getdelim (Depends-on): Add explicit stdint, although it
66810         was implicitly already pulled in via realloc-posix.
66811         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66813 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66815         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66816         G. Christensen" <tgc@jupiterrise.com>.
66817         * m4/sys_socket_h.m4: Check for sa_family_t.
66818         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66819         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66820         * tests/test-sys_socket.c: Check that sa_family_t works.
66822 2009-05-18  Eric Blake  <ebb9@byu.net>
66824         maint.mk: allow gnulib_dir in VPATH build
66825         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66827 2009-05-15  Jim Meyering  <meyering@redhat.com>
66829         maint.mk: Give gnulib_dir a default definition.
66830         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66831         Thus, most packages no longer need to specify this variable in cfg.mk
66833 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66835         rename.m4: fix typos that would make non-mingw cross-configure fail
66836         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66838 2009-05-13  Eric Blake  <ebb9@byu.net>
66840         mmap-anon: avoid out-of-order autoconf expansion
66841         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66842         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66843         * modules/memchr-tests (Depends-on): Add extensions.
66844         * modules/memchr2-tests (Depends-on): Add extensions.
66845         * modules/memcmp-tests (Depends-on): Add extensions.
66846         * modules/memmem-tests (Depends-on): Add extensions.
66847         * modules/memrchr-tests (Depends-on): Add extensions.
66849 2009-05-13  Bruno Haible  <bruno@clisp.org>
66851         Make some tests ISO C 99 compliant.
66852         * tests/zerosize-ptr.h: New file.
66853         * tests/test-memchr.c: Include zerosize-ptr.h.
66854         (main): Use a zero-size object pointer instead of NULL.
66855         * tests/test-memchr2.c: Include zerosize-ptr.h.
66856         (main): Use a zero-size object pointer instead of NULL.
66857         * tests/test-memcmp.c: Include zerosize-ptr.h.
66858         (main): Use a zero-size object pointer instead of NULL.
66859         * tests/test-memmem.c: Include zerosize-ptr.h.
66860         (main): Use a zero-size object pointer instead of NULL.
66861         * tests/test-memrchr.c: Include zerosize-ptr.h.
66862         (main): Use a zero-size object pointer instead of NULL.
66863         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66864         m4/mmap-anon.m4.
66865         (Depends-on): Add getpagesize.
66866         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66867         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66868         m4/mmap-anon.m4.
66869         (Depends-on): Add getpagesize.
66870         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66871         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66872         m4/mmap-anon.m4.
66873         (Depends-on): Add getpagesize.
66874         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66875         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66876         m4/mmap-anon.m4.
66877         (Depends-on): Add getpagesize.
66878         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66879         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66880         m4/mmap-anon.m4.
66881         (Depends-on): Add getpagesize.
66882         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66884 2009-05-12  Bruno Haible  <bruno@clisp.org>
66886         Tests for module 'alignof'.
66887         * modules/alignof-tests: New file.
66888         * tests/test-alignof.c: New file.
66890 2009-05-12  Bruno Haible  <bruno@clisp.org>
66892         Fix alignof macro.
66893         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66894         vendor compilers that are always correct.
66896 2009-05-12  Bruno Haible  <bruno@clisp.org>
66898         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66899         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66900         not whether its fully works.
66902 2009-05-12  Bruno Haible  <bruno@clisp.org>
66904         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66906 2009-05-12  Jim Meyering  <meyering@redhat.com>
66908         * top/maint.mk: Adjust backslash alignment.
66910 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66912         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66914 2009-05-11  Eric Blake  <ebb9@byu.net>
66916         argp: avoid undefined behavior
66917         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66918         macros.
66920 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66922         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66923         user.name to prevent git commit from complaining.
66925 2009-05-10  Bruno Haible  <bruno@clisp.org>
66927         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66928         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66929         it rewrites every file name only once.
66930         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66932 2009-05-08  Bruno Haible  <bruno@clisp.org>
66934         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66935         instead of 'max'.
66937 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66939         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66940         sockaddr_storage test.
66942 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66944         * modules/sys_socket (Makefile.am): Substitute
66945         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66946         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66947         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66948         * tests/test-sys_socket.c: Check sockaddr_storage.
66950 2009-05-08  Bruno Haible  <bruno@clisp.org>
66952         New module 'alignof'.
66953         * lib/alignof.h: New file.
66954         * modules/alignof: New file.
66956 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66957             Bruno Haible  <bruno@clisp.org>
66959         Fix test-file-has-acl on FreeBSD.
66960         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66961         mask is implicitly added.
66962         * tests/test-file-has-acl.c: Include <signal.h>.
66963         (main): Terminate the test after 5 seconds.
66964         * modules/acl-tests (configure.ac): Check for alarm function.
66966 2009-05-04  Bruno Haible  <bruno@clisp.org>
66968         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66969         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66970         * modules/errno (configure.ac): Drop AC_REQUIRE.
66971         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66972         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66974 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66976         * modules/glob-tests: New module.
66977         * tests/test-glob.c: Add.
66979 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66981         * modules/fnmatch-tests: New module.
66982         * tests/test-fnmatch.c: Add.
66984 2009-05-04  Eric Blake  <ebb9@byu.net>
66986         maint: make the new no-submodule-changes rule VPATH-safe
66987         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66989 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66990             Bruno Haible  <bruno@clisp.org>
66992         acl: Fix infinite loop on FreeBSD.
66993         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66994         of return value from acl_get_entry.
66995         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66996         Likewise.
66998 2009-05-03  Bruno Haible  <bruno@clisp.org>
67000         * lib/acl-internal.h (acl_entries): Clarify return value.
67001         * lib/acl_entries.c (acl_entries): Likewise.
67003 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67005         Bug fix in acl module.
67006         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
67008 2009-05-03  Bruno Haible  <bruno@clisp.org>
67010         Create gperf-generated file in the source dir, not in the build dir.
67011         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
67012         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
67013         * modules/unicase/locale-language (unicase/locale-languages.h):
67014         Likewise.
67015         * modules/unicase/special-casing (unicase/special-casing-table.h):
67016         Likewise.
67017         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
67018         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
67019         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
67020         Reported by Ralf Wildenhues.
67022 2009-05-03  Bruno Haible  <bruno@clisp.org>
67024         * modules/fnmatch (Description, configure.ac): Taken from
67025         fnmatch-posix.
67026         * modules/fnmatch-posix: Turn into a symbolic reference to the
67027         'fnmatch' module, and deprecate.
67028         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
67030 2009-05-03  Bruno Haible  <bruno@clisp.org>
67032         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
67033         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
67034         Reported by Ralf Wildenhues.
67036 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67038         * m4/fnmatch.m4: Fix fnmatch re-define.
67040 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67042         priv-set: new module and tests; adapt write-any-file
67043         * lib/priv-set.c: New file.
67044         * lib/priv-set.h: New file.
67045         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
67046         * lib/write-any-file.c: Simplify by using priv-set module.
67047         * m4/priv-set.m4: New file.
67048         * modules/priv-set: New file.
67049         * modules/unlinkdir: Add dependency on priv-set module.
67050         * modules/write-any-file: Likewise.
67052         Tests for module 'priv-set'.
67053         * modules/priv-set-tests: New file.
67054         * tests/test-priv-set.c: New file.
67056 2009-05-03  Jim Meyering  <meyering@redhat.com>
67057             Bruno Haible  <bruno@clisp.org>
67059         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
67060         use the converted UTF-8 variant of the name instead.
67062 2009-05-03  Jim Meyering  <meyering@redhat.com>
67064         tests: tighten some getdate tests
67065         * tests/test-getdate.c (main): Tighten tests: require equality,
67066         not just greater than.  Set TZ envvar to UTC0.
67068 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67070         getdate: correctly interpret "next monday" when run on a Monday
67071         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
67072         that e.g., "next tues" (when run on a tuesday) results in a date
67073         that is one week in the future, and not today's date.
67074         I.e., add a week when the wday is the same as the current one.
67075         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
67076         and earlier by Martin Bernreuther and Jan Minář.
67077         * tests/test-getdate.c (main): Check that "next DAY" is always in
67078         the future and that "last DAY" is always in the past.
67080 2009-05-02  Jim Meyering  <meyering@redhat.com>
67082         build: ensure that a release build fails when a submodule is unclean
67083         * top/maint.mk (no-submodule-changes): New rule.
67084         (alpha beta major): Depend on it.
67086 2009-05-02  Bruno Haible  <bruno@clisp.org>
67088         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
67089         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
67090         shell variable gl_fnmatch_required to detect which variant is
67091         requested.
67092         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
67093         gl_FUNC_FNMATCH_POSIX.
67094         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
67095         exclude fnmatch-posix.
67097 2009-05-02  Bruno Haible  <bruno@clisp.org>
67099         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
67100         * modules/mbsrtowcs (License): Change to LGPLv2+.
67101         * modules/strnlen1 (License): Likewise.
67102         Reported by Simon Josefsson.
67104 2009-05-02  Bruno Haible  <bruno@clisp.org>
67106         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
67107         "cross".
67108         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
67109         gnulib-tool was called with option --source-base=lib.
67111 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67113         Use automake *-local hooks without commands, for extensibility.
67114         * modules/localcharset (Makefile.am): Rename install-exec-local
67115         rule to install-exec-localcharset, and make it a prerequisite of
67116         install-exec-local.  Likewise, rename the uninstall-local rule to
67117         uninstall-localcharset, and make it a prerequisite of the former.
67119 2009-05-01  Bruno Haible  <bruno@clisp.org>
67121         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
67122         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67123         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
67124         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
67125         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
67126         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67127         m4/locale-zh.m4, m4/codeset.m4.
67129         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67130         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
67131         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67132         m4/locale-zh.m4.
67134         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
67135         REPLACE_WCRTOMB if mbstate_t must be replaced.
67136         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
67137         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
67139 2009-05-01  Bruno Haible  <bruno@clisp.org>
67141         Avoid compiler warnings when redefining macros defined by <libintl.h>.
67142         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
67143         dngettext, dcngettext, textdomain, bindtextdomain,
67144         bind_textdomain_codeset): Undefine before redefining.
67146 2009-04-30  Bruno Haible  <bruno@clisp.org>
67148         Fix bug introduced on 2009-04-25.
67149         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
67150         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
67151         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
67152         is defined.
67153         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
67154         is defined.
67155         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
67156         is defined.
67157         Reported by Elbert_Pol <elbert.pol@gmail.com>.
67159 2009-04-28  Bruno Haible  <bruno@clisp.org>
67161         Comment tweaks.
67162         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
67163         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
67164         * lib/unicase.h (u*_casexfrm): Likewise.
67165         Reported by Paolo Bonzini.
67167 2009-04-28  Bruno Haible  <bruno@clisp.org>
67169         Fix a compilation error.
67170         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
67171         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
67172         Reported by Jim Meyering.
67174 2009-04-27  Bruno Haible  <bruno@clisp.org>
67176         New module 'libunistring'.
67177         * modules/libunistring: New file.
67178         * m4/libunistring.m4: New file.
67179         * MODULES.html.sh (Unicode string functions): Add it.
67181 2009-04-27  Eric Blake  <ebb9@byu.net>
67183         maint.mk: allow package-specific header to provide <config.h>
67184         * top/maint.mk (sc_require_config_h): New variable.
67185         (sc_require_config_h, sc_require_config_h_first): Use it.
67187 2009-04-27  Simon Josefsson  <simon@josefsson.org>
67189         * top/maint.mk (sc_avoid_if_before_free): Except
67190         useless-if-before-free script.
67192 2009-04-27  Eric Blake  <ebb9@byu.net>
67194         maintainer-makefile: depend on all required helper scripts
67195         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
67196         useless-if-before-free.
67197         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
67198         version, rather than assuming gnulib checkout is available.
67199         Reported by Simen Josefsson.
67201 2009-04-26  Bruno Haible  <bruno@clisp.org>
67203         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
67204         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
67205         "../" or "..".
67207 2009-04-26  Bruno Haible  <bruno@clisp.org>
67209         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
67210         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
67211         AC_LIB_HAVE_LINKFLAGS.
67213 2009-04-26  Bruno Haible  <bruno@clisp.org>
67215         Simplify calling convention of u*_conv_from_encoding.
67216         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
67217         u32_conv_from_encoding): Expect a resultbuf argument and return the
67218         result directly as a pointer.
67219         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
67220         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
67221         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
67222         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
67223         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
67224         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67225         Update.
67226         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
67227         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
67228         * lib/vasnprintf.c (VASNPRINTF): Update.
67229         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
67230         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
67231         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
67232         * NEWS: Mention the change.
67234 2009-04-26  Bruno Haible  <bruno@clisp.org>
67236         Simplify calling convention of u*_conv_to_encoding.
67237         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67238         u32_conv_to_encoding): Expect a resultbuf argument and return the
67239         result directly as a pointer.
67240         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67241         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
67242         freeing scaled_offsets if mem_iconveha failed.
67243         * lib/unicase/u-casexfrm.h (FUNC): Update.
67244         * lib/uninorm/u-normxfrm.h (FUNC): Update.
67245         * lib/vasnprintf.c (VASNPRINTF): Update.
67246         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
67247         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
67248         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
67249         * NEWS: Mention the change.
67251 2009-04-26  Bruno Haible  <bruno@clisp.org>
67253         Avoid test failures on AIX and OSF/1.
67254         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
67255         malloc(0).
67256         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67257         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67258         Likewise.
67259         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
67260         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
67261         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
67262         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
67263         * doc/posix-functions/malloc.texi: Document the portability problem
67264         related to malloc(0).
67266 2009-04-26  Bruno Haible  <bruno@clisp.org>
67268         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
67269         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
67270         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
67272 2009-04-25  Bruno Haible  <bruno@clisp.org>
67274         Avoid link error when creating a namespace clean library.
67275         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
67276         as macro with arguments if already defined as an alias.
67277         * lib/signbitf.c (gl_signbitf): Don't undefine.
67278         * lib/signbitd.c (gl_signbitd): Don't undefine.
67279         * lib/signbitl.c (gl_signbitl): Don't undefine.
67281 2009-04-25  Jim Meyering  <meyering@redhat.com>
67283         vc-list-files: fix another quoting bug
67284         * build-aux/vc-list-files: Avoid sed backslash expansion
67285         of pathological directory names.
67287 2009-04-25  Eric Blake  <ebb9@byu.net>
67289         vc-list-files: fix shell quoting error
67290         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
67291         timestamp.
67293 2009-04-25  Jim Meyering  <meyering@redhat.com>
67295         vc-list-files: restore lost functionality with subdir argument
67296         * build-aux/vc-list-files: When given a non-"." sub-directory
67297         argument, substitute the $dir/ prefix back onto each resulting name.
67298         Otherwise, coreutils' root_tests check would fail.
67300 2009-04-24  Eric Blake  <ebb9@byu.net>
67302         vc-list-files: ignore git symlinks
67303         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
67304         than ls-files, to ignore git symlinks.
67306         maint.mk: import improvements from m4
67307         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
67308         (move_if_change): Delete unused macro.
67309         (news-date-check, vc-diff-check): Support VPATH builds.
67310         (announcement): Likewise.  Split --bootstrap-tools list...
67311         (boostrap-tools): ...into separate list, which can be overridden
67312         in cfg.mk.
67313         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
67314         requiring dependency on useless-if-before-free module.
67315         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
67316         Support VPATH builds.
67318 2009-04-24  Jim Meyering  <meyering@redhat.com>
67320         maint.mk: remove coreutils-specific rules and variables
67321         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
67322         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
67323         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
67325         maint.mk: remove obsolete rule
67326         * top/maint.mk (rel-check): Remove rule.
67327         (WGET, WGETFLAGS): Remove now-unused variables.
67329 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67331         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
67332         consistency.
67334         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
67335         '$(PATH_SEPARATOR)' instead of ':'.
67337 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67339         * lib/getopt1.c (main): Use 'const' for static array.
67341 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67343         * top/maint.mk: Sync with coreutils.
67344         * NEWS: Explain incompatibilities.
67346 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67347             Bruno Haible  <bruno@clisp.org>
67349         Fix cross-compilation results.
67350         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
67351         statement, as third argument of AC_TRY_RUN.
67352         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
67353         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
67354         Likewise.
67355         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
67356         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
67357         Likewise.
67358         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
67359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
67360         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
67362 2009-04-20  Bruno Haible  <bruno@clisp.org>
67364         Avoid test failure on mingw.
67365         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
67367 2009-04-20  Bruno Haible  <bruno@clisp.org>
67369         Avoid compilation error on mingw.
67370         * modules/localename-tests (Depends-on): Add locale.
67372 2009-04-19  Bruno Haible  <bruno@clisp.org>
67374         Support for building a shared library on Windows platforms.
67375         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
67376         (main): Test the presence of UNINORM_NFC here.
67377         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
67378         (main): Test the presence of UNINORM_NFD here.
67379         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
67380         (main): Test the presence of UNINORM_NFKC here.
67381         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
67382         (main): Test the presence of UNINORM_NFKD here.
67384 2009-04-19  Bruno Haible  <bruno@clisp.org>
67386         Avoid a compiler warning.
67387         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
67388         Change type of variable 'sequence'.
67390 2009-04-19  Bruno Haible  <bruno@clisp.org>
67392         * modules/configmake (Makefile.am): When the contents of configmake.h
67393         does not change, arrange to preserve its modification time.
67395 2009-04-17  Simon Josefsson  <simon@josefsson.org>
67397         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
67398         gettext domain.
67400 2009-04-16  Jim Meyering  <meyering@redhat.com>
67402         useless-if-before-free: improve conversion code
67403         * build-aux/useless-if-before-free: Adjust code-in-comment to match
67404         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
67406 2009-04-14  Bruno Haible  <bruno@clisp.org>
67408         * modules/fcntl (Depends-on): Add extensions.
67409         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
67411 2009-04-12  Ben Pfaff  <blp@gnu.org>
67413         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
67414         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
67416 2009-03-20  Ben Pfaff  <blp@gnu.org>
67418         Make rename replace existing destinations on Windows.
67419         * m4/rename.m4: Add test for Mingw.
67420         * lib/rename.c: Add rename replacement that uses MoveFileEx with
67421         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
67422         * doc/posix-functions/rename.texi: Document.
67424 2009-04-10  Bruno Haible  <bruno@clisp.org>
67426         New include file "iconveh.h".
67427         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
67428         * lib/striconveh.h: Include it.
67429         (enum iconv_ilseq_handler): Remove definition.
67430         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
67431         striconveh.h.
67432         * lib/striconveha.c: Include striconveh.h.
67433         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
67434         * modules/striconveh (Files): Add lib/iconveh.h.
67435         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
67436         lib/striconveh.h.
67438 2009-04-10  Bruno Haible  <bruno@clisp.org>
67440         * lib/uniconv.h: Update comment.
67442 2009-04-10  Bruno Haible  <bruno@clisp.org>
67444         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
67445         always.
67446         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67447         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67448         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67449         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
67450         "unistring-notinline.h", so that the function gets defined always.
67451         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67452         * lib/unistr/u8-uctomb.c: Likewise.
67453         * lib/unistr/u16-mbtouc.c: Likewise.
67454         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67455         * lib/unistr/u16-uctomb.c: Likewise.
67456         * lib/unistr/u32-mbtouc.c: Likewise.
67457         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67458         * lib/unistr/u32-uctomb.c: Likewise.
67460 2009-04-10  Bruno Haible  <bruno@clisp.org>
67462         Mark 'utime' obsolete.
67463         * modules/utime (Status, Notice): New sections.
67464         Suggested by Jim Meyering.
67466         Fix cross-compile guess for utime test.
67467         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
67468         autoconf.
67469         * doc/posix-functions/utime.texi: Give more precisions.
67470         Reported by Jan <ipif@ymail.com>.
67472 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67474         filevercmp: correct today's change
67475         * lib/filevercmp.c: Also handle coreutils' test inputs.
67476         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67478         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67479         for reporting it.
67480         * lib/filevercmp.c: Special handle for "", "." and "..".
67481         * tests/test-filevercmp.c: Enlarge the set suite.
67483 2009-04-07  Jim Meyering  <meyering@redhat.com>
67485         useless-if-before-free: show how to remove braced useless free, too
67486         * build-aux/useless-if-before-free: still only in a comment, though.
67488 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67490         maint.mk: import changes to syntax-check macros from coreutils
67491         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67492         Use them in the relevant macros.
67494 2009-04-06  Bruno Haible  <bruno@clisp.org>
67496         Fix unportable use of bit-fields.
67497         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67498         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67499         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67501 2009-04-06  Bruno Haible  <bruno@clisp.org>
67503         Avoid test failures on AIX and OSF/1.
67504         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67505         that malloc(0) = NULL.
67506         * tests/unicase/test-u8-tolower.c (check): Likewise.
67507         * tests/unicase/test-u8-totitle.c (check): Likewise.
67508         * tests/unicase/test-u8-toupper.c (check): Likewise.
67509         * tests/unicase/test-u16-casefold.c (check): Likewise.
67510         * tests/unicase/test-u16-tolower.c (check): Likewise.
67511         * tests/unicase/test-u16-totitle.c (check): Likewise.
67512         * tests/unicase/test-u16-toupper.c (check): Likewise.
67513         * tests/unicase/test-u32-casefold.c (check): Likewise.
67514         * tests/unicase/test-u32-tolower.c (check): Likewise.
67515         * tests/unicase/test-u32-totitle.c (check): Likewise.
67516         * tests/unicase/test-u32-toupper.c (check): Likewise.
67517         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67518         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67519         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67520         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67521         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67522         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67523         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67524         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67525         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67526         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67527         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67528         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67530 2009-04-05  Bruno Haible  <bruno@clisp.org>
67532         Work around an autoconf limitation.
67533         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67534         comment line if it would be longer than 3 KB.
67536 2009-04-05  Bruno Haible  <bruno@clisp.org>
67538         Avoid test failure with libiconv-1.13.
67539         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67540         of the expected test results.
67542 2009-04-05  Bruno Haible  <bruno@clisp.org>
67544         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67545         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67546         that it should be installed.
67548 2009-04-05  Bruno Haible  <bruno@clisp.org>
67550         * gnulib-tool: New option --copy-file.
67551         (func_usage): Document it.
67552         (func_dest_tmpfilename): Moved out of func_import.
67553         (func_add_file, func_update_file): New functions, extracted from
67554         func_import.
67555         (func_import): Update.
67557 2009-04-05  Karl Berry  <karl@gnu.org>
67559         * README: prominently mention gnulib-tool.
67560         Rearrange sections so getting the code is near the top.
67562 2009-04-05  Bruno Haible  <bruno@clisp.org>
67564         * lib/unicase.h: Mention u*_cmp2.
67565         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67566         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67567         * lib/unicase/ulc-casecmp.c: Likewise.
67568         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67569         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67570         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67571         unistr/u8-cmp.
67572         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67573         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67574         unistr/u16-cmp.
67575         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67576         unistr/u32-cmp.
67578         * lib/uninorm.h: Mention u*_cmp2.
67579         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67580         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67581         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67582         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67583         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67584         unistr/u8-cmp.
67585         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67586         unistr/u16-cmp.
67587         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67588         unistr/u32-cmp.
67590         New module 'unistr/u32-cmp2'.
67591         * lib/unistr/u32-cmp2.c: New file.
67592         * modules/unistr/u32-cmp2: New file.
67594         New module 'unistr/u16-cmp2'.
67595         * lib/unistr/u16-cmp2.c: New file.
67596         * modules/unistr/u16-cmp2: New file.
67598         New module 'unistr/u8-cmp2'.
67599         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67600         * lib/unistr/u8-cmp2.c: New file.
67601         * lib/unistr/u-cmp2.h: New file.
67602         * modules/unistr/u8-cmp2: New file.
67604 2009-04-05  Bruno Haible  <bruno@clisp.org>
67606         * lib/unictype.h (uc_property_is_valid): New macro.
67607         * tests/unictype/test-pr_byname.c (main): Use it.
67609         * lib/unistr.h: Doc fixes.
67610         * lib/uniconv.h: Doc fixes.
67611         * lib/unictype.h: Doc fixes.
67613 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67615         Port coreutils 7.2 to Solaris 8.
67617         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67618         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67619         for Solaris 8.  This is a bit of a hack, as it means it's the
67620         caller's responsibility to add -lnsl if needed, but most likely it
67621         won't be needed since only getaddrinfo uses this and getaddrinfo
67622         isn't needed on Solaris 8.
67624         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67625         problem to Solaris 8 encountered with coreutils 7.2, which
67626         resulted in a message "fnmatch.c:292: warning: passing argument 4
67627         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67628         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67630 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67632         * m4/ld-version-script.m4: Add FIXME comment.
67634 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67636         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67637         SOVERSION variable.
67639 2009-04-02  Bruno Haible  <bruno@clisp.org>
67641         * Makefile (info, html, dvi, pdf): Combine the rules.
67642         Suggested by Jim Meyering.
67644 2009-04-01  Bruno Haible  <bruno@clisp.org>
67646         * Makefile (info, html, dvi, pdf): New targets.
67647         Reported by Reuben Thomas <rrt@sc3d.org>.
67649 2009-04-01  Bruno Haible  <bruno@clisp.org>
67651         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67652         can be put into PATH.
67653         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67655 2009-04-01  Bruno Haible  <bruno@clisp.org>
67657         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67659 2009-04-01  Bruno Haible  <bruno@clisp.org>
67661         Rename module 'visibility'.
67662         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67663         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67664         * doc/gnulib.texi: Update.
67665         * MODULES.html.sh (Misc): Update.
67666         * NEWS: Mention the change.
67668 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67670         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67671         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67672         Eric Blake <ebb9@byu.net> for review.
67673         * MODULES.html.sh: Add lib-msvc-compat.
67674         * doc/gnulib.texi: Link to new section.
67675         * m4/ld-output-def.m4: New file.
67676         * doc/ld-output-def.texi: New file.
67678 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67680         Rename ld-version-script to lib-symbol-versions.  Suggested by
67681         Bruno Haible <bruno@clisp.org>.
67682         * modules/ld-version-script: Renamed to lib-symbol-versions.
67683         * doc/ld-version-script.texi: Fix module name.
67684         * MODULES.html.sh: Add lib-symbol-versions.
67686 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67688         * modules/u64-tests: New file.
67689         * tests/test-u64.c: New file.
67691 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67693         * MODULES.html.sh: Mention u64.
67694         * modules/u64: New module.
67695         * modules/crypto/sha512: Depend on u64 module instead of providing
67696         u64.h.
67698 2009-03-27  Eric Blake  <ebb9@byu.net>
67700         test-strerror: make debugging EAI_SYSTEM easier
67701         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67702         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67703         failure was EAI_SYSTEM.
67705 2009-03-25  Bruno Haible  <bruno@clisp.org>
67707         Fix a problem with --enable-relocatable on Solaris 7.
67708         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67709         since 2008-02-24.
67711 2009-03-25  Eric Blake  <ebb9@byu.net>
67713         test-sockets: avoid gcc warning
67714         * tests/test-sockets.c (main): Silence compiler warning.
67716 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67718         New modules nproc, pthread, contributed by Glen Lenker.
67720         * MODULES.html.sh: Add pthread, nproc.
67721         * lib/nproc.c: New file.
67722         * lib/nproc.h: New file.
67723         * lib/pthread.in.h: New file.
67724         * m4/pthread.m4: New file.
67725         * modules/nproc: New file.
67726         * modules/pthread: New file.
67728 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67730         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67731         New variable.
67733 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67735         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67736         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67737         * tests/test-filevercmp.c: Add tests for backup suffixes.
67739 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67741         * modules/stdlib (Depends-on): Add stdint, needed when defining
67742         struct random_data on, for example, HP-UX 10.20.  Reported by
67743         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67745 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67747         * lib/readline.c (readline): Call fflush on stdout after printing
67748         prompt.
67750 2009-03-20  Bruno Haible  <bruno@clisp.org>
67752         Remove dependency from 'close' module to -lws2_32 on native Windows.
67753         * lib/close-hook.h: New file.
67754         * lib/close-hook.c: New file.
67755         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67756         w32sock.h.
67757         (_gl_close_fd_maybe_socket): Remove function.
67758         (rpl_close): Invoke execute_all_close_hooks instead of
67759         _gl_close_fd_maybe_socket.
67760         * lib/sockets.c: Include close-hook.h, w32sock.h.
67761         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67762         (close_sockets_hook): New variable.
67763         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67764         (gl_sockets_cleanup): Unregister it.
67765         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67766         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67767         * modules/close-hook: New file.
67768         * modules/close (Files): Remove lib/w32sock.h.
67769         (Depends-on): Add close-hook.
67770         (Link): Remove section.
67771         * modules/sockets (Files): Add lib/w32sock.h.
67772         (Depends-on): Add close-hook.
67773         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67774         invocation.
67775         * NEWS: Mention that LIB_CLOSE is gone.
67777 2009-03-23  Eric Blake  <ebb9@byu.net>
67779         signal-tests: test previous patch
67780         * tests/test-signal.c: New file.
67781         * modules/signal-tests: Likewise.
67783         signal.h: always support 'volatile sig_atomic_t'
67784         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67785         (gl_SIGNAL_H_DEFAULTS): Add a default.
67786         * modules/signal (Makefile.am): Substitute if needed.
67787         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67788         users can blindly add volatile.
67789         * doc/posix-headers/signal.texi (signal.h): Document it.
67790         Reported by Matthew Woehlke.
67792 2009-03-23  Jim Meyering  <meyering@redhat.com>
67794         pathmax: PATH_MAX: use pathconf only when available
67795         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67796         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67797         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67798         This avoids a link failure in a PSP cross-compilation environment
67799         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67801         * lib/vasnprintf.c (divide): Fix typo in comment.
67803 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67805         * gnulib-tool (func_filter_filelist): Fix comment.
67807 2009-03-20  Bruno Haible  <bruno@clisp.org>
67809         Make sockets.h self-contained.
67810         * lib/sockets.c: Include sockets.h first.
67811         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67813 2009-03-19  Eric Blake  <ebb9@byu.net>
67815         doc: mention more functions added in cygwin 1.7.0
67816         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67817         addition.
67818         * doc/posix-functions/log2f.texi: Likewise.
67820 2009-03-19  Jim Meyering  <meyering@redhat.com>
67822         fsusage: avoid syntax error due to statement-before-declaration
67823         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67824         after all declarations.  Reported by Matthew Woehlke in
67825         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67827 2009-03-18  Eric Blake  <ebb9@byu.net>
67829         build-aux/compile: sync from automake
67830         * build-aux/compile: New file, from automake.
67831         * config/srclist.txt: Mention build-aux/compile.
67833 2009-03-17  Bruno Haible  <bruno@clisp.org>
67835         * lib/git-merge-changelog.c: Fix typo in comment.
67836         Reported by Reuben Thomas <rrt@sc3d.org>.
67838 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67840         * m4/regex.m4: update and improve help for
67841         --without-included-regex.
67843 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67845         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67846         failure on missing include files.
67848 2009-03-17  Eric Blake  <ebb9@byu.net>
67850         doc: mention more functions added in cygwin 1.7.0
67851         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67852         addition.
67853         * doc/posix-functions/fwscanf.texi: Likewise.
67854         * doc/posix-functions/swprintf.texi: Likewise.
67855         * doc/posix-functions/swscanf.texi: Likewise.
67856         * doc/posix-functions/vfwprintf.texi: Likewise.
67857         * doc/posix-functions/vfwscanf.texi: Likewise.
67858         * doc/posix-functions/vswprintf.texi: Likewise.
67859         * doc/posix-functions/vswscanf.texi: Likewise.
67860         * doc/posix-functions/vwprintf.texi: Likewise.
67861         * doc/posix-functions/vwscanf.texi: Likewise.
67862         * doc/posix-functions/wcscasecmp.texi: Likewise.
67863         * doc/posix-functions/wcsdup.texi: Likewise.
67864         * doc/posix-functions/wcsftime.texi: Likewise.
67865         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67866         * doc/posix-functions/wprintf.texi: Likewise.
67867         * doc/posix-functions/wscanf.texi: Likewise.
67868         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67870 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67872         maint.mk: really add $(AM_MAKEFLAGS)
67873         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67874         was inadvertently omitted in the last commit.
67875         Spotted by Bruno Haible.
67877         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67878         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67879         $(AM_MAKEFLAGS)' rather than plain `make'.
67881         gnulib-tool: execute $MAKE not make
67882         * gnulib-tool: Default $MAKE to 'make'.
67883         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67884         than make.  Initialize $MAKE in the do-autobuild script.
67886         gnulib-tool: use $MAKE not make in generated files
67887         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67888         make, in generated files.  Initialize $MAKE in the do-autobuild
67889         script.
67891         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67893         GNUmakefile: disable parallelism only for multiple, recursive targets
67894         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67895         additions in the Makefile.
67896         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67897         by Automake.
67898         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67899         are listed on the command line and at least one of them is
67900         listed in $(ALL_RECURSIVE_TARGETS).
67902 2009-03-14  Bruno Haible  <bruno@clisp.org>
67904         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67905         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67906         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67907         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67908         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67909         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67910         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67911         unistr/u8-uctomb.
67912         * modules/unistr/u8-strchr (Depends-on): Likewise.
67913         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67914         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67915         unistr/u16-uctomb.
67916         * modules/unistr/u16-strchr (Depends-on): Likewise.
67917         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67919 2009-03-12  Bruno Haible  <bruno@clisp.org>
67921         Work around select() bug on Interix 3.5.
67922         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67923         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67924         * m4/select.m4: New file.
67925         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67926         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67927         * modules/select (Files): Add m4/select.m4.
67928         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67929         * modules/nanosleep (Depends-on): Add select.
67930         * modules/poll (Depends-on): Likewise.
67931         * doc/posix-functions/select.texi: Mention the Interix bug.
67932         Reported by Markus Duft <mduft@gentoo.org>.
67934         * lib/select.c: Renamed from lib/winsock-select.c.
67935         * modules/select (Files): Add lib/select.c, remove
67936         lib/winsock-select.c.
67937         (configure.ac): Update.
67939 2009-03-12  Jim Meyering  <meyering@redhat.com>
67941         avoid gcc warnings about unused macro definitions
67942         * lib/readtokens.c (STREQ): Remove unused definition.
67943         * lib/xmalloc.c (SIZE_MAX): Likewise.
67944         * lib/openat-die.c (N_): Likewise.
67945         * lib/mountlist.c (SIZE_MAX): Remove definition.
67946         Instead, include <stdint.h>.
67947         * lib/readutmp.c: Likewise.
67948         * modules/readutmp (Depends-on): Add stdint.
67949         * modules/mountlist (Depends-on): Add stdint.
67950         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67952 2009-03-10  Bruno Haible  <bruno@clisp.org>
67954         Tests for module 'mbmemcasecoll'.
67955         * modules/mbmemcasecoll-tests: New file.
67956         * tests/test-mbmemcasecoll1.sh: New file.
67957         * tests/test-mbmemcasecoll2.sh: New file.
67958         * tests/test-mbmemcasecoll3.sh: New file.
67959         * tests/test-mbmemcasecoll.c: New file.
67961         New module 'mbmemcasecoll'.
67962         * lib/mbmemcasecoll.h: New file.
67963         * lib/mbmemcasecoll.c: New file.
67964         * modules/mbmemcasecoll: New file.
67966         * tests/test-mbmemcasecmp.h: New file, extracted from
67967         tests/test-mbmemcasecmp.c.
67968         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67969         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67970         (main): Update.
67971         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67973 2009-03-09  Bruno Haible  <bruno@clisp.org>
67975         Tests for module 'mbmemcasecmp'.
67976         * modules/mbmemcasecmp-tests: New file.
67977         * tests/test-mbmemcasecmp1.sh: New file.
67978         * tests/test-mbmemcasecmp2.sh: New file.
67979         * tests/test-mbmemcasecmp3.sh: New file.
67980         * tests/test-mbmemcasecmp.c: New file.
67982         New module 'mbmemcasecmp'.
67983         * lib/mbmemcasecmp.h: New file.
67984         * lib/mbmemcasecmp.c: New file.
67985         * modules/mbmemcasecmp: New file.
67987 2009-03-09  Bruno Haible  <bruno@clisp.org>
67989         Tests for module 'unicase/ulc-casecoll'.
67990         * modules/unicase/ulc-casecoll-tests: New file.
67991         * tests/unicase/test-ulc-casecoll1.sh: New file.
67992         * tests/unicase/test-ulc-casecoll2.sh: New file.
67993         * tests/unicase/test-ulc-casecoll.c: New file.
67995         New module 'unicase/ulc-casecoll'.
67996         * lib/unicase.h (ulc_casecoll): New declaration.
67997         * lib/unicase/ulc-casecoll.c: New file.
67998         * modules/unicase/ulc-casecoll: New file.
68000         New module 'unicase/ulc-casexfrm'.
68001         * lib/unicase.h (ulc_casexfrm): New declaration.
68002         * lib/unicase/ulc-casexfrm.c: New file.
68003         * modules/unicase/ulc-casexfrm: New file.
68005 2009-03-09  Bruno Haible  <bruno@clisp.org>
68007         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
68008         invocations.
68010         * m4/mbscasecmp.m4: Remove file.
68011         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
68012         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
68014         * m4/mbscasestr.m4: Remove file.
68015         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
68016         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
68018         * m4/mbschr.m4: Remove file.
68019         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
68020         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
68022         * m4/mbscspn.m4: Remove file.
68023         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
68024         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
68026         * m4/mbslen.m4: Remove file.
68027         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
68028         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
68030         * m4/mbsncasecmp.m4: Remove file.
68031         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
68032         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
68034         * m4/mbsnlen.m4: Remove file.
68035         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
68036         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
68038         * m4/mbspbrk.m4: Remove file.
68039         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
68040         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
68042         * m4/mbspcasecmp.m4: Remove file.
68043         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
68044         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
68046         * m4/mbsrchr.m4: Remove file.
68047         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
68048         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
68050         * m4/mbssep.m4: Remove file.
68051         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
68052         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
68054         * m4/mbsspn.m4: Remove file.
68055         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
68056         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
68058         * m4/mbsstr.m4: Remove file.
68059         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
68060         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
68062         * m4/mbstok_r.m4: Remove file.
68063         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
68064         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
68066         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
68068         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
68069         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
68071         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
68073 2009-03-08  Bruno Haible  <bruno@clisp.org>
68075         Tests for module 'unicase/ulc-casecmp'.
68076         * modules/unicase/ulc-casecmp-tests: New file.
68077         * tests/unicase/test-ulc-casecmp1.sh: New file.
68078         * tests/unicase/test-ulc-casecmp2.sh: New file.
68079         * tests/unicase/test-ulc-casecmp.c: New file.
68081         New module 'unicase/ulc-casecmp'.
68082         * lib/unicase.h (ulc_casecmp): New declaration.
68083         * lib/unicase/ulc-casecmp.c: New file.
68084         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
68085         'const SRC_UNIT *'.
68086         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
68087         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
68088         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
68089         * modules/unicase/ulc-casecmp: New file.
68091         Tests for module 'unicase/u32-is-cased'.
68092         * modules/unicase/u32-is-cased-tests: New file.
68093         * tests/unicase/test-u32-is-cased.c: New file.
68095         Tests for module 'unicase/u16-is-cased'.
68096         * modules/unicase/u16-is-cased-tests: New file.
68097         * tests/unicase/test-u16-is-cased.c: New file.
68099         Tests for module 'unicase/u8-is-cased'.
68100         * modules/unicase/u8-is-cased-tests: New file.
68101         * tests/unicase/test-u8-is-cased.c: New file.
68102         * tests/unicase/test-is-cased.h: New file.
68104         New module 'unicase/u32-is-cased'.
68105         * lib/unicase/u32-is-cased.c: New file.
68106         * modules/unicase/u32-is-cased: New file.
68108         New module 'unicase/u16-is-cased'.
68109         * lib/unicase/u16-is-cased.c: New file.
68110         * modules/unicase/u16-is-cased: New file.
68112         New module 'unicase/u8-is-cased'.
68113         * lib/unicase/u8-is-cased.c: New file.
68114         * lib/unicase/u-is-cased.h: New file.
68115         * modules/unicase/u8-is-cased: New file.
68117         Tests for module 'unicase/u32-is-casefolded'.
68118         * modules/unicase/u32-is-casefolded-tests: New file.
68119         * tests/unicase/test-u32-is-casefolded.c: New file.
68121         Tests for module 'unicase/u16-is-casefolded'.
68122         * modules/unicase/u16-is-casefolded-tests: New file.
68123         * tests/unicase/test-u16-is-casefolded.c: New file.
68125         Tests for module 'unicase/u8-is-casefolded'.
68126         * modules/unicase/u8-is-casefolded-tests: New file.
68127         * tests/unicase/test-u8-is-casefolded.c: New file.
68128         * tests/unicase/test-is-casefolded.h: New file.
68130         New module 'unicase/u32-is-casefolded'.
68131         * lib/unicase/u32-is-casefolded.c: New file.
68132         * modules/unicase/u32-is-casefolded: New file.
68134         New module 'unicase/u16-is-casefolded'.
68135         * lib/unicase/u16-is-casefolded.c: New file.
68136         * modules/unicase/u16-is-casefolded: New file.
68138         New module 'unicase/u8-is-casefolded'.
68139         * lib/unicase/u8-is-casefolded.c: New file.
68140         * modules/unicase/u8-is-casefolded: New file.
68142         Tests for module 'unicase/u32-is-titlecase'.
68143         * modules/unicase/u32-is-titlecase-tests: New file.
68144         * tests/unicase/test-u32-is-titlecase.c: New file.
68146         Tests for module 'unicase/u16-is-titlecase'.
68147         * modules/unicase/u16-is-titlecase-tests: New file.
68148         * tests/unicase/test-u16-is-titlecase.c: New file.
68150         Tests for module 'unicase/u8-is-titlecase'.
68151         * modules/unicase/u8-is-titlecase-tests: New file.
68152         * tests/unicase/test-u8-is-titlecase.c: New file.
68153         * tests/unicase/test-is-titlecase.h: New file.
68155         New module 'unicase/u32-is-titlecase'.
68156         * lib/unicase/u32-is-titlecase.c: New file.
68157         * modules/unicase/u32-is-titlecase: New file.
68159         New module 'unicase/u16-is-titlecase'.
68160         * lib/unicase/u16-is-titlecase.c: New file.
68161         * modules/unicase/u16-is-titlecase: New file.
68163         New module 'unicase/u8-is-titlecase'.
68164         * lib/unicase/u8-is-titlecase.c: New file.
68165         * modules/unicase/u8-is-titlecase: New file.
68167         Tests for module 'unicase/u32-is-lowercase'.
68168         * modules/unicase/u32-is-lowercase-tests: New file.
68169         * tests/unicase/test-u32-is-lowercase.c: New file.
68171         Tests for module 'unicase/u16-is-lowercase'.
68172         * modules/unicase/u16-is-lowercase-tests: New file.
68173         * tests/unicase/test-u16-is-lowercase.c: New file.
68175         Tests for module 'unicase/u8-is-lowercase'.
68176         * modules/unicase/u8-is-lowercase-tests: New file.
68177         * tests/unicase/test-u8-is-lowercase.c: New file.
68178         * tests/unicase/test-is-lowercase.h: New file.
68180         New module 'unicase/u32-is-lowercase'.
68181         * lib/unicase/u32-is-lowercase.c: New file.
68182         * modules/unicase/u32-is-lowercase: New file.
68184         New module 'unicase/u16-is-lowercase'.
68185         * lib/unicase/u16-is-lowercase.c: New file.
68186         * modules/unicase/u16-is-lowercase: New file.
68188         New module 'unicase/u8-is-lowercase'.
68189         * lib/unicase/u8-is-lowercase.c: New file.
68190         * modules/unicase/u8-is-lowercase: New file.
68192         Tests for module 'unicase/u32-is-uppercase'.
68193         * modules/unicase/u32-is-uppercase-tests: New file.
68194         * tests/unicase/test-u32-is-uppercase.c: New file.
68196         Tests for module 'unicase/u16-is-uppercase'.
68197         * modules/unicase/u16-is-uppercase-tests: New file.
68198         * tests/unicase/test-u16-is-uppercase.c: New file.
68200         Tests for module 'unicase/u8-is-uppercase'.
68201         * modules/unicase/u8-is-uppercase-tests: New file.
68202         * tests/unicase/test-u8-is-uppercase.c: New file.
68203         * tests/unicase/test-is-uppercase.h: New file.
68205         New module 'unicase/u32-is-uppercase'.
68206         * lib/unicase/u32-is-uppercase.c: New file.
68207         * modules/unicase/u32-is-uppercase: New file.
68209         New module 'unicase/u16-is-uppercase'.
68210         * lib/unicase/u16-is-uppercase.c: New file.
68211         * modules/unicase/u16-is-uppercase: New file.
68213         New module 'unicase/u8-is-uppercase'.
68214         * lib/unicase/u8-is-uppercase.c: New file.
68215         * modules/unicase/u8-is-uppercase: New file.
68217         New module 'unicase/u32-is-invariant'.
68218         * lib/unicase/u32-is-invariant.c: New file.
68219         * modules/unicase/u32-is-invariant: New file.
68221         New module 'unicase/u16-is-invariant'.
68222         * lib/unicase/u16-is-invariant.c: New file.
68223         * modules/unicase/u16-is-invariant: New file.
68225         New module 'unicase/u8-is-invariant'.
68226         * lib/unicase/u8-is-invariant.c: New file.
68227         * lib/unicase/invariant.h: New file.
68228         * lib/unicase/u-is-invariant.h: New file.
68229         * modules/unicase/u8-is-invariant: New file.
68231         Tests for module 'unicase/u32-casecoll'.
68232         * modules/unicase/u32-casecoll-tests: New file.
68233         * tests/unicase/test-u32-casecoll.c: New file.
68235         Tests for module 'unicase/u16-casecoll'.
68236         * modules/unicase/u16-casecoll-tests: New file.
68237         * tests/unicase/test-u16-casecoll.c: New file.
68239         Tests for module 'unicase/u8-casecoll'.
68240         * modules/unicase/u8-casecoll-tests: New file.
68241         * tests/unicase/test-u8-casecoll.c: New file.
68243         New module 'unicase/u32-casecoll'.
68244         * lib/unicase/u32-casecoll.c: New file.
68245         * modules/unicase/u32-casecoll: New file.
68247         New module 'unicase/u16-casecoll'.
68248         * lib/unicase/u16-casecoll.c: New file.
68249         * modules/unicase/u16-casecoll: New file.
68251         New module 'unicase/u8-casecoll'.
68252         * lib/unicase/u8-casecoll.c: New file.
68253         * lib/unicase/u-casecoll.h: New file.
68254         * modules/unicase/u8-casecoll: New file.
68256         New module 'unicase/u32-casexfrm'.
68257         * lib/unicase/u32-casexfrm.c: New file.
68258         * modules/unicase/u32-casexfrm: New file.
68260         New module 'unicase/u16-casexfrm'.
68261         * lib/unicase/u16-casexfrm.c: New file.
68262         * modules/unicase/u16-casexfrm: New file.
68264         New module 'unicase/u8-casexfrm'.
68265         * lib/unicase/u8-casexfrm.c: New file.
68266         * lib/unicase/u-casexfrm.h: New file.
68267         * modules/unicase/u8-casexfrm: New file.
68269         Tests for module 'unicase/u32-casecmp'.
68270         * modules/unicase/u32-casecmp-tests: New file.
68271         * tests/unicase/test-u32-casecmp.c: New file.
68273         Tests for module 'unicase/u16-casecmp'.
68274         * modules/unicase/u16-casecmp-tests: New file.
68275         * tests/unicase/test-u16-casecmp.c: New file.
68277         Tests for module 'unicase/u8-casecmp'.
68278         * modules/unicase/u8-casecmp-tests: New file.
68279         * tests/unicase/test-u8-casecmp.c: New file.
68280         * tests/unicase/test-casecmp.h: New file.
68282         New module 'unicase/u32-casecmp'.
68283         * lib/unicase/u32-casecmp.c: New file.
68284         * modules/unicase/u32-casecmp: New file.
68286         New module 'unicase/u16-casecmp'.
68287         * lib/unicase/u16-casecmp.c: New file.
68288         * modules/unicase/u16-casecmp: New file.
68290         New module 'unicase/u8-casecmp'.
68291         * lib/unicase/u8-casecmp.c: New file.
68292         * lib/unicase/u-casecmp.h: New file.
68293         * modules/unicase/u8-casecmp: New file.
68295         Tests for module 'unicase/u32-casefold'.
68296         * modules/unicase/u32-casefold-tests: New file.
68297         * tests/unicase/test-u32-casefold.c: New file.
68299         Tests for module 'unicase/u16-casefold'.
68300         * modules/unicase/u16-casefold-tests: New file.
68301         * tests/unicase/test-u16-casefold.c: New file.
68303         Tests for module 'unicase/u8-casefold'.
68304         * modules/unicase/u8-casefold-tests: New file.
68305         * tests/unicase/test-u8-casefold.c: New file.
68307         New module 'unicase/u32-casefold'.
68308         * lib/unicase/u32-casefold.c: New file.
68309         * modules/unicase/u32-casefold: New file.
68311         New module 'unicase/u16-casefold'.
68312         * lib/unicase/u16-casefold.c: New file.
68313         * modules/unicase/u16-casefold: New file.
68315         New module 'unicase/u8-casefold'.
68316         * lib/unicase/u8-casefold.c: New file.
68317         * lib/unicase/u-casefold.h: New file.
68318         * modules/unicase/u8-casefold: New file.
68320         New module 'unicase/tocasefold'.
68321         * lib/unicase/casefold.h: New file.
68322         * lib/unicase/tocasefold.c: New file.
68323         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
68324         * modules/unicase/tocasefold: New file.
68326         Tests for module 'unicase/u32-totitle'.
68327         * modules/unicase/u32-totitle-tests: New file.
68328         * tests/unicase/test-u32-totitle.c: New file.
68330         Tests for module 'unicase/u16-totitle'.
68331         * modules/unicase/u16-totitle-tests: New file.
68332         * tests/unicase/test-u16-totitle.c: New file.
68334         Tests for module 'unicase/u8-totitle'.
68335         * modules/unicase/u8-totitle-tests: New file.
68336         * tests/unicase/test-u8-totitle.c: New file.
68338         New module 'unicase/u32-totitle'.
68339         * lib/unicase/u32-totitle.c: New file.
68340         * modules/unicase/u32-totitle: New file.
68342         New module 'unicase/u16-totitle'.
68343         * lib/unicase/u16-totitle.c: New file.
68344         * modules/unicase/u16-totitle: New file.
68346         New module 'unicase/u8-totitle'.
68347         * lib/unicase/u8-totitle.c: New file.
68348         * lib/unicase/u-totitle.h: New file.
68349         * modules/unicase/u8-totitle: New file.
68351         Tests for module 'unicase/u32-tolower'.
68352         * modules/unicase/u32-tolower-tests: New file.
68353         * tests/unicase/test-u32-tolower.c: New file.
68355         Tests for module 'unicase/u16-tolower'.
68356         * modules/unicase/u16-tolower-tests: New file.
68357         * tests/unicase/test-u16-tolower.c: New file.
68359         Tests for module 'unicase/u8-tolower'.
68360         * modules/unicase/u8-tolower-tests: New file.
68361         * tests/unicase/test-u8-tolower.c: New file.
68363         New module 'unicase/u32-tolower'.
68364         * lib/unicase/u32-tolower.c: New file.
68365         * modules/unicase/u32-tolower: New file.
68367         New module 'unicase/u16-tolower'.
68368         * lib/unicase/u16-tolower.c: New file.
68369         * modules/unicase/u16-tolower: New file.
68371         New module 'unicase/u8-tolower'.
68372         * lib/unicase/u8-tolower.c: New file.
68373         * modules/unicase/u8-tolower: New file.
68375         Tests for module 'unicase/u32-toupper'.
68376         * modules/unicase/u32-toupper-tests: New file.
68377         * tests/unicase/test-u32-toupper.c: New file.
68379         Tests for module 'unicase/u16-toupper'.
68380         * modules/unicase/u16-toupper-tests: New file.
68381         * tests/unicase/test-u16-toupper.c: New file.
68383         Tests for module 'unicase/u8-toupper'.
68384         * modules/unicase/u8-toupper-tests: New file.
68385         * tests/unicase/test-u8-toupper.c: New file.
68387         New module 'unicase/u32-toupper'.
68388         * lib/unicase/u32-toupper.c: New file.
68389         * modules/unicase/u32-toupper: New file.
68391         New module 'unicase/u16-toupper'.
68392         * lib/unicase/u16-toupper.c: New file.
68393         * modules/unicase/u16-toupper: New file.
68395         New module 'unicase/u8-toupper'.
68396         * lib/unicase/u8-toupper.c: New file.
68397         * modules/unicase/u8-toupper: New file.
68399         New module 'unicase/u32-casemap'.
68400         * lib/unicase/u32-casemap.c: New file.
68401         * modules/unicase/u32-casemap: New file.
68403         New module 'unicase/u16-casemap'.
68404         * lib/unicase/u16-casemap.c: New file.
68405         * modules/unicase/u16-casemap: New file.
68407         New module 'unicase/u8-casemap'.
68408         * lib/unicase/unicasemap.h: New file.
68409         * lib/unicase/u8-casemap.c: New file.
68410         * lib/unicase/u-casemap.h: New file.
68411         * modules/unicase/u8-casemap: New file.
68413         New module 'unicase/special-casing'.
68414         * lib/unicase/special-casing.h: New file.
68415         * lib/unicase/special-casing.c: New file.
68416         * lib/unicase/special-casing-table.gperf: New file, generated by
68417         gen-uni-tables.c.
68418         * modules/unicase/special-casing: New file.
68420         Tests for module 'unicase/locale-language'.
68421         * modules/unicase/locale-language-tests: New file.
68422         * tests/unicase/test-locale-language.sh: New file.
68423         * tests/unicase/test-locale-language.c: New file.
68425         New module 'unicase/locale-language'.
68426         * lib/unicase/locale-language.c: New file.
68427         * lib/unicase/locale-languages.gperf: New file.
68428         * modules/unicase/locale-language: New file.
68430         Generate more tables for case conversion and case folding.
68431         * lib/gen-uni-tables.c (SCC_*): New enum items.
68432         (struct special_casing_rule): New type.
68433         (casing_rules, num_casing_rules, allocated_casing_rules): New
68434         variables.
68435         (add_casing_rule, fill_casing_rules): New functions.
68436         (struct casefold_rule): New type.
68437         (casefolding_rules, num_casefolding_rules,
68438         allocated_casefolding_rules): New variables.
68439         (fill_casefolding_rules): New function.
68440         (unicode_casefold): New variable.
68441         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
68442         sort_casing_rules, output_casing_rules): New functions.
68443         (main): Accept to more arguments: SpecialCasing.txt and
68444         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
68445         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
68446         Output mapping for casefolding.
68448         * lib/unicase.h: Include stdbool.h, uninorm.h.
68449         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
68450         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
68451         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
68452         arguments.
68453         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
68454         resultp arguments.
68455         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
68456         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
68457         resultp arguments.
68458         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
68459         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
68460         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
68461         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
68462         declarations.
68463         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
68465 2009-03-08  Bruno Haible  <bruno@clisp.org>
68467         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68468         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
68469         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
68470         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68472 2009-03-07  Bruno Haible  <bruno@clisp.org>
68474         Adjust u*_normcmp, u*_normcoll API.
68475         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68476         u16_normcoll, u32_normcoll): Change failure conventions.
68477         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68478         errno and return -1.
68479         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68481 2009-03-07  Bruno Haible  <bruno@clisp.org>
68483         Tests for module 'uninorm/u32-normcoll'.
68484         * modules/uninorm/u32-normcoll-tests: New file.
68485         * tests/uninorm/test-u32-normcoll.c: New file.
68487         Tests for module 'uninorm/u16-normcoll'.
68488         * modules/uninorm/u16-normcoll-tests: New file.
68489         * tests/uninorm/test-u16-normcoll.c: New file.
68491         Tests for module 'uninorm/u8-normcoll'.
68492         * modules/uninorm/u8-normcoll-tests: New file.
68493         * tests/uninorm/test-u8-normcoll.c: New file.
68495 2009-03-07  Bruno Haible  <bruno@clisp.org>
68497         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68498         tests/uninorm/test-u32-normcmp.c.
68499         * tests/uninorm/test-u32-normcmp.c: Include it.
68500         (test_nonascii): New function, extracted from main. Add some more
68501         tests.
68502         (main): Invoke test_ascii and test_nonascii.
68503         * modules/uninorm/u32-normcmp-tests (Files): Add
68504         tests/uninorm/test-u32-normcmp.h.
68505         (Depends-on): Remove uninorm/u32-normcmp.
68507         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68508         tests/uninorm/test-u16-normcmp.c.
68509         * tests/uninorm/test-u16-normcmp.c: Include it.
68510         (test_nonascii): New function, extracted from main. Add some more
68511         tests.
68512         (main): Invoke test_ascii and test_nonascii.
68513         * modules/uninorm/u16-normcmp-tests (Files): Add
68514         tests/uninorm/test-u16-normcmp.h.
68515         (Depends-on): Remove uninorm/u16-normcmp.
68517         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68518         tests/uninorm/test-u8-normcmp.c.
68519         * tests/uninorm/test-u8-normcmp.c: Include it.
68520         (test_nonascii): New function, extracted from main. Add some more
68521         tests.
68522         (main): Invoke test_ascii and test_nonascii.
68523         * modules/uninorm/u8-normcmp-tests (Files): Add
68524         tests/uninorm/test-u8-normcmp.h.
68525         (Depends-on): Remove uninorm/u8-normcmp.
68527 2009-03-07  Bruno Haible  <bruno@clisp.org>
68529         New module 'uninorm/u32-normcoll'.
68530         * lib/uninorm/u32-normcoll.c: New file.
68531         * modules/uninorm/u32-normcoll: New file.
68533         New module 'uninorm/u16-normcoll'.
68534         * lib/uninorm/u16-normcoll.c: New file.
68535         * modules/uninorm/u16-normcoll: New file.
68537         New module 'uninorm/u8-normcoll'.
68538         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68539         declarations.
68540         * lib/uninorm/u8-normcoll.c: New file.
68541         * lib/uninorm/u-normcoll.h: New file.
68542         * modules/uninorm/u8-normcoll: New file.
68544         New module 'uninorm/u32-normxfrm'.
68545         * lib/uninorm/u32-normxfrm.c: New file.
68546         * modules/uninorm/u32-normxfrm: New file.
68548         New module 'uninorm/u16-normxfrm'.
68549         * lib/uninorm/u16-normxfrm.c: New file.
68550         * modules/uninorm/u16-normxfrm: New file.
68552         New module 'uninorm/u8-normxfrm'.
68553         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68554         declarations.
68555         * lib/uninorm/u8-normxfrm.c: New file.
68556         * lib/uninorm/u-normxfrm.h: New file.
68557         * modules/uninorm/u8-normxfrm: New file.
68559 2009-03-07  Bruno Haible  <bruno@clisp.org>
68561         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68562         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68563         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68565 2009-03-07  Bruno Haible  <bruno@clisp.org>
68567         New module 'memxfrm'.
68568         * lib/memxfrm.h: New file.
68569         * lib/memxfrm.c: New file.
68570         * modules/memxfrm: New file.
68572 2009-03-07  Bruno Haible  <bruno@clisp.org>
68574         New module 'memcmp2'.
68575         * lib/memcmp2.h: New file.
68576         * lib/memcmp2.c: New file.
68577         * modules/memcmp2: New file.
68579 2009-03-07  Bruno Haible  <bruno@clisp.org>
68581         Tests for module 'uninorm/decomposing-form'.
68582         * modules/uninorm/decomposing-form-tests: New file.
68583         * tests/uninorm/test-decomposing-form.c: New file.
68585         New module 'uninorm/decomposing-form'.
68586         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68587         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68588         Add 'decomposing_variant' field.
68589         * lib/uninorm/decomposing-form.c: New file.
68590         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68591         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68592         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68593         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68594         * modules/uninorm/decomposing-form: New file.
68595         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68596         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68598 2009-03-07  Bruno Haible  <bruno@clisp.org>
68600         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68601         strings.
68603 2009-03-06  Bruno Haible  <bruno@clisp.org>
68605         Tests for module 'uninorm/u32-normcmp'.
68606         * tests/uninorm/test-u32-normcmp.c: New file.
68607         * modules/uninorm/u32-normcmp-tests: New file.
68609         Tests for module 'uninorm/u16-normcmp'.
68610         * tests/uninorm/test-u16-normcmp.c: New file.
68611         * modules/uninorm/u16-normcmp-tests: New file.
68613         Tests for module 'uninorm/u8-normcmp'.
68614         * tests/uninorm/test-u8-normcmp.c: New file.
68615         * modules/uninorm/u8-normcmp-tests: New file.
68617         New module 'uninorm/u32-normcmp'.
68618         * lib/uninorm/u32-normcmp.c: New file.
68619         * modules/uninorm/u32-normcmp: New file.
68621         New module 'uninorm/u16-normcmp'.
68622         * lib/uninorm/u16-normcmp.c: New file.
68623         * modules/uninorm/u16-normcmp: New file.
68625         New module 'uninorm/u8-normcmp'.
68626         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68627         declarations.
68628         * lib/uninorm/u8-normcmp.c: New file.
68629         * lib/uninorm/u-normcmp.h: New file.
68630         * modules/uninorm/u8-normcmp: New file.
68632 2009-03-06  Bruno Haible  <bruno@clisp.org>
68634         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68635         Reported by Eric Blake.
68637 2009-03-06  Eric Blake  <ebb9@byu.net>
68638             Bruno Haible  <bruno@clisp.org>
68640         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68641         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68642         condition.
68643         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68644         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68645         condition.
68646         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68648 2009-03-06  Eric Blake  <ebb9@byu.net>
68650         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68651         to avoid compiler warnings.
68652         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68654 2009-03-05  Bruno Haible  <bruno@clisp.org>
68656         * tests/test-ftell.c (main): Disable test beyond end of file on
68657         FreeMiNT.
68658         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68660 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68662         * lib/filevercmp.c: Move hidden files up in ordering.
68663         * tests/test-filevercmp.c: Add tests for hidden files.
68665 2009-03-04  Bruno Haible  <bruno@clisp.org>
68667         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68668         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68669         AM_CFLAGS.
68670         Reported by Simon Josefsson.
68672 2009-03-03  Bruno Haible  <bruno@clisp.org>
68674         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68675         Reported by Simon Josefsson.
68677         * doc/ld-version-script.texi: Update node reference.
68679 2009-03-03  Bruno Haible  <bruno@clisp.org>
68681         * modules/visibility (License): Change to 'unlimited'.
68682         Suggested by Simon Josefsson.
68684 2009-03-03  Jim Meyering  <meyering@redhat.com>
68686         unlinkdir: cannot_unlink_dir may modify process state
68687         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68688         it's neither thread-safe nor appropriate for use in a library.
68690 2009-03-03  Eric Blake  <ebb9@byu.net>
68692         test-closein: silence test under Darwin
68693         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68694         care if it dies from EPIPE or EBADF.
68696 2009-03-03  Bruno Haible  <bruno@clisp.org>
68698         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68699         earlier.
68700         * doc/visibility.texi: Fix @node and @section.
68702 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68704         * doc/gnulib.texi: Link to sections for ld version script and
68705         visibility.
68706         * doc/visibility.texi: Add @node and @section.
68707         * modules/ld-version-script: New module.
68708         * m4/ld-version-script.m4: New file.
68709         * doc/ld-version-script.texi: New file.
68711 2009-03-02  David Lutterkort  <lutter@redhat.com>
68713         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68714         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68716 2009-03-02  Bruno Haible  <bruno@clisp.org>
68718         * doc/visibility.texi: Mention libtool's -export-symbols option.
68720 2009-03-02  Jim Meyering  <meyering@redhat.com>
68722         announce-gen: new option: --no-print-checksums
68723         * build-aux/announce-gen (usage): Describe it.
68724         (print_checksums): Print a newline here, not in the [*] footnote.
68725         (main): Honor it.
68727 2009-03-01  Bruno Haible  <bruno@clisp.org>
68729         Use socklen_t in the native Windows replacements prototypes.
68730         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68731         instead of 'int'.
68732         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68733         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68734         * modules/getsockopt (Depends-on): Add socklen.
68735         * modules/setsockopt (Depends-on): Add socklen.
68737 2009-03-01  Bruno Haible  <bruno@clisp.org>
68739         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68740         least 4.2.
68742 2009-03-01  Eric Blake  <ebb9@byu.net>
68743             Bruno Haible  <bruno@clisp.org>
68745         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68746         error messages.
68747         * lib/wait-process.c (wait_subprocess): Omit error message about
68748         deadly signal sent to the child of termsigp != NULL.
68750 2009-03-01  Eric Blake  <ebb9@byu.net>
68752         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68754 2009-03-01  Bruno Haible  <bruno@clisp.org>
68756         Avoid a gcc warning.
68757         * tests/test-sched.c (b): Make global.
68758         Reported by Eric Blake.
68760 2009-01-19  Martin Lambers  <marlam@marlam.de>
68762         Provide POSIX semantics for socket timeout options on W32.
68763         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68764         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68765         * modules/setsockopt: Depend on sys_time module for struct timeval.
68766         * modules/getsockopt: Depend on sys_time module for struct timeval.
68768 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68770         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68771         __USE_GNU, for consistency with netdb.in.h.
68772         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68774 2009-03-01  Bruno Haible  <bruno@clisp.org>
68776         More support for FreeMiNT.
68777         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68778         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68780 2009-03-01  Bruno Haible  <bruno@clisp.org>
68782         More support for FreeMiNT.
68783         * lib/fpurge.c (fpurge): Correct last commit.
68784         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68786 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68788         Fix unportable awk script in vc-list-files.
68789         * build-aux/vc-list-files: In the replacement awk script, use
68790         substr with a second argument of 1, not zero.
68791         Report by Simon Josefsson.
68793 2009-02-28  Bruno Haible  <bruno@clisp.org>
68795         More support for FreeMiNT.
68796         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68797         to FreeMiNT today.
68798         * lib/fwriting.c (fwriting): Likewise.
68799         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68801 2009-02-28  Bruno Haible  <bruno@clisp.org>
68803         * tests/test-freadseek.c (main): Disable test beyond end of file on
68804         FreeMiNT.
68805         * tests/test-ftello.c (main): Likewise.
68806         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68808 2009-02-28  Bruno Haible  <bruno@clisp.org>
68810         Add tentative support for FreeMiNT.
68811         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68812         * lib/fpurge.c (fpurge): Likewise.
68813         * lib/freadable.c (freadable): Likewise.
68814         * lib/freading.c (freading): Likewise.
68815         * lib/freadptr.c (freadptr): Likewise.
68816         * lib/freadseek.c (freadptrinc): Likewise.
68817         * lib/fseeko.c (rpl_fseeko): Likewise.
68818         * lib/fseterr.c (fseterr): Likewise.
68819         * lib/fwritable.c (fwritable): Likewise.
68820         * lib/fwriting.c (fwriting): Likewise.
68821         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68822         Hourihane.
68823         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68825 2009-02-28  Bruno Haible  <bruno@clisp.org>
68827         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68828         SIGCHLD.
68829         Reported by Jim Meyering.
68831 2009-02-28  Bruno Haible  <bruno@clisp.org>
68833         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68834         Mention the results of these tests on various platforms.
68835         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68836         order.
68837         * doc/posix-functions/printf.texi: Likewise.
68838         * doc/posix-functions/snprintf.texi: Likewise.
68839         * doc/posix-functions/sprintf.texi: Likewise.
68840         * doc/posix-functions/vfprintf.texi: Likewise.
68841         * doc/posix-functions/vprintf.texi: Likewise.
68842         * doc/posix-functions/vsnprintf.texi: Likewise.
68843         * doc/posix-functions/vsprintf.texi: Likewise.
68844         * doc/glibc-functions/obstack_printf.texi: Likewise.
68845         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68847 2009-02-28  Bruno Haible  <bruno@clisp.org>
68849         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68850         Reported by Loïc Minier <lool@dooz.org>.
68852 2009-02-27  Bruno Haible  <bruno@clisp.org>
68854         * gnulib-tool (func_import): Make the sed expression used to create the
68855         sed script for updating the .gitignore file POSIX compliant.
68856         Reported by Eric Blake.
68858 2009-02-27  Bruno Haible  <bruno@clisp.org>
68860         * gnulib-tool (sed): Don't alias as "sed --posix".
68861         Reported by Eric Blake.
68863 2009-02-27  Bruno Haible  <bruno@clisp.org>
68865         Avoid test link errors.
68866         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68867         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68868         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68869         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68870         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68872 2009-02-27  Bruno Haible  <bruno@clisp.org>
68874         Avoid spurious "(cached)" in configure output.
68875         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68876         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68877         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68878         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68879         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68880         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68881         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68882         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68883         Reported by Eric Blake.
68885 2009-02-27  Eric Blake  <ebb9@byu.net>
68887         printf: fix regression in previous patch
68888         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68890 2009-02-27  Bruno Haible  <bruno@clisp.org>
68892         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68893         value.
68894         * lib/stdint.in.h: Likewise.
68895         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68897 2009-02-27  Eric Blake  <ebb9@byu.net>
68899         doc: mention more functions added in cygwin 1.7.0
68900         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68901         addition.
68902         * doc/posix-functions/open_wmemstream.texi: Likewise.
68903         * doc/posix-functions/wcsnlen.texi: Likewise.
68904         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68905         * doc/posix-functions/wcstod.texi: Likewise.
68906         * doc/posix-functions/wcstof.texi: Likewise.
68907         * doc/posix-functions/wcstoimax.texi: Likewise.
68908         * doc/posix-functions/wcstok.texi: Likewise.
68909         * doc/posix-functions/wcstoumax.texi: Likewise.
68911         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68913         * doc/posix-functions/fprintf.texi: Update.
68914         * doc/posix-functions/printf.texi: Update.
68915         * doc/posix-functions/snprintf.texi: Update.
68916         * doc/posix-functions/sprintf.texi: Update.
68917         * doc/posix-functions/vfprintf.texi: Update.
68918         * doc/posix-functions/vprintf.texi: Update.
68919         * doc/posix-functions/vsnprintf.texi: Update.
68920         * doc/posix-functions/vsprintf.texi: Update.
68921         * doc/glibc-functions/obstack_printf.texi: Update.
68922         * doc/glibc-functions/obstack_vprintf.texi: Update.
68924 2009-02-26  Eric Blake  <ebb9@byu.net>
68926         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68927         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68928         compilation bug by using runtime conversion.
68929         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68930         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68931         * modules/ceill-tests (Files): Use nan.h.
68932         * modules/floorl-tests (Files): Likewise.
68933         * modules/frexpl-tests (Files): Likewise.
68934         * modules/isnanl-tests (Files): Likewise.
68935         * modules/ldexpl-tests (Files): Likewise.
68936         * modules/roundl-tests (Files): Likewise.
68937         * modules/truncl-tests (Files): Likewise.
68938         * tests/test-ceill.c (main): Use a working NaN.
68939         * tests/test-floorl.c (main): Likewise.
68940         * tests/test-frexpl.c (main): Likewise.
68941         * tests/test-isnan.c (test_long_double): Likewise.
68942         * tests/test-isnanl.h (main): Likewise.
68943         * tests/test-ldexpl.h (main): Likewise.
68944         * tests/test-roundl.h (main): Likewise.
68945         * tests/test-truncl.h (main): Likewise.
68946         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68948 2009-02-26  Eric Blake  <ebb9@byu.net>
68949             Bruno Haible  <bruno@clisp.org>
68951         Work around a *printf bug with %ls on Solaris.
68952         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68953         precision is specified, sprintf stops converting the wide string
68954         argument when the number of bytes that have been produced by this
68955         conversion equals or exceeds the precision.
68956         * doc/posix-functions/fprintf.texi: Update.
68957         * doc/posix-functions/printf.texi: Update.
68958         * doc/posix-functions/snprintf.texi: Update.
68959         * doc/posix-functions/sprintf.texi: Update.
68960         * doc/posix-functions/vfprintf.texi: Update.
68961         * doc/posix-functions/vprintf.texi: Update.
68962         * doc/posix-functions/vsnprintf.texi: Update.
68963         * doc/posix-functions/vsprintf.texi: Update.
68964         * doc/glibc-functions/obstack_printf.texi: Update.
68965         * doc/glibc-functions/obstack_vprintf.texi: Update.
68967 2009-02-26  Eric Blake  <ebb9@byu.net>
68969         stdlib: favor compiler check of random.h
68970         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68971         to avoid an ObjC random.h installed by Swarm.
68973 2009-02-26  Bruno Haible  <bruno@clisp.org>
68975         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68976         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68977         Reported by Gary V. Vaughan <gary@gnu.org>.
68979 2009-02-26  Bruno Haible  <bruno@clisp.org>
68981         Fix *printf behaviour regarding the %ls directive.
68982         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68983         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68984         NEED_PRINTF_DIRECTIVE_LS.
68985         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68986         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68987         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68988         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68989         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68990         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68991         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68992         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68993         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68994         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68995         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68996         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68997         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68998         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68999         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69000         * doc/posix-functions/fprintf.texi: Update.
69001         * doc/posix-functions/printf.texi: Update.
69002         * doc/posix-functions/snprintf.texi: Update.
69003         * doc/posix-functions/sprintf.texi: Update.
69004         * doc/posix-functions/vfprintf.texi: Update.
69005         * doc/posix-functions/vprintf.texi: Update.
69006         * doc/posix-functions/vsnprintf.texi: Update.
69007         * doc/posix-functions/vsprintf.texi: Update.
69008         * doc/glibc-functions/obstack_printf.texi: Update.
69009         * doc/glibc-functions/obstack_vprintf.texi: Update.
69010         Reported by Eric Blake.
69012 2009-02-25  Bruno Haible  <bruno@clisp.org>
69014         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
69015         with known value.
69016         Reported by Gary V. Vaughan <gary@gnu.org>.
69018 2009-02-25  Bruno Haible  <bruno@clisp.org>
69020         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
69021         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
69022         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
69023         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
69024         Reported by Gary V. Vaughan <gary@gnu.org>.
69026 2009-02-25  Bruno Haible  <bruno@clisp.org>
69028         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
69029         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
69030         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
69031         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
69032         Reported by Gary V. Vaughan <gary@gnu.org>.
69034 2009-02-25  Eric Blake  <ebb9@byu.net>
69036         tests: skip fseek/ftell tests if ungetc is broken
69037         * m4/ungetc.m4: New file.
69038         * modules/fseek-tests: Split test, so ungetc dependency is
69039         separate from rest of test.
69040         * modules/fseeko-tests: Likewise.
69041         * modules/ftell-tests: Likewise.
69042         * modules/ftello-tests: Likewise.
69043         * tests/test-fseek.c (main): Isolate ungetc dependency.
69044         * tests/test-fseeko.c (main): Likewise.
69045         * tests/test-ftell.c (main): Likewise.
69046         * tests/test-ftello.c (main): Likewise.
69047         * tests/test-fseek2.sh: New file.
69048         * tests/test-fseeko2.sh: Likewise.
69049         * tests/test-ftell2.sh: Likewise.
69050         * tests/test-ftello2.sh: Likewise.
69052 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
69054         test-getaddrinfo: fix usage of skip return code 77
69055         * tests/test-gettaddrinfo.c: Return skip code 77 only
69056         for first occurrence of skip (4x77 is not 77)
69058 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
69060         strtod: avoid C99 decl-after-statement
69061         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
69063 2009-02-24  Eric Blake  <ebb9@byu.net>
69065         strtod: detect HP-UX 11.31 bug
69066         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
69067         Reported by Gary V. Vaughan.
69069 2009-02-23  Bruno Haible  <bruno@clisp.org>
69071         Fix invalid read past end of memory block.
69072         * lib/vasnprintf.c (DCHAR_SET): Define.
69073         (local_wcslen): Define only when needed.
69074         (local_strnlen, local_wcsnlen): New functions.
69075         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
69076         directives that involve a conversion ourselves.
69077         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
69078         wcsnlen, mbrtowc, wcrtomb.
69079         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
69080         * tests/test-vasprintf-posix.c (test_function): Likewise.
69081         * tests/test-snprintf-posix.h (test_function): Likewise.
69082         * tests/test-sprintf-posix.h (test_function): Likewise.
69083         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69085 2009-02-22  Bruno Haible  <bruno@clisp.org>
69087         Implement new clarified decomposition of Hangul syllables.
69088         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
69089         of type LTV, return only a pairwise decomposition.
69090         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
69091         Likewise.
69092         * tests/uninorm/test-decomposition.c (main): Updated expected result.
69093         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
69094         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
69096 2009-02-22  Bruno Haible  <bruno@clisp.org>
69098         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
69099         zero-length results and shrink excess allocated memory.
69100         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
69101         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
69102         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
69103         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
69104         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
69105         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
69106         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
69107         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
69108         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
69109         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
69110         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
69111         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
69113 2009-02-21  Bruno Haible  <bruno@clisp.org>
69115         * doc/gnulib.texi: Include safe-alloc.texi earlier.
69116         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
69117         spaces after a period. Put a space between a macro name and its
69118         argument list. Trivial rewordings.
69119         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
69120         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
69121         (main): Return 0 explicitly.
69123 2009-02-21  Bruno Haible  <bruno@clisp.org>
69125         Tests for module 'uninorm/filter'.
69126         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
69127         * modules/uninorm/filter-tests: New file.
69129         New module 'uninorm/filter'.
69130         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
69131         uninorm_filter_flush, uninorm_filter_free): New declarations.
69132         * lib/uninorm/uninorm-filter.c: New file.
69133         * modules/uninorm/filter: New file.
69135 2009-02-21  Bruno Haible  <bruno@clisp.org>
69137         Tests for module 'uninorm/nfkc'.
69138         * tests/uninorm/test-nfkc.c: New file.
69139         * tests/uninorm/test-u8-nfkc.c: New file.
69140         * tests/uninorm/test-u16-nfkc.c: New file.
69141         * tests/uninorm/test-u32-nfkc.c: New file.
69142         * tests/uninorm/test-u32-nfkc-big.sh: New file.
69143         * tests/uninorm/test-u32-nfkc-big.c: New file.
69144         * modules/uninorm/nfkc-tests: New file.
69146         New module 'uninorm/nfkc'.
69147         * lib/uninorm/nfkc.c: New file.
69148         * modules/uninorm/nfkc: New file.
69150         Tests for module 'uninorm/nfkd'.
69151         * tests/uninorm/test-nfkd.c: New file.
69152         * tests/uninorm/test-u8-nfkd.c: New file.
69153         * tests/uninorm/test-u16-nfkd.c: New file.
69154         * tests/uninorm/test-u32-nfkd.c: New file.
69155         * tests/uninorm/test-u32-nfkd-big.sh: New file.
69156         * tests/uninorm/test-u32-nfkd-big.c: New file.
69157         * modules/uninorm/nfkd-tests: New file.
69159         New module 'uninorm/nfkd'.
69160         * lib/uninorm/nfkd.c: New file.
69161         * modules/uninorm/nfkd: New file.
69163         Tests for module 'uninorm/nfc'.
69164         * tests/uninorm/test-nfc.c: New file.
69165         * tests/uninorm/test-u8-nfc.c: New file.
69166         * tests/uninorm/test-u16-nfc.c: New file.
69167         * tests/uninorm/test-u32-nfc.c: New file.
69168         * tests/uninorm/test-u32-nfc-big.sh: New file.
69169         * tests/uninorm/test-u32-nfc-big.c: New file.
69170         * modules/uninorm/nfc-tests: New file.
69172         New module 'uninorm/nfc'.
69173         * lib/uninorm/nfc.c: New file.
69174         * modules/uninorm/nfc: New file.
69176         Tests for module 'uninorm/nfd'.
69177         * tests/uninorm/test-nfd.c: New file.
69178         * tests/uninorm/test-u8-nfd.c: New file.
69179         * tests/uninorm/test-u16-nfd.c: New file.
69180         * tests/uninorm/test-u32-nfd.c: New file.
69181         * tests/uninorm/test-u32-nfd-big.sh: New file.
69182         * tests/uninorm/test-u32-nfd-big.c: New file.
69183         * tests/uninorm/test-u32-normalize-big.h: New file.
69184         * tests/uninorm/test-u32-normalize-big.c: New file.
69185         * tests/uninorm/NormalizationTest.txt: New file, created from
69186         Unicode 5.1.0 NormalizationTest.txt.
69187         * modules/uninorm/nfd-tests: New file.
69189         New module 'uninorm/nfd'.
69190         * lib/uninorm/nfd.c: New file.
69191         * modules/uninorm/nfd: New file.
69193         New module 'uninorm/u32-normalize'.
69194         * lib/uninorm/u32-normalize.c: New file.
69195         * modules/uninorm/u32-normalize: New file.
69197         New module 'uninorm/u16-normalize'.
69198         * lib/uninorm/u16-normalize.c: New file.
69199         * modules/uninorm/u16-normalize: New file.
69201         New module 'uninorm/u8-normalize'.
69202         * lib/uninorm/u8-normalize.c: New file.
69203         * lib/uninorm/normalize-internal.h: New file.
69204         * lib/uninorm/u-normalize-internal.h: New file.
69205         * modules/uninorm/u8-normalize: New file.
69207         New module 'uninorm/decompose-internal'.
69208         * lib/uninorm/decompose-internal.c: New file.
69209         * modules/uninorm/decompose-internal: New file.
69211         Tests for module 'uninorm/composition'.
69212         * tests/uninorm/test-composition.c: New file.
69213         * modules/uninorm/composition-tests: New file.
69215         New module 'uninorm/composition'.
69216         * lib/uninorm/composition.c: New file.
69217         * lib/uninorm/composition-table.gperf: New file, generated by
69218         gen-uni-tables.
69219         * modules/uninorm/composition: New file.
69221         Tests for module 'uninorm/compat-decomposition'.
69222         * tests/uninorm/test-compat-decomposition.c: New file.
69223         * modules/uninorm/compat-decomposition-tests: New file.
69225         New module 'uninorm/compat-decomposition'.
69226         * lib/uninorm/decompose-internal.h: New file.
69227         * lib/uninorm/compat-decomposition.c: New file.
69228         * modules/uninorm/compat-decomposition: New file.
69230         Tests for module 'uninorm/canonical-decomposition'.
69231         * tests/uninorm/test-canonical-decomposition.c: New file.
69232         * modules/uninorm/canonical-decomposition-tests: New file.
69234         New module 'uninorm/canonical-decomposition'.
69235         * lib/uninorm/canonical-decomposition.c: New file.
69236         * modules/uninorm/canonical-decomposition: New file.
69238         Tests for module 'uninorm/decomposition'.
69239         * tests/uninorm/test-decomposition.c: New file.
69240         * modules/uninorm/decomposition-tests: New file.
69242         New module 'uninorm/decomposition'.
69243         * lib/uninorm/decomposition.c: New file.
69244         * modules/uninorm/decomposition: New file.
69246         New module 'uninorm/decomposition-table'.
69247         * lib/uninorm/decomposition-table.h: New file.
69248         * lib/uninorm/decomposition-table.c: New file.
69249         * lib/uninorm/decomposition-table1.h: New file, generated by
69250         gen-uni-tables.
69251         * lib/uninorm/decomposition-table2.h: New file, generated by
69252         gen-uni-tables.
69253         * modules/uninorm/decomposition-table: New file.
69255         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
69256         (UC_DECOMP_*): New enumeration items.
69257         (get_decomposition): New function.
69258         (struct decomp_table): New type.
69259         (output_decomposition, output_decomposition_tables): New functions.
69260         (unicode_composition_exclusions): New variable.
69261         (fill_composition_exclusions, debug_output_composition_tables): New
69262         functions.
69263         (main): Accept one more argument. Invoke fill_composition_exclusions.
69264         Output decomposition and composition tables.
69266         New module 'uninorm/base'.
69267         * lib/uninorm.h: New file.
69268         * lib/unictype.h: Update comment.
69269         * modules/uninorm/base: New file.
69271 2009-02-21  David Lutterkort  <lutter@redhat.com>
69273         Tests for module 'safe-alloc'.
69274         * tests/test-safe-alloc.c: New file.
69275         * modules/safe-alloc-tests: New file.
69277         New module 'safe-alloc'.
69278         * lib/safe-alloc.h: New file.
69279         * lib/safe-alloc.c: New file.
69280         * m4/safe-alloc.m4: New file.
69281         * modules/safe-alloc: New file.
69282         * doc/safe-alloc.texi: New file.
69283         * doc/gnulib.texi: Include it.
69284         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
69285         safe-alloc.
69287 2009-02-18  Bruno Haible  <bruno@clisp.org>
69289         Fix link error on non-glibc systems.
69290         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
69291         variable.
69292         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69294 2009-02-18  Jim Meyering  <meyering@redhat.com>
69296         fts: avoid used-uninitialized error due to recent change
69297         * lib/fts.c (fts_read): Guard uses of the new member,
69298         parent->fts_n_dirs_remaining, since it's not relevant for
69299         the parent of a directory specified on the command-line.
69301 2009-02-17  James Youngman  <jay@gnu.org>
69302             Bruno Haible  <bruno@clisp.org>
69304         * m4/include_next.m4: Reformulate comment.
69306 2009-02-16  Jim Meyering  <meyering@redhat.com>
69308         fts: add #if guards so that the fts_lgpl module still builds
69309         * lib/fts.c: Guard just-added hash-table-using parts with
69310         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
69311         Reported by Simon Josefsson.
69313 2009-02-15  Bruno Haible  <bruno@clisp.org>
69315         * modules/array-mergesort-tests: New file.
69316         * tests/test-array-mergesort.c: New file.
69318         New module 'array-mergesort'.
69319         * modules/array-mergesort: New file.
69320         * lib/array-mergesort.h: New file.
69322 2009-02-15  Bruno Haible  <bruno@clisp.org>
69324         Fix 2009-02-07 commit.
69325         * lib/gen-uni-tables.c (output_predicate, output_category,
69326         output_combclass, output_bidi_category, output_decimal_digit,
69327         output_digit, output_numeric, output_mirror, output_scripts,
69328         output_ident_category, output_simple_mapping): Fix format directives.
69329         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
69331 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
69333         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
69334         fixes are available from IBM.
69336 2009-02-13  Jim Meyering  <meyering@redhat.com>
69338         fts: arrange not to stat non-directories in more cases
69339         This makes GNU find (when it doesn't need to stat each file)
69340         *much* more efficient at traversing reiserfs file systems.
69341         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
69342         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
69343         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
69344         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
69345         (leaf_optimization_applies): New function.
69346         (LCO_hash, LCO_compare): New helper functions.
69347         (link_count_optimize_ok): New function.
69348         (fts_stat): Initialize new member (if dir).
69349         (fts_read): Decrement parent's fts_n_dirs_remaining count if
69350         we've just stat'ed a directory.  Skip the stat call when possible.
69351         ---
69352         Note this AFS-related exchange:
69353         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
69354         and note find's pioctl call in find/fstype.c.
69355         But that is necessary only if you want to enable the
69356         optimization for AFS, and for now, I don't.
69358         fts: move a function definition "up" (no semantic change)
69359         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
69360         "up" to precede upcoming use of a related function.
69362 2009-02-11  Jim Meyering  <meyering@redhat.com>
69364         fts: correct internal computation of nlinks (optimization-related)
69365         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
69366         whether the current entry is a directory, so don't test it.
69368 2009-02-10  Bruno Haible  <bruno@clisp.org>
69370         Tests for module 'uniwbrk/ulc-wordbreaks'.
69371         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
69372         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
69373         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
69375         Tests for module 'uniwbrk/u32-wordbreaks'.
69376         * modules/uniwbrk/u32-wordbreaks-tests: New file.
69377         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
69379         Tests for module 'uniwbrk/u16-wordbreaks'.
69380         * modules/uniwbrk/u16-wordbreaks-tests: New file.
69381         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
69383         Tests for module 'uniwbrk/u8-wordbreaks'.
69384         * modules/uniwbrk/u8-wordbreaks-tests: New file.
69385         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
69387 2009-02-10  Bruno Haible  <bruno@clisp.org>
69389         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
69390         property.
69391         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
69392         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
69393         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
69395 2009-02-10  Simon Josefsson  <simon@josefsson.org>
69397         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
69398         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
69400 2009-02-10  Bruno Haible  <bruno@clisp.org>
69402         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
69403         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
69404         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
69405         * lib/unilbrk/u8-possible-linebreaks.c: Update.
69406         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
69407         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
69409 2009-02-09  Simon Josefsson  <simon@josefsson.org>
69411         * lib/sockets.h (gl_fd_to_handle): New function.
69413         * tests/test-sockets.c: Call gl_fd_to_handle.
69415 2009-02-09  Bruno Haible  <bruno@clisp.org>
69417         * doc/havelib.texi: Document the conventions on bi-arch systems.
69419 2009-02-08  Bruno Haible  <bruno@clisp.org>
69421         Document the AC_LIB_LINKFLAGS macro.
69422         * doc/havelib.texi: New file, mostly written on 2005-05-24.
69423         * doc/gnulib.texi: Include it.
69425 2009-02-08  Bruno Haible  <bruno@clisp.org>
69427         Fix wrong order of sections, compared to TOC.
69428         * doc/gnulib.texi: Include relocatable-maint.texi after the
69429         "Regular expressions" node, not before.
69431 2009-02-08  Bruno Haible  <bruno@clisp.org>
69433         Tests for module 'unicase/totitle'.
69434         * modules/unicase/totitle-tests: New file.
69436         Tests for module 'unicase/tolower'.
69437         * modules/unicase/tolower-tests: New file.
69439         Tests for module 'unicase/toupper'.
69440         * modules/unicase/toupper-tests: New file.
69441         * tests/unicase/test-mapping-part1.h: New file.
69442         * tests/unicase/test-mapping-part2.h: New file.
69444         New module 'unicase/totitle'.
69445         * modules/unicase/totitle: New file.
69446         * lib/unicase/totitle.c: New file.
69448         New module 'unicase/tolower'.
69449         * modules/unicase/tolower: New file.
69450         * lib/unicase/tolower.c: New file.
69452         New module 'unicase/toupper'.
69453         * modules/unicase/toupper: New file.
69454         * lib/unicase/toupper.c: New file.
69455         * lib/unicase/simple-mapping.h: New file.
69457         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
69458         (mapping_table): New structure.
69459         (output_simple_mapping): New function.
69460         (main): Invoke output_simple_mapping_test and output_simple_mapping.
69461         * modules/gen-uni-tables (Description): Update.
69462         * lib/unicase/toupper.h: New file, automatically generated by
69463         gen-uni-tables.
69464         * lib/unicase/tolower.h: New file, automatically generated by
69465         gen-uni-tables.
69466         * lib/unicase/totitle.h: New file, automatically generated by
69467         gen-uni-tables.
69468         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
69469         gen-uni-tables.
69470         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69471         gen-uni-tables.
69472         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69473         gen-uni-tables.
69475         New module 'unicase/base'.
69476         * modules/unicase/base: New file.
69477         * lib/unicase.h: New file.
69479 2009-02-08  Bruno Haible  <bruno@clisp.org>
69481         New module 'uniwbrk/ulc-wordbreaks'.
69482         * modules/uniwbrk/ulc-wordbreaks: New file.
69483         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69485         New module 'uniwbrk/u32-wordbreaks'.
69486         * modules/uniwbrk/u32-wordbreaks: New file.
69487         * lib/uniwbrk/u32-wordbreaks.c: New file.
69489         New module 'uniwbrk/u16-wordbreaks'.
69490         * modules/uniwbrk/u16-wordbreaks: New file.
69491         * lib/uniwbrk/u16-wordbreaks.c: New file.
69493         New module 'uniwbrk/u8-wordbreaks'.
69494         * modules/uniwbrk/u8-wordbreaks: New file.
69495         * lib/uniwbrk/u8-wordbreaks.c: New file.
69496         * lib/uniwbrk/u-wordbreaks.h: New file.
69498         New module 'uniwbrk/table'.
69499         * modules/uniwbrk/table: New file.
69500         * lib/uniwbrk/wbrktable.h: New file.
69501         * lib/uniwbrk/wbrktable.c: New file.
69503         New module 'uniwbrk/wordbreak-property'.
69504         * modules/uniwbrk/wordbreak-property: New file.
69505         * lib/uniwbrk/wordbreak-property.c: New file.
69507         * lib/gen-uni-tables.c (WBP_*): New enum items.
69508         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69509         (unicode_org_wbp): New variable.
69510         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69511         New functions.
69512         (wbp_table): New structure.
69513         (output_wbp, output_wbrk_tables): New functions.
69514         (main): Accept additional argument. Invoke fill_org_wbp,
69515         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69516         output_wbrk_tables.
69517         * modules/gen-uni-tables (Description): Update.
69518         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69519         gen-uni-tables.
69521         New module 'uniwbrk/base'.
69522         * modules/uniwbrk/base: New file.
69523         * lib/uniwbrk.h: New file.
69525 2009-02-08  Bruno Haible  <bruno@clisp.org>
69527         Update to Unicode 5.1.0.
69528         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69529         U+2185..U+2188.
69530         (is_property_default_ignorable_code_point): Don't include characters
69531         of category Cc or Cs and not-a-characters.
69532         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69533         U+0D79, U+109E, U+109F, U+A60C.
69534         * lib/unictype/bidi_of.h: Regenerated.
69535         * lib/unictype/blocks.h: Regenerated.
69536         * lib/unictype/categ_C.h: Regenerated.
69537         * lib/unictype/categ_Cf.h: Regenerated.
69538         * lib/unictype/categ_Cn.h: Regenerated.
69539         * lib/unictype/categ_L.h: Regenerated.
69540         * lib/unictype/categ_Ll.h: Regenerated.
69541         * lib/unictype/categ_Lm.h: Regenerated.
69542         * lib/unictype/categ_Lo.h: Regenerated.
69543         * lib/unictype/categ_Lu.h: Regenerated.
69544         * lib/unictype/categ_M.h: Regenerated.
69545         * lib/unictype/categ_Mc.h: Regenerated.
69546         * lib/unictype/categ_Me.h: Regenerated.
69547         * lib/unictype/categ_Mn.h: Regenerated.
69548         * lib/unictype/categ_N.h: Regenerated.
69549         * lib/unictype/categ_Nd.h: Regenerated.
69550         * lib/unictype/categ_Nl.h: Regenerated.
69551         * lib/unictype/categ_No.h: Regenerated.
69552         * lib/unictype/categ_P.h: Regenerated.
69553         * lib/unictype/categ_Pd.h: Regenerated.
69554         * lib/unictype/categ_Pe.h: Regenerated.
69555         * lib/unictype/categ_Pf.h: Regenerated.
69556         * lib/unictype/categ_Pi.h: Regenerated.
69557         * lib/unictype/categ_Po.h: Regenerated.
69558         * lib/unictype/categ_Ps.h: Regenerated.
69559         * lib/unictype/categ_S.h: Regenerated.
69560         * lib/unictype/categ_Sk.h: Regenerated.
69561         * lib/unictype/categ_Sm.h: Regenerated.
69562         * lib/unictype/categ_So.h: Regenerated.
69563         * lib/unictype/categ_of.h: Regenerated.
69564         * lib/unictype/combining.h: Regenerated.
69565         * lib/unictype/ctype_alnum.h: Regenerated.
69566         * lib/unictype/ctype_alpha.h: Regenerated.
69567         * lib/unictype/ctype_graph.h: Regenerated.
69568         * lib/unictype/ctype_lower.h: Regenerated.
69569         * lib/unictype/ctype_print.h: Regenerated.
69570         * lib/unictype/ctype_punct.h: Regenerated.
69571         * lib/unictype/ctype_upper.h: Regenerated.
69572         * lib/unictype/decdigit.h: Regenerated.
69573         * lib/unictype/digit.h: Regenerated.
69574         * lib/unictype/mirror.h: Regenerated.
69575         * lib/unictype/numeric.h: Regenerated.
69576         * lib/unictype/pr_alphabetic.h: Regenerated.
69577         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69578         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69579         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69580         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69581         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69582         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69583         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69584         * lib/unictype/pr_combining.h: Regenerated.
69585         * lib/unictype/pr_dash.h: Regenerated.
69586         * lib/unictype/pr_decimal_digit.h: Regenerated.
69587         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69588         * lib/unictype/pr_deprecated.h: Regenerated.
69589         * lib/unictype/pr_diacritic.h: Regenerated.
69590         * lib/unictype/pr_extender.h: Regenerated.
69591         * lib/unictype/pr_format_control.h: Regenerated.
69592         * lib/unictype/pr_grapheme_base.h: Regenerated.
69593         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69594         * lib/unictype/pr_grapheme_link.h: Regenerated.
69595         * lib/unictype/pr_id_continue.h: Regenerated.
69596         * lib/unictype/pr_id_start.h: Regenerated.
69597         * lib/unictype/pr_ideographic.h: Regenerated.
69598         * lib/unictype/pr_ignorable_control.h: Regenerated.
69599         * lib/unictype/pr_lowercase.h: Regenerated.
69600         * lib/unictype/pr_math.h: Regenerated.
69601         * lib/unictype/pr_numeric.h: Regenerated.
69602         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69603         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69604         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69605         * lib/unictype/pr_other_id_continue.h: Regenerated.
69606         * lib/unictype/pr_other_lowercase.h: Regenerated.
69607         * lib/unictype/pr_other_math.h: Regenerated.
69608         * lib/unictype/pr_punctuation.h: Regenerated.
69609         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69610         * lib/unictype/pr_soft_dotted.h: Regenerated.
69611         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69612         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69613         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69614         * lib/unictype/pr_uppercase.h: Regenerated.
69615         * lib/unictype/pr_xid_continue.h: Regenerated.
69616         * lib/unictype/pr_xid_start.h: Regenerated.
69617         * lib/unictype/pr_zero_width.h: Regenerated.
69618         * lib/unictype/scripts.h: Regenerated.
69619         * lib/unictype/scripts_byname.gperf: Regenerated.
69620         * lib/unictype/sy_java_ident.h: Regenerated.
69621         * lib/unilbrk/lbrkprop1.h: Regenerated.
69622         * lib/unilbrk/lbrkprop2.h: Regenerated.
69623         * tests/unictype/test-categ_C.c: Regenerated.
69624         * tests/unictype/test-categ_Cf.c: Regenerated.
69625         * tests/unictype/test-categ_Cn.c: Regenerated.
69626         * tests/unictype/test-categ_L.c: Regenerated.
69627         * tests/unictype/test-categ_Ll.c: Regenerated.
69628         * tests/unictype/test-categ_Lm.c: Regenerated.
69629         * tests/unictype/test-categ_Lo.c: Regenerated.
69630         * tests/unictype/test-categ_Lu.c: Regenerated.
69631         * tests/unictype/test-categ_M.c: Regenerated.
69632         * tests/unictype/test-categ_Mc.c: Regenerated.
69633         * tests/unictype/test-categ_Me.c: Regenerated.
69634         * tests/unictype/test-categ_Mn.c: Regenerated.
69635         * tests/unictype/test-categ_N.c: Regenerated.
69636         * tests/unictype/test-categ_Nd.c: Regenerated.
69637         * tests/unictype/test-categ_Nl.c: Regenerated.
69638         * tests/unictype/test-categ_No.c: Regenerated.
69639         * tests/unictype/test-categ_P.c: Regenerated.
69640         * tests/unictype/test-categ_Pd.c: Regenerated.
69641         * tests/unictype/test-categ_Pe.c: Regenerated.
69642         * tests/unictype/test-categ_Pf.c: Regenerated.
69643         * tests/unictype/test-categ_Pi.c: Regenerated.
69644         * tests/unictype/test-categ_Po.c: Regenerated.
69645         * tests/unictype/test-categ_Ps.c: Regenerated.
69646         * tests/unictype/test-categ_S.c: Regenerated.
69647         * tests/unictype/test-categ_Sk.c: Regenerated.
69648         * tests/unictype/test-categ_Sm.c: Regenerated.
69649         * tests/unictype/test-categ_So.c: Regenerated.
69650         * tests/unictype/test-ctype_alnum.c: Regenerated.
69651         * tests/unictype/test-ctype_alpha.c: Regenerated.
69652         * tests/unictype/test-ctype_graph.c: Regenerated.
69653         * tests/unictype/test-ctype_lower.c: Regenerated.
69654         * tests/unictype/test-ctype_print.c: Regenerated.
69655         * tests/unictype/test-ctype_punct.c: Regenerated.
69656         * tests/unictype/test-ctype_upper.c: Regenerated.
69657         * tests/unictype/test-decdigit.h: Regenerated.
69658         * tests/unictype/test-digit.h: Regenerated.
69659         * tests/unictype/test-numeric.h: Regenerated.
69660         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69661         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69662         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69663         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69664         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69665         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69666         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69667         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69668         * tests/unictype/test-pr_combining.c: Regenerated.
69669         * tests/unictype/test-pr_dash.c: Regenerated.
69670         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69671         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69672         * tests/unictype/test-pr_deprecated.c: Regenerated.
69673         * tests/unictype/test-pr_diacritic.c: Regenerated.
69674         * tests/unictype/test-pr_extender.c: Regenerated.
69675         * tests/unictype/test-pr_format_control.c: Regenerated.
69676         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69677         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69678         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69679         * tests/unictype/test-pr_id_continue.c: Regenerated.
69680         * tests/unictype/test-pr_id_start.c: Regenerated.
69681         * tests/unictype/test-pr_ideographic.c: Regenerated.
69682         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69683         * tests/unictype/test-pr_lowercase.c: Regenerated.
69684         * tests/unictype/test-pr_math.c: Regenerated.
69685         * tests/unictype/test-pr_numeric.c: Regenerated.
69686         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69687         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69688         Regenerated.
69689         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69690         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69691         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69692         * tests/unictype/test-pr_other_math.c: Regenerated.
69693         * tests/unictype/test-pr_punctuation.c: Regenerated.
69694         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69695         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69696         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69697         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69698         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69699         * tests/unictype/test-pr_uppercase.c: Regenerated.
69700         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69701         * tests/unictype/test-pr_xid_start.c: Regenerated.
69702         * tests/unictype/test-pr_zero_width.c: Regenerated.
69704         Update to Unicode 5.1.0.
69705         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69706         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69707         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69708         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69709         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69710         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69711         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69712         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69713         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69714         (nonspacing_table_ind): Update.
69715         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69717         Update to Unicode 5.1.0.
69718         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69719         code transform.
69720         * lib/uniname/uniname.c (unicode_character_name,
69721         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69722         * lib/uniname/uninames.h: Regenerated.
69723         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69725 2009-02-07  Bruno Haible  <bruno@clisp.org>
69727         Merge gen-ctype and gen-lbrk into a single program.
69728         * lib/gen-uni-tables.c: New file, incorporating
69729         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69730         Add directory prefixes to the names of the generated files.
69731         * lib/unictype/gen-ctype.c: Remove file.
69732         * lib/unilbrk/gen-lbrk.c: Remove file.
69733         * modules/gen-uni-tables: New file.
69734         * modules/unictype/gen-ctype: Remove file.
69735         * modules/unilbrk/gen-lbrk: Remove file.
69737 2009-02-07  Bruno Haible  <bruno@clisp.org>
69739         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69741         New module 'unistr/u32-strcoll'.
69742         * modules/unistr/u32-strcoll: New file.
69743         * lib/unistr/u32-strcoll.c: New file.
69745         New module 'unistr/u16-strcoll'.
69746         * modules/unistr/u16-strcoll: New file.
69747         * lib/unistr/u16-strcoll.c: New file.
69749         New module 'unistr/u8-strcoll'.
69750         * modules/unistr/u8-strcoll: New file.
69751         * lib/unistr/u8-strcoll.c: New file.
69752         * lib/unistr/u-strcoll.h: New file.
69754 2009-02-07  Bruno Haible  <bruno@clisp.org>
69756         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69757         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69758         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69759         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69760         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69761         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69763 2009-02-07  Bruno Haible  <bruno@clisp.org>
69765         Make 64-bit clean.
69766         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69767         output_combclass, output_bidi_category, output_decimal_digit,
69768         output_digit, output_numeric, output_mirror, output_scripts,
69769         output_ident_category): Use proper width specifier in format strings.
69771 2009-02-07  Bruno Haible  <bruno@clisp.org>
69773         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69774         failure behaviour.
69776 2009-02-07  Jim Meyering  <meyering@redhat.com>
69778         regex: avoid compilation failure with upcoming gcc-4.4
69779         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69780         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69781         "... error: integer overflow in preprocessor expression".
69783 2009-02-05  Ben Pfaff  <blp@gnu.org>
69785         Fix link errors on Windows when close module is used.
69786         * modules/close: Add $(LIB_CLOSE) to Link section.
69787         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69788         $(LIB_CLOSE) on Windows.
69790 2009-02-05  Jim Meyering  <meyering@redhat.com>
69792         still avoid unused-parameter warnings, but do it cleanly
69793         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69794         (get_fs_usage): Cast to void instead.
69795         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69796         (dev_from_mount_options, read_file_system_list): Cast to void.
69797         Prompted by Bruno Haible.
69799 2009-02-04  Jim Meyering  <meyering@redhat.com>
69801         fsusage.c: correct copyright year
69802         * lib/fsusage.c: Reflect year in which the change is pushed into
69804         avoid misc. warnings
69805         * lib/fsusage.c (UNUSED_PARAM): Define.
69806         (get_fs_usage): Mark parameter "disk" as unused.
69807         * lib/getugroups.c (getgrent): Use "void" in prototype.
69808         * lib/mountlist.c: Mark unused parameters.
69809         (read_file_system_list): Declare a local with "const".
69810         * lib/nanosleep.c (getnow): Declare static.
69811         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69813         dirfd: set errno upon failure
69814         * lib/dirfd.c: Include <errno.h>.
69815         Set errno to ENOTSUP when returning -1.
69816         * modules/dirfd (Depends-on): Add errno.
69817         Suggested by John Kodis <kodis@comcast.net>.
69819 2009-02-01  Bruno Haible  <bruno@clisp.org>
69821         Don't assume sizeof (long) >= sizeof (void *).
69822         * lib/memcmp.c: Include stdint.h.
69823         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69824         srcp2 to 'const byte *'.
69825         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69826         types to uintptr_t.
69827         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69828         * modules/memcmp (Depends-on): Add stdint.
69829         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69831 2009-01-30  Eric Blake  <ebb9@byu.net>
69833         fix more require-before-expand issues
69834         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69835         expand, AC_PROG_AWK.
69836         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69838 2009-01-28  Eric Blake  <ebb9@byu.net>
69840         version-etc: use consistent URL formatting
69841         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69842         Improve formatting.  Use fputs for string without %.
69844 2009-01-28  Jim Meyering  <meyering@redhat.com>
69846         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69847         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69848         "underquoted definition of NAME" from autoconf-2.59.
69850 2009-01-28  Bruno Haible  <bruno@clisp.org>
69852         * doc/gnulib.texi: Add "Obsolete modules" to index.
69854 2009-01-28  Jim Meyering  <meyering@redhat.com>
69856         useless-if-before-free: recognize more variants
69857         * build-aux/useless-if-before-free: Also recognize e.g.,
69858         if (NULL != p) free (p);
69860 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69862         test-getaddrinfo: skip (don't fail) this test when there's no network
69863         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69864         on the presumption that it means you lack network access.
69866 2009-01-26  Jim Meyering  <meyering@redhat.com>
69868         fflush: avoid warnings on modern systems
69869         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69870         pos and result, into scopes where they're used.
69872 2009-01-26  Eric Blake  <ebb9@byu.net>
69874         Silence warning reintroduced by recent extensions patch.
69875         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69876         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69877         autoconf.
69879         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69880         * m4/00gnulib.m4: New file.
69881         * gnulib-tool (func_get_filelist): Always use it.
69882         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69883         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69885 2009-01-25  Bruno Haible  <bruno@clisp.org>
69887         Make test-quotearg work on MacOS X and AIX.
69888         * tests/test-quotearg.sh: New file.
69889         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69890         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69891         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69892         include <libintl.h>.
69893         (fake_locale): Remove variable.
69894         (gettext, dgettext, dcgettext): Remove functions.
69895         (main): Instead of setting a fake locale, set a real locale. Call
69896         textdomain and bindtextdomain.
69897         * modules/quotearg-tests (Files): Add the new files.
69898         (Depends-on): Add gettext, setenv, unsetenv.
69899         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69900         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69901         Augment TESTS_ENVIRONMENT.
69903 2009-01-25  Bruno Haible  <bruno@clisp.org>
69905         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69906         fr_FR.ISO8859-1 locale on MacOS X.
69907         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69908         ja_JP.eucJP locale on MacOS X.
69909         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69910         zh_CN.GB18030 locale on MacOS X.
69912 2009-01-25  Bruno Haible  <bruno@clisp.org>
69914         Avoid link errors on MacOS X 10.3.
69915         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69916         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69918 2009-01-25  Bruno Haible  <bruno@clisp.org>
69920         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69921         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69922         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69923         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69924         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69925         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69926         posix_spawnattr_init, posix_spawnattr_setsigmask,
69927         posix_spawnattr_setflags, posix_spawnattr_destroy.
69929         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69930         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69931         * modules/execute (Files): Remove m4/posix_spawn.m4.
69932         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69933         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69934         posix_spawnattr_init, posix_spawnattr_setsigmask,
69935         posix_spawnattr_setflags, posix_spawnattr_destroy.
69937 2009-01-25  Bruno Haible  <bruno@clisp.org>
69939         * lib/glthread/threadlib.c: Include <stdlib.h>.
69941 2009-01-25  Bruno Haible  <bruno@clisp.org>
69943         * lib/glthread/threadlib.c (dummy): New declaration.
69945 2009-01-25  Bruno Haible  <bruno@clisp.org>
69947         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69948         multibyte characters also for the GB18030 encoding. Don't crash when
69949         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69951 2009-01-25  Bruno Haible  <bruno@clisp.org>
69953         Avoid redefining 'struct random_data' on OSF/1 5.1.
69954         * lib/stdlib.in.h: Include <random.h> if it exists.
69955         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69956         HAVE_RANDOM_H. Include <random.h> when testing whether
69957         'struct random_data' exists.
69958         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69960 2009-01-25  Bruno Haible  <bruno@clisp.org>
69962         Don't install charset.alias on MacOS X >= 10.3.
69963         * lib/localcharset.c (DARWIN7): New macro.
69964         (get_charset_aliases): Hardcode the result for Darwin7.
69965         * modules/localcharset (install-exec-local): Don't install
69966         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69968 2009-01-25  Bruno Haible  <bruno@clisp.org>
69970         Don't install charset.alias on mingw and Cygwin.
69971         * modules/localcharset (install-exec-local): Don't install
69972         charset.alias on mingw and Cygwin, if the file does not yet exist.
69973         The result for these platforms is hardcoded in localcharset.c.
69975 2009-01-25  Bruno Haible  <bruno@clisp.org>
69977         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69979         before requiring AC_USE_SYSTEM_EXTENSIONS.
69981 2009-01-25  Jim Meyering  <meyering@redhat.com>
69983         c-strtod: avoid warnings
69984         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69985         "assignment discards qualifiers from pointer target type" warnings.
69987 2009-01-24  Bruno Haible  <bruno@clisp.org>
69989         Add support for non-UTF-8 locales on MacOS X.
69990         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69991         canonical encodings. For Darwin 7 and newer, don't map traditional
69992         encodings to UTF-8.
69993         Reported by Vincent Lefevre <vincent@vinc17.org>
69994         at <http://savannah.gnu.org/bugs/?25235>.
69996 2009-01-24  Bruno Haible  <bruno@clisp.org>
69998         * doc/gnulib.texi (Obsolete modules): New section.
69999         Reported by Mike Frysinger <vapier@gentoo.org>.
70001 2009-01-24  Bruno Haible  <bruno@clisp.org>
70003         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
70004         (%.dvi): New rule.
70006 2009-01-24  Bruno Haible  <bruno@clisp.org>
70008         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
70009         Reported by Eric Blake.
70011 2009-01-24  Bruno Haible  <bruno@clisp.org>
70013         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
70014         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
70015         Reported by Gary V. Vaughan <gary@gnu.org>.
70017 2009-01-24  Bruno Haible  <bruno@clisp.org>
70019         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
70021 2009-01-23  Bruno Haible  <bruno@clisp.org>
70023         Make c-strtod, c-strtold usable in libraries.
70024         * lib/c-strtod.c: Include string.h instead of xalloc.h.
70025         (C_STRTOD): Call strdup instead of xstrdup.
70026         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
70027         * modules/c-strtold (Depends-on): Likewise.
70028         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
70029         * NEWS: Mention the change.
70030         Reported by Michael Gold <mgold@ncf.ca>.
70032 2009-01-23  Jim Meyering  <meyering@redhat.com>
70034         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
70035         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
70036         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
70038 2009-01-23  Simon Josefsson  <simon@josefsson.org>
70040         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
70041         GNU CoreUtils.
70042         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
70043         * modules/version-etc (Description): Update.
70045 2009-01-22  Bruno Haible  <bruno@clisp.org>
70047         Cache the C locale object.
70048         * lib/c-strtod.c (c_locale_cache): New variable.
70049         (c_locale): New function.
70050         (C_STRTOD): Use it, and don't call freelocale.
70051         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
70052         Suggested by Paolo Bonzini.
70054 2009-01-21  Bruno Haible  <bruno@clisp.org>
70056         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
70057         conditions other than overflow.
70059 2009-01-21  Bruno Haible  <bruno@clisp.org>
70061         * lib/c-strtod.c: Include errno.h.
70062         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
70063         value from STRTOD_L and STRTOD.
70065 2009-01-21  Bruno Haible  <bruno@clisp.org>
70066         and Jim Meyering  <meyering@redhat.com>
70068         nanosleep: skip configure test (fail it) for apple universal builds
70069         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
70070         universal builds, assume that nanosleep does not work.
70071         * modules/nanosleep (Depends-on): Add multiarch.
70073         mktime: skip configure test (fail it) for apple universal builds
70074         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
70075         universal builds, assume that mktime does not work.
70076         * modules/mktime (Depends-on): Add multiarch.
70078 2009-01-21  Eric Blake  <ebb9@byu.net>
70080         multiarch: avoid expand-before-require warning
70081         * modules/multiarch (configure.ac): Require, rather than expand,
70082         gl_MULTIARCH.
70083         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
70084         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
70085         enforce that all clients require it.  Partial reversion of
70086         2008-12-29 patch.
70088         error: avoid expand-before-require warning
70089         * modules/errno (configure.ac): Require, rather than expand,
70090         gl_HEADER_ERRNO_H.
70091         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
70092         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
70093         enforce that all clients require it.
70095         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
70096         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
70097         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
70098         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
70100 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
70102         Revert:
70103         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70105         regex: do not depend on obsolete modules.
70106         * modules/regex: Remove memcmp and memmove.
70108 2009-01-20  Bruno Haible  <bruno@clisp.org>
70110         Make the 'link' module link on Windows NT 4.
70111         * lib/link.c (_WIN32_WINNT): Don't define.
70112         (CreateHardLinkFuncType): New type.
70113         (CreateHardLinkFunc, initialized): New variables.
70114         (initialize): New function.
70115         (link): Invoke CreateHardLink indirectly through the function pointer.
70117 2009-01-20  Bruno Haible  <bruno@clisp.org>
70119         Fix compilation failure on mingw.
70120         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
70122 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
70124         * doc/c-strtod.texi: Mention a couple of restrictions.
70126 2009-01-20  Jim Meyering  <meyering@redhat.com>
70128         gettimeofday: move more declarations out of functions
70129         * lib/gettimeofday.c: Move extern declarations of tzset and
70130         gmtime out of containing functions.  Prompted by Bruno Haible.
70132 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70134         regex: do not depend on obsolete modules.
70135         * modules/regex: Remove memcmp and memmove.
70137 2009-01-19  Bruno Haible  <bruno@clisp.org>
70139         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70140         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
70141         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70142         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
70143         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
70145 2009-01-19  Bruno Haible  <bruno@clisp.org>
70147         * tests/test-link.c: Include <errno.h>.
70148         (main): Exit with code 77 when a hard link cannot be created due to
70149         the file system.
70150         * tests/test-link.sh: Skip test when a hard link cannot be created due
70151         to the file system.
70152         Suggested by Eric Blake.
70154 2009-01-19  Martin Lambers  <marlam@marlam.de>
70156         * modules/link-tests: New file.
70157         * tests/test-link.sh: New file.
70158         * tests/test-link.c: New file.
70160 2009-01-19  Eric Blake  <ebb9@byu.net>
70162         doc: mention another function added in cygwin 1.7.0
70163         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
70164         Another new function in cygwin 1.7.
70166 2009-01-19  Bruno Haible  <bruno@clisp.org>
70168         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70169         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
70170         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
70171         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70172         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
70173         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
70174         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
70175         * m4/md4.m4 (gl_MD4): Likewise.
70176         * m4/md5.m4 (gl_MD5): Likewise.
70177         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
70178         * m4/sha1.m4 (gl_SHA1): Likewise.
70179         * m4/sha256.m4 (gl_SHA256): Likewise.
70180         * m4/sha512.m4 (gl_SHA512): Likewise.
70182 2009-01-19  Bruno Haible  <bruno@clisp.org>
70184         * modules/uniname/uniname-tests (Depends-on): Add progname.
70185         * tests/uniname/test-uninames.c: Include progname.h.
70186         (main): Call set_program_name.
70188         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
70189         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
70190         (main): Call set_program_name.
70192         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
70193         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
70194         (main): Call set_program_name.
70196         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
70197         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
70198         (main): Call set_program_name.
70200         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
70201         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
70202         (main): Call set_program_name.
70204         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
70205         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
70206         (main): Call set_program_name.
70208         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
70209         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
70210         (main): Call set_program_name.
70212         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
70213         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
70214         (main): Call set_program_name.
70216         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
70217         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
70218         (main): Call set_program_name.
70220 2009-01-19  Eric Blake  <ebb9@byu.net>
70222         test-unistd: test previous patch
70223         * tests/test-unistd.c: Test *_FILENO macros.
70225         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
70226         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70227         Guarantee a definition.
70228         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
70229         * modules/unistd-safer (Depends-on): Add dependency on unistd.
70230         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
70231         * lib/dup-safer.c (STDERR_FILENO): Likewise.
70232         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70233         Likewise.
70234         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
70235         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
70236         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70237         Likewise.
70238         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
70239         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
70240         (STDERR_FILENO): Likewise.
70241         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
70242         (STDERR_FILENO): Likewise.
70243         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
70244         (STDERR_FILENO): Likewise.
70245         Reported by Elbert Pol.
70247 2009-01-19  Eric Blake  <ebb9@byu.net>
70249         doc: mention more functions added in cygwin 1.7.0
70250         * doc/posix-functions/abort.texi (abort): Update wording related
70251         to cygwin.
70252         * doc/posix-functions/daylight.texi (daylight): Likewise.
70253         * doc/posix-functions/optarg.texi (optarg): Likewise.
70254         * doc/posix-functions/optarg.texi (opterr): Likewise.
70255         * doc/posix-functions/optarg.texi (optind): Likewise.
70256         * doc/posix-functions/optarg.texi (optopt): Likewise.
70257         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
70258         worked in 1.5.x, and was withdrawn in 1.7.
70259         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
70260         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
70261         cygwin versions.
70262         * doc/posix-functions/perror.texi (perror): Likewise.
70263         * doc/posix-functions/printf.texi (printf): Likewise.
70264         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
70265         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
70266         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
70267         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
70268         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
70269         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
70270         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
70271         Likewise.
70272         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
70273         Likewise.
70274         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
70275         this function.
70276         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
70277         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
70278         Likewise.
70279         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
70280         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
70281         * doc/posix-functions/confstr.texi (confstr): Likewise.
70282         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
70283         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
70284         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
70285         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
70286         * doc/posix-functions/fputws.texi (fputws): Likewise.
70287         * doc/posix-functions/fwide.texi (fwide): Likewise.
70288         * doc/posix-functions/getwc.texi (getwc): Likewise.
70289         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
70290         * doc/posix-functions/putwc.texi (putwc): Likewise.
70291         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
70292         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
70293         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
70294         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
70295         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
70296         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
70297         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
70298         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
70299         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
70300         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
70301         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
70303 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70305         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
70306         * lib/ioctl.c: Include <sys/ioctl.h>.
70308 2009-01-19  Simon Josefsson  <simon@josefsson.org>
70310         * modules/getdate-tests (Depends-on): Add progname.
70311         * tests/test-getdate.c: Use progname module, to avoid link errors
70312         on non-glibc systems.
70314 2009-01-18  Simon Josefsson  <simon@josefsson.org>
70316         * modules/filenamecat-tests (Depends-on): Add progname.
70317         * modules/fstrcmp-tests (Depends-on): Likewise.
70319         * tests/test-filenamecat.c: Use progname module, to avoid link
70320         errors on non-glibc systems.
70321         * tests/test-fstrcmp.c: Likewise.
70323 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70325         gettimeofday: avoid warning: nested extern declaration of 'localtime'
70326         * lib/gettimeofday.c: Move extern declaration out of function.
70328 2009-01-18  Bruno Haible  <bruno@clisp.org>
70330         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
70331         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
70332         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
70334 2009-01-18  Bruno Haible  <bruno@clisp.org>
70336         * lib/strftime.c (MEMPCPY): Remove unused macro.
70337         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
70339 2009-01-18  Martin Lambers  <marlam@marlam.de>
70341         New module 'link'.
70342         * lib/unistd.in.h (link): New declaration.
70343         * lib/link.c: New file.
70344         * m4/link.m4: New file.
70345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
70346         HAVE_LINK.
70347         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
70348         * modules/link: New file.
70349         * doc/posix-functions/link.texi: Mention the new module.
70351 2009-01-18  Bruno Haible  <bruno@clisp.org>
70353         * tests/test-avltree_list.c (main): Call set_program_name.
70354         * tests/test-avltree_oset.c (main): Likewise.
70355         * tests/test-obstack-printf.c: Include progname.h.
70356         (main): Call set_program_name.
70357         * tests/test-quotearg.c: Include progname.h.
70358         (main): Call set_program_name.
70359         * tests/test-xmemdup0.c: Include progname.h.
70360         (main): Call set_program_name.
70362 2009-01-18  Bruno Haible  <bruno@clisp.org>
70364         New module 'alphasort'.
70365         * lib/dirent.in.h (alphasort): New declaration.
70366         * lib/alphasort.c: New file, from glibc with modifications.
70367         * m4/alphasort.m4: New file.
70368         * modules/alphasort: New file.
70369         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
70370         HAVE_ALPHASORT.
70371         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
70372         HAVE_ALPHASORT.
70373         * doc/posix-functions/alphasort.texi: Mention the new module and the
70374         portability problems.
70376 2009-01-18  Bruno Haible  <bruno@clisp.org>
70378         New module 'scandir'.
70379         * lib/dirent.in.h (scandir): New declaration.
70380         * lib/scandir.c: New file, from glibc with modifications.
70381         * m4/scandir.m4: New file.
70382         * modules/scandir: New file.
70383         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
70384         HAVE_SCANDIR.
70385         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
70386         HAVE_SCANDIR.
70387         * doc/posix-functions/scandir.texi: Mention the new module and the
70388         portability problems.
70390 2009-01-17  Bruno Haible  <bruno@clisp.org>
70392         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
70393         Update documentation.
70394         (func_remove_suffix): Escape all dots in the suffix. Update
70395         documentation.
70396         (func_filter_filelist): Update documentation.
70397         Reported by Ralf Wildenhues.
70399 2009-01-17  Bruno Haible  <bruno@clisp.org>
70401         * modules/dprintf-posix-tests: New file.
70402         * tests/test-dprintf-posix.sh: New file.
70403         * tests/test-dprintf-posix.c: New file.
70405         New modules 'dprintf', 'dprintf-posix'.
70406         * lib/stdio.in.h (dprintf): New declaration.
70407         * lib/dprintf.c: New file.
70408         * m4/dprintf.m4: New file.
70409         * m4/dprintf-posix.m4: New file.
70410         * modules/dprintf: New file.
70411         * modules/dprintf-posix: New file.
70412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
70413         HAVE_DPRINTF, REPLACE_DPRINTF.
70414         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
70415         HAVE_DPRINTF, REPLACE_DPRINTF.
70416         * doc/posix-functions/dprintf.texi: Mention the new modules.
70418 2009-01-17  Bruno Haible  <bruno@clisp.org>
70420         * modules/vdprintf-posix-tests: New file.
70421         * tests/test-vdprintf-posix.sh: New file.
70422         * tests/test-vdprintf-posix.c: New file.
70424         New modules 'vdprintf', 'vdprintf-posix'.
70425         * lib/stdio.in.h (vdprintf): New declaration.
70426         * lib/vdprintf.c: New file.
70427         * m4/vdprintf.m4: New file.
70428         * m4/vdprintf-posix.m4: New file.
70429         * modules/vdprintf: New file.
70430         * modules/vdprintf-posix: New file.
70431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
70432         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70433         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
70434         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70435         * doc/posix-functions/vdprintf.texi: Mention the new modules.
70437 2009-01-17  Bruno Haible  <bruno@clisp.org>
70439         Fix replacement of fopen on mingw.
70440         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
70441         mingw.
70443 2009-01-17  Bruno Haible  <bruno@clisp.org>
70445         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
70446         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
70448 2009-01-17  Bruno Haible  <bruno@clisp.org>
70450         Avoid test-fflush2.sh failure on mingw.
70451         * tests/test-fflush2.c: Include binary-io.h.
70452         (main): Put standard input into binary mode.
70453         * modules/fflush-tests (Depends-on): Add binary-io.
70455 2009-01-17  Bruno Haible  <bruno@clisp.org>
70457         * lib/wchar.in.h: In another particular situation, include only the
70458         system's <wchar.h> file.
70459         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
70460         Reported by Albert Chin-A-Young <china@thewrittenword.com>
70461         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
70463 2009-01-17  Bruno Haible  <bruno@clisp.org>
70465         Support for stripping executables in --enable-relocatable.
70466         * build-aux/install-reloc: Expect one more argument, or an environment
70467         variable RELOC_STRIP_PROG. If set, strip the destination program and
70468         its wrapper.
70469         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
70470         RELOC_STRIP_PROG.
70471         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70472         to set RELOCATABLE_STRIP.
70473         * NEWS: Mention the new Makefile requirement.
70475 2009-01-17  Bruno Haible  <bruno@clisp.org>
70477         * build-aux/install-reloc: Remove debugging information left over by
70478         C compiler on MacOS X.
70480 2009-01-17  Bruno Haible  <bruno@clisp.org>
70482         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70483         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70484         _NSGetExecutablePath.
70486 2009-01-16  Jim Meyering  <meyering@redhat.com>
70488         strerror: avoid warnings about discarding "const"
70489         * lib/strerror.c (rpl_strerror): Instead of returning a const
70490         string from each and every "case", use a variable, and add a single
70491         cast after the switch.
70493 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70495         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70497 2009-01-16  Bruno Haible  <bruno@clisp.org>
70499         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70500         array initializer syntax that also works in C++ mode.
70501         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70503 2009-01-16  Jim Meyering  <meyering@redhat.com>
70505         poll: suppress a warning
70506         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70507         to ignore "...unsigned expression < 0 is always false" warnings.
70509 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70511         poll: remove declarations of unused variables
70512         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70513         sockbuf and optlen.
70515 2009-01-15  Bruno Haible  <bruno@clisp.org>
70517         Make fflush-after-ungetc POSIX compliant on BSD systems.
70518         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70519         (clear_ungetc_buffer): Implement also for other systems.
70520         (rpl_fflush): On glibc systems, invoke
70521         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70522         clear_ungetc_buffer after fetching the stream's position, not before.
70524 2009-01-15  Bruno Haible  <bruno@clisp.org>
70526         Make fflush-after-ungetc POSIX compliant on glibc systems.
70527         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70528         after ungetc.
70529         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70530         (rpl_fflush): On glibc systems, simply call the system's fflush
70531         function after clearing the ungetc buffer.
70532         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70533         Instead, lseek only to the end of file, then use the system's fseeko
70534         for the rest. On glibc systems, reset the EOF indicator bit.
70536 2009-01-15  Jim Meyering  <meyering@redhat.com>
70538         openmp.m4: revert quote-adding change, for portability to older autoconf
70539         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70540         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70541         Simon Josefsson noticed the problem when using autoconf-2.61.
70543 2009-01-15  Bruno Haible  <bruno@clisp.org>
70545         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70546         * tests/test-fflush2.c (ASSERT): Always fail.
70547         (main): Add two tests for fflush() after ungetc(), taking into account
70548         the Austin Group's clarification.
70549         Suggested by Eric Blake.
70551 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70553         mktime.m4: remove K&R-style function prototypes
70554         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70555         for the Sun C++ compiler.
70557 2009-01-14  Bruno Haible  <bruno@clisp.org>
70559         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70560         while including <wchar.h>.
70561         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70562         the system's <wchar.h> file.
70563         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70565 2009-01-14  Bruno Haible  <bruno@clisp.org>
70567         * m4/csharp.m4: Don't mention gettext on the serial number line.
70568         * m4/csharpexec.m4: Likewise.
70569         * m4/eaccess.m4: Likewise.
70570         * m4/javaexec.m4: Likewise.
70571         * m4/sig_atomic_t.m4: Likewise.
70572         * m4/tmpdir.m4: Likewise.
70573         * m4/intldir.m4: Bump gettext version.
70574         * m4/lib-ld.m4: Likewise.
70576 2009-01-14  Bruno Haible  <bruno@clisp.org>
70578         * lib/progname.c (set_program_name): Add more comments.
70579         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70581 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70583         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70584         were sys/stat.h does not define it.
70586 2009-01-14  Jim Meyering  <meyering@redhat.com>
70588         many *.m4 files: improve m4 quoting
70589         99% of this change was performed by running the following commands:
70590         git ls-files | grep '\.m4$' | xargs perl -pi \
70591           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70592           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70593           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70594           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70595         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70596         The remainder were to add Copyright dates, increment serial numbers,
70597         undo some changes in comments, exclude m4/intl.m4, and add quotes
70598         around the "1" in ",1" where the unusual spacing prohibited the
70599         above regexps from doing the job.  For more details, see
70600         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70601         * m4/acl.m4: Modified.
70602         * m4/afs.m4: Likewise.
70603         * m4/alloca.m4: Likewise.
70604         * m4/argp.m4: Likewise.
70605         * m4/argz.m4: Likewise.
70606         * m4/atexit.m4: Likewise.
70607         * m4/bison-i18n.m4: Likewise.
70608         * m4/bison.m4: Likewise.
70609         * m4/byteswap.m4: Likewise.
70610         * m4/c-stack.m4: Likewise.
70611         * m4/c-strtod.m4: Likewise.
70612         * m4/calloc.m4: Likewise.
70613         * m4/canonicalize-lgpl.m4: Likewise.
70614         * m4/chown.m4: Likewise.
70615         * m4/clock_time.m4: Likewise.
70616         * m4/codeset.m4: Likewise.
70617         * m4/copy-file.m4: Likewise.
70618         * m4/csharp.m4: Likewise.
70619         * m4/csharpcomp.m4: Likewise.
70620         * m4/csharpexec.m4: Likewise.
70621         * m4/d-ino.m4: Likewise.
70622         * m4/d-type.m4: Likewise.
70623         * m4/dirfd.m4: Likewise.
70624         * m4/double-slash-root.m4: Likewise.
70625         * m4/eaccess.m4: Likewise.
70626         * m4/eealloc.m4: Likewise.
70627         * m4/environ.m4: Likewise.
70628         * m4/errno_h.m4: Likewise.
70629         * m4/euidaccess.m4: Likewise.
70630         * m4/execute.m4: Likewise.
70631         * m4/fatal-signal.m4: Likewise.
70632         * m4/fchdir.m4: Likewise.
70633         * m4/fcntl_h.m4: Likewise.
70634         * m4/fileblocks.m4: Likewise.
70635         * m4/filenamecat.m4: Likewise.
70636         * m4/findprog.m4: Likewise.
70637         * m4/flexmember.m4: Likewise.
70638         * m4/fnmatch.m4: Likewise.
70639         * m4/fopen.m4: Likewise.
70640         * m4/fpending.m4: Likewise.
70641         * m4/fprintf-posix.m4: Likewise.
70642         * m4/free.m4: Likewise.
70643         * m4/frexp.m4: Likewise.
70644         * m4/frexpl.m4: Likewise.
70645         * m4/fsusage.m4: Likewise.
70646         * m4/ftruncate.m4: Likewise.
70647         * m4/gc-camellia.m4: Likewise.
70648         * m4/gc-random.m4: Likewise.
70649         * m4/gc.m4: Likewise.
70650         * m4/getaddrinfo.m4: Likewise.
70651         * m4/getcwd-abort-bug.m4: Likewise.
70652         * m4/getcwd-path-max.m4: Likewise.
70653         * m4/getdate.m4: Likewise.
70654         * m4/getdomainname.m4: Likewise.
70655         * m4/getgroups.m4: Likewise.
70656         * m4/gethostname.m4: Likewise.
70657         * m4/gethrxtime.m4: Likewise.
70658         * m4/getline.m4: Likewise.
70659         * m4/getloadavg.m4: Likewise.
70660         * m4/getndelim2.m4: Likewise.
70661         * m4/getpass.m4: Likewise.
70662         * m4/gettext.m4: Likewise.
70663         * m4/gettime.m4: Likewise.
70664         * m4/gettimeofday.m4: Likewise.
70665         * m4/gnulib-common.m4: Likewise.
70666         * m4/group-member.m4: Likewise.
70667         * m4/host-os.m4: Likewise.
70668         * m4/iconv.m4: Likewise.
70669         * m4/iconv_open.m4: Likewise.
70670         * m4/inet_ntop.m4: Likewise.
70671         * m4/inet_pton.m4: Likewise.
70672         * m4/inline.m4: Likewise.
70673         * m4/intldir.m4: Likewise.
70674         * m4/intlmacosx.m4: Likewise.
70675         * m4/intmax.m4: Likewise.
70676         * m4/intmax_t.m4: Likewise.
70677         * m4/inttypes.m4: Likewise.
70678         * m4/inttypes_h.m4: Likewise.
70679         * m4/inttypes-pri.m4: Likewise.
70680         * m4/isapipe.m4: Likewise.
70681         * m4/isnand.m4: Likewise.
70682         * m4/isnanf.m4: Likewise.
70683         * m4/isnanl.m4: Likewise.
70684         * m4/javacomp.m4: Likewise.
70685         * m4/javaexec.m4: Likewise.
70686         * m4/jm-winsz1.m4: Likewise.
70687         * m4/jm-winsz2.m4: Likewise.
70688         * m4/lchown.m4: Likewise.
70689         * m4/lcmessage.m4: Likewise.
70690         * m4/ldexpl.m4: Likewise.
70691         * m4/lib-ld.m4: Likewise.
70692         * m4/lib-link.m4: Likewise.
70693         * m4/libsigsegv.m4: Likewise.
70694         * m4/link-follow.m4: Likewise.
70695         * m4/localcharset.m4: Likewise.
70696         * m4/locale-fr.m4: Likewise.
70697         * m4/locale-ja.m4: Likewise.
70698         * m4/locale-tr.m4: Likewise.
70699         * m4/locale-zh.m4: Likewise.
70700         * m4/lock.m4: Likewise.
70701         * m4/longlong.m4: Likewise.
70702         * m4/ls-mntd-fs.m4: Likewise.
70703         * m4/lstat.m4: Likewise.
70704         * m4/malloc.m4: Likewise.
70705         * m4/mathl.m4: Likewise.
70706         * m4/mbrtowc.m4: Likewise.
70707         * m4/mbstate_t.m4: Likewise.
70708         * m4/mbswidth.m4: Likewise.
70709         * m4/memchr.m4: Likewise.
70710         * m4/memcmp.m4: Likewise.
70711         * m4/memcpy.m4: Likewise.
70712         * m4/memmem.m4: Likewise.
70713         * m4/memmove.m4: Likewise.
70714         * m4/mempcpy.m4: Likewise.
70715         * m4/memrchr.m4: Likewise.
70716         * m4/memset.m4: Likewise.
70717         * m4/minmax.m4: Likewise.
70718         * m4/mkdir-slash.m4: Likewise.
70719         * m4/mkdtemp.m4: Likewise.
70720         * m4/mktime.m4: Likewise.
70721         * m4/mmap-anon.m4: Likewise.
70722         * m4/mountlist.m4: Likewise.
70723         * m4/nanosleep.m4: Likewise.
70724         * m4/nls.m4: Likewise.
70725         * m4/nocrash.m4: Likewise.
70726         * m4/open.m4: Likewise.
70727         * m4/openat.m4: Likewise.
70728         * m4/openmp.m4: Likewise.
70729         * m4/pathmax.m4: Likewise.
70730         * m4/perl.m4: Likewise.
70731         * m4/physmem.m4: Likewise.
70732         * m4/pipe.m4: Likewise.
70733         * m4/po.m4: Likewise.
70734         * m4/poll.m4: Likewise.
70735         * m4/posixtm.m4: Likewise.
70736         * m4/posixver.m4: Likewise.
70737         * m4/printf-frexp.m4: Likewise.
70738         * m4/printf-frexpl.m4: Likewise.
70739         * m4/printf-posix.m4: Likewise.
70740         * m4/printf-posix-rpl.m4: Likewise.
70741         * m4/printf.m4: Likewise.
70742         * m4/progtest.m4: Likewise.
70743         * m4/putenv.m4: Likewise.
70744         * m4/readline.m4: Likewise.
70745         * m4/readlink.m4: Likewise.
70746         * m4/readutmp.m4: Likewise.
70747         * m4/realloc.m4: Likewise.
70748         * m4/regex.m4: Likewise.
70749         * m4/relocatable.m4: Likewise.
70750         * m4/relocatable-lib.m4: Likewise.
70751         * m4/rename-dest-slash.m4: Likewise.
70752         * m4/rename.m4: Likewise.
70753         * m4/rmdir-errno.m4: Likewise.
70754         * m4/rmdir.m4: Likewise.
70755         * m4/roundf.m4: Likewise.
70756         * m4/roundl.m4: Likewise.
70757         * m4/rpmatch.m4: Likewise.
70758         * m4/save-cwd.m4: Likewise.
70759         * m4/selinux-selinux-h.m4: Likewise.
70760         * m4/setenv.m4: Likewise.
70761         * m4/settime.m4: Likewise.
70762         * m4/sig2str.m4: Likewise.
70763         * m4/sig_atomic_t.m4: Likewise.
70764         * m4/signalblocking.m4: Likewise.
70765         * m4/signbit.m4: Likewise.
70766         * m4/sigpipe.m4: Likewise.
70767         * m4/sockets.m4: Likewise.
70768         * m4/sockpfaf.m4: Likewise.
70769         * m4/st_dm_mode.m4: Likewise.
70770         * m4/stat-time.m4: Likewise.
70771         * m4/stdbool.m4: Likewise.
70772         * m4/stdint.m4: Likewise.
70773         * m4/stdint_h.m4: Likewise.
70774         * m4/stpcpy.m4: Likewise.
70775         * m4/stpncpy.m4: Likewise.
70776         * m4/strcase.m4: Likewise.
70777         * m4/strchrnul.m4: Likewise.
70778         * m4/strcspn.m4: Likewise.
70779         * m4/strdup.m4: Likewise.
70780         * m4/strftime.m4: Likewise.
70781         * m4/strndup.m4: Likewise.
70782         * m4/strnlen.m4: Likewise.
70783         * m4/strpbrk.m4: Likewise.
70784         * m4/strptime.m4: Likewise.
70785         * m4/strsep.m4: Likewise.
70786         * m4/strtod.m4: Likewise.
70787         * m4/strtoimax.m4: Likewise.
70788         * m4/strtok_r.m4: Likewise.
70789         * m4/strtol.m4: Likewise.
70790         * m4/strtoll.m4: Likewise.
70791         * m4/strtoul.m4: Likewise.
70792         * m4/strtoull.m4: Likewise.
70793         * m4/strtoumax.m4: Likewise.
70794         * m4/strverscmp.m4: Likewise.
70795         * m4/threadlib.m4: Likewise.
70796         * m4/timegm.m4: Likewise.
70797         * m4/tm_gmtoff.m4: Likewise.
70798         * m4/tmpdir.m4: Likewise.
70799         * m4/tmpfile.m4: Likewise.
70800         * m4/tzset.m4: Likewise.
70801         * m4/uintmax_t.m4: Likewise.
70802         * m4/unlinkdir.m4: Likewise.
70803         * m4/unlocked-io.m4: Likewise.
70804         * m4/uptime.m4: Likewise.
70805         * m4/userspec.m4: Likewise.
70806         * m4/utimbuf.m4: Likewise.
70807         * m4/utime.m4: Likewise.
70808         * m4/utimes-null.m4: Likewise.
70809         * m4/utimes.m4: Likewise.
70810         * m4/vararrays.m4: Likewise.
70811         * m4/vasnprintf.m4: Likewise.
70812         * m4/vfprintf-posix.m4: Likewise.
70813         * m4/vprintf-posix.m4: Likewise.
70814         * m4/wait-process.m4: Likewise.
70815         * m4/wchar_t.m4: Likewise.
70816         * m4/wint_t.m4: Likewise.
70817         * m4/write-any-file.m4: Likewise.
70818         * m4/yield.m4: Likewise.
70820 2009-01-13  Bruno Haible  <bruno@clisp.org>
70822         Avoid test-copy-file.sh failures when ACL support insufficient.
70823         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70824         TESTS_ENVIRONMENT.
70825         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70826         Reported by Jim Meyering.
70828 2009-01-13  Bruno Haible  <bruno@clisp.org>
70830         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70831         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70832         * modules/unistdio/u8-printf-parse (Files): Likewise.
70833         * modules/unistdio/u32-printf-parse (Files): Likewise.
70834         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70836 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70838         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70839         and m4/inttypes_h.m4 too.
70841 2009-01-12  Eric Blake  <ebb9@byu.net>
70843         tests: IRIX 6.2 cc can't compile -0.0 into .data
70844         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70845         rather than at compile-time.
70846         * tests/test-floorl.c (minus_zero): Likewise.
70847         * tests/test-frexpl.c (minus_zero): Likewise.
70848         * tests/test-isnan.c (minus_zerol): Likewise.
70849         * tests/test-isnanl.h (minus_zero): Likewise.
70850         * tests/test-ldexpl.c (minus_zero): Likewise.
70851         * tests/test-roundl.c (minus_zero): Likewise.
70852         * tests/test-signbit.c (minus_zerol): Likewise.
70853         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70854         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70855         * tests/test-truncl.c (minus_zero): Likewise.
70856         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70857         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70858         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70860 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70862         regex: fix glibc bug 9697
70863         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70864         handling.
70866 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70868         regex: fix glibc bug 697
70869         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70870         being NULL also if there are no backreferences.
70872 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70874         regex: merge glibc changes
70875         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70876         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70877         re_string_skip_chars, re_string_reconstruct): Likewise.
70878         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70880 2009-01-07  Jim Meyering  <meyering@redhat.com>
70882         poll: filter through cppi
70883         * lib/poll.c: Indent cpp directives to reflect nesting.
70885 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70887         poll: don't return uninitialized
70888         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70890 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70892         avoid compile failure on AIX 6.1
70893         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70894         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70896 2009-01-04  Jim Meyering  <meyering@redhat.com>
70898         remove duplicate inclusion of <stdio.h>
70899         * tests/test-fprintf-posix.c: Likewise.
70900         * tests/test-printf-posix.c: Likewise.
70901         * tests/test-snprintf-posix.c: Likewise.
70902         * tests/test-sprintf-posix.c: Likewise.
70903         * tests/test-vasprintf-posix.c: Likewise.
70904         * tests/test-vfprintf-posix.c: Likewise.
70905         * tests/test-vprintf-posix.c: Likewise.
70906         * tests/test-vsnprintf-posix.c: Likewise.
70907         * tests/test-vsprintf-posix.c: Likewise.
70909 2009-01-03  Jim Meyering  <meyering@redhat.com>
70911         gnulib-tool: fix sed-based filtering
70912         * gnulib-tool (func_filter_filelist): Remove extra backslash
70913         in sed_fff_filter definition.
70915 2009-01-02  Jim Meyering  <meyering@redhat.com>
70917         strftime: avoid compilation failure on Solaris 2.6
70918         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70919         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70920         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70921         be available.  Reported by Tom G. Christensen.  Details in
70922         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70924 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70925             Bruno Haible  <bruno@clisp.org>
70927         Speed up gnulib-tool by doing more string processing through shell
70928         built-ins.
70929         * gnulib-tool (fast_func_append): New variable.
70930         (func_remove_prefix, func_remove_suffix): New functions.
70931         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70932         (func_filter_filelist): New function.
70933         (func_get_dependencies): Use func_remove_suffix instead of sed.
70934         (func_get_automake_snippet): Use func_filter_filelist instead of a
70935         subshell and sed invocation.
70937 2009-01-01  Bruno Haible  <bruno@clisp.org>
70939         Fix a security bug.
70940         * gnulib-tool (func_import, import, update): Don't allow the characters
70941         '"', '$', '`', '\' in macro arguments that become part of commands that
70942         are evaluated.
70944 2009-01-01  Bruno Haible  <bruno@clisp.org>
70946         * gnulib-tool (func_reset_sigpipe): Add more comments.
70948 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70950         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70951         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70952         already know the answer.
70954 2009-01-01  Jim Meyering  <meyering@redhat.com>
70956         * lib/version-etc.c (version_etc_va): Update copyright year.
70958 2008-12-30  Bruno Haible  <bruno@clisp.org>
70960         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70961         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70962         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70964 2008-12-29  Eric Blake  <ebb9@byu.net>
70966         multiarch: avoid autoconf AC_REQUIRE bug
70967         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70968         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70969         2.63 and older.
70970         Reported by Bruno Haible, and analyzed in
70971         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70973 2008-12-29  Bruno Haible  <bruno@clisp.org>
70975         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70976         files in subdirectories correctly.
70977         Reported by Ralf Wildenhues.
70979 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70981         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70982         rather than 'join FILE -', for Solaris join.
70984 2008-12-29  Bruno Haible  <bruno@clisp.org>
70986         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70987         quoting.
70988         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70989         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70990         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70991         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70992         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70993         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70994         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70995         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70996         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70997         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70998         * m4/nls.m4 (AM_NLS): Likewise.
70999         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
71000         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
71001         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
71002         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
71003         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
71004         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
71005         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
71006         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
71007         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
71008         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71009         * m4/xsize.m4 (gl_XSIZE): Likewise.
71010         Suggested by Jim Meyering.
71012 2008-11-17  Bruce Korb  <bkorb@gnu.org>
71014         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
71015         * lib/parse-duration.c: use a switch instead of cascading if's.
71017 2008-12-29  Eric Blake  <ebb9@byu.net>
71019         wchar.h: supply WEOF on Irix 5.3
71020         * lib/wchar.in.h (wint_t): Also supply WEOF.
71021         * lib/wctype.in.h (wint_t): Likewise.
71022         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
71023         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
71024         Reported by Tom G. Christensen.
71026 2008-12-26  Bruno Haible  <bruno@clisp.org>
71028         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
71029         i486, i586, i686.
71031 2008-12-26  Bruno Haible  <bruno@clisp.org>
71033         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
71035 2008-12-26  Bruno Haible  <bruno@clisp.org>
71037         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
71038         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
71039         not __STDC_CONSTANT_MACROS.
71040         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
71042 2008-12-25  Bruno Haible  <bruno@clisp.org>
71044         Add support for universal builds to vasnprintf.
71045         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
71046         universal builds, guess no.
71047         * modules/vasnprintf-posix (Depends-on): Add multiarch.
71048         * modules/vasprintf-posix (Depends-on): Likewise.
71049         * modules/fprintf-posix (Depends-on): Likewise.
71050         * modules/vfprintf-posix (Depends-on): Likewise.
71051         * modules/snprintf-posix (Depends-on): Likewise.
71052         * modules/vsnprintf-posix (Depends-on): Likewise.
71053         * modules/sprintf-posix (Depends-on): Likewise.
71054         * modules/vsprintf-posix (Depends-on): Likewise.
71055         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
71056         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
71057         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
71058         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
71059         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
71060         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
71061         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
71063         Add support for universal builds to <inttypes.h>.
71064         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
71065         _SCNu64_PREFIX): In Apple
71066         universal builds, define directly, using _LP64.
71067         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
71068         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
71069         * modules/inttypes (Depends-on): Add multiarch.
71070         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71072         Add support for universal builds to <stdint.h>.
71073         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
71074         universal builds, define directly, using _LP64.
71075         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
71076         Apple universal builds, don't test for the size and suffix of ptrdiff_t
71077         and size_t.
71078         * modules/stdint (Depends-on): Add multiarch.
71079         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71081         New module 'multiarch'.
71082         * modules/multiarch: New file.
71083         * m4/multiarch.m4: New file.
71085 2008-12-25  Bruno Haible  <bruno@clisp.org>
71087         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
71089 2008-12-25  Bruno Haible  <bruno@clisp.org>
71091         * modules/btowc (License): Relicense under LGPLv2+.
71092         * modules/mbsinit (License): Likewise.
71093         * modules/mbrtowc (License): Likewise.
71094         * modules/wcrtomb (License): Likewise.
71095         * modules/streq (License): Likewise.
71096         Reported by David Lutterkort <lutter@redhat.com>.
71098 2008-12-23  Bruno Haible  <bruno@clisp.org>
71100         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
71102 2008-12-23  Bruno Haible  <bruno@clisp.org>
71104         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
71105         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
71106         GETADDRINFO_LIB, not in LIBS.
71107         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
71108         * modules/canon-host (Link): Likewise.
71109         * NEWS: Mention the change.
71110         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
71111         GETADDRINFO_LIB.
71113 2008-12-22  Bruno Haible  <bruno@clisp.org>
71115         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
71116         * doc/posix-functions/iswalpha_l.texi: Likewise.
71117         * doc/posix-functions/iswblank_l.texi: Likewise.
71118         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71119         * doc/posix-functions/iswctype_l.texi: Likewise.
71120         * doc/posix-functions/iswdigit_l.texi: Likewise.
71121         * doc/posix-functions/iswgraph_l.texi: Likewise.
71122         * doc/posix-functions/iswlower_l.texi: Likewise.
71123         * doc/posix-functions/iswprint_l.texi: Likewise.
71124         * doc/posix-functions/iswpunct_l.texi: Likewise.
71125         * doc/posix-functions/iswspace_l.texi: Likewise.
71126         * doc/posix-functions/iswupper_l.texi: Likewise.
71127         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71128         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
71129         * doc/posix-functions/open_wmemstream.texi: Likewise.
71130         * doc/posix-functions/swscanf.texi: Likewise.
71131         * doc/posix-functions/towctrans_l.texi: Likewise.
71132         * doc/posix-functions/towlower.texi: Likewise.
71133         * doc/posix-functions/towlower_l.texi: Likewise.
71134         * doc/posix-functions/towupper.texi: Likewise.
71135         * doc/posix-functions/towupper_l.texi: Likewise.
71136         * doc/posix-functions/vfwprintf.texi: Likewise.
71137         * doc/posix-functions/vfwscanf.texi: Likewise.
71138         * doc/posix-functions/vswscanf.texi: Likewise.
71139         * doc/posix-functions/vwprintf.texi: Likewise.
71140         * doc/posix-functions/vwscanf.texi: Likewise.
71141         * doc/posix-functions/wcpcpy.texi: Likewise.
71142         * doc/posix-functions/wcpncpy.texi: Likewise.
71143         * doc/posix-functions/wcscasecmp.texi: Likewise.
71144         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
71145         * doc/posix-functions/wcscoll_l.texi: Likewise.
71146         * doc/posix-functions/wcsdup.texi: Likewise.
71147         * doc/posix-functions/wcsncasecmp.texi: Likewise.
71148         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
71149         * doc/posix-functions/wcsnlen.texi: Likewise.
71150         * doc/posix-functions/wcsnrtombs.texi: Likewise.
71151         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71152         * doc/posix-functions/wctrans_l.texi: Likewise.
71153         * doc/posix-functions/wctype_l.texi: Likewise.
71154         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
71155         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
71156         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
71157         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
71158         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
71159         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
71160         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
71161         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
71162         * doc/glibc-functions/wcschrnul.texi: Likewise.
71163         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71164         * doc/glibc-functions/wcstod_l.texi: Likewise.
71165         * doc/glibc-functions/wcstof_l.texi: Likewise.
71166         * doc/glibc-functions/wcstol_l.texi: Likewise.
71167         * doc/glibc-functions/wcstold_l.texi: Likewise.
71168         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71169         * doc/glibc-functions/wcstoq.texi: Likewise.
71170         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71171         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71172         * doc/glibc-functions/wcstouq.texi: Likewise.
71173         * doc/glibc-functions/wmempcpy.texi: Likewise.
71175 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
71176             Eric Blake  <ebb9@byu.net>
71177             Paolo Bonzini  <bonzini@gnu.org>
71178             Bruno Haible  <bruno@clisp.org>
71180         Make c-stack work on Haiku.
71181         * lib/c-stack.c (SA_ONSTACK): Define fallback.
71182         (c_stack_action): Use SA_ONSTACK flag.
71184 2008-12-22  Bruno Haible  <bruno@clisp.org>
71186         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
71188 2008-12-22  Bruno Haible  <bruno@clisp.org>
71190         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
71191         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
71192         being overridden.
71193         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
71194         New macros.
71195         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
71196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
71197         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
71198         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
71200 2008-12-22  Bruno Haible  <bruno@clisp.org>
71202         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
71203         from test code.
71205 2008-12-22  Eric Blake  <ebb9@byu.net>
71207         Avoid gcc warnings on cygwin.
71208         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
71209         Avoid unused variable.
71210         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
71211         Likewise.
71213 2008-12-22  Bruno Haible  <bruno@clisp.org>
71215         Remove HAVE_MBRTOWC conditionals.
71216         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
71217         (mbscasecmp): Assume mbrtowc function.
71218         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
71219         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
71220         * lib/mbschr.c: Include mbuiter.h unconditionally.
71221         (mbschr): Assume mbrtowc function.
71222         * lib/mbscspn.c: Include mbuiter.h unconditionally.
71223         (mbscspn): Assume mbrtowc function.
71224         * lib/mbslen.c: Include mbuiter.h unconditionally.
71225         (mbslen): Assume mbrtowc function.
71226         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
71227         (mbsncasecmp): Assume mbrtowc function.
71228         * lib/mbsnlen.c: Include mbiter.h unconditionally.
71229         (mbsnlen): Assume mbrtowc function.
71230         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
71231         (mbspbrk): Assume mbrtowc function.
71232         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
71233         (mbspcasecmp): Assume mbrtowc function.
71234         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
71235         (mbsrchr): Assume mbrtowc function.
71236         * lib/mbssep.c: Include mbuiter.h unconditionally.
71237         (mbssep): Assume mbrtowc function.
71238         * lib/mbsspn.c: Include mbuiter.h unconditionally.
71239         (mbsspn): Assume mbrtowc function.
71240         * lib/mbsstr.c: Include mbuiter.h unconditionally.
71241         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
71242         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
71243         (mbstok_r): Assume mbrtowc function.
71244         * lib/propername.c: Include mbuiter.h unconditionally.
71245         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
71246         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
71247         (trim2): Assume mbrtowc function.
71248         * lib/mbswidth.c (mbsinit): Remove fallback definition.
71249         (mbsnwidth): Assume mbrtowc function.
71250         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
71251         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
71252         fallback definitions.
71253         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
71255 2008-12-22  Bruno Haible  <bruno@clisp.org>
71257         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
71259 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
71261         * modules/regex: Request emulations for the mb*/wc* functions we need.
71262         * m4/regex.m4: Don't look for those functions here.
71263         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
71265 2008-12-22  Bruno Haible  <bruno@clisp.org>
71267         * modules/fnmatch (Depends-on): Remove duplicated dependency.
71269 2008-12-21  Bruno Haible  <bruno@clisp.org>
71271         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
71272         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
71273         (Include): Remove conditionalization.
71274         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
71275         (Include): Remove conditionalization.
71276         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
71277         (Include): Remove conditionalization.
71278         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
71279         * m4/mbfile.m4 (gl_MBFILE): Likewise.
71280         * NEWS: Mention the change.
71281         Reported by Alan Hourihane <alanh@fairlite.co.uk>
71282         via Sergey Poznyakoff <gray@gnu.org.ua>.
71284 2008-12-21  Bruno Haible  <bruno@clisp.org>
71286         * MODULES.html.sh (Extended multibyte and wide character utilities
71287         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
71288         wcrtomb, wcsrtombs.
71289         (Support for systems lacking POSIX:2008): Add accept, bind, close,
71290         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
71291         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
71292         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
71294 2008-12-21  Bruno Haible  <bruno@clisp.org>
71296         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
71298 2008-12-21  Bruno Haible  <bruno@clisp.org>
71300         * modules/wcsnrtombs-tests: New file.
71301         * tests/test-wcsnrtombs1.sh: New file.
71302         * tests/test-wcsnrtombs2.sh: New file.
71303         * tests/test-wcsnrtombs3.sh: New file.
71304         * tests/test-wcsnrtombs4.sh: New file.
71305         * tests/test-wcsnrtombs.c: New file.
71307         New module 'wcsnrtombs'.
71308         * lib/wchar.in.h (wcsnrtombs): New declaration.
71309         * lib/wcsnrtombs.c: New file.
71310         * lib/wcsrtombs-state.c: New file.
71311         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
71312         (internal_state): Remove variable.
71313         * m4/wcsnrtombs.m4: New file.
71314         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
71315         compilation units.
71316         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
71317         HAVE_WCSNRTOMBS.
71318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
71319         HAVE_WCSNRTOMBS.
71320         * modules/wcsnrtombs: New file.
71321         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
71322         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
71324 2008-12-21  Bruno Haible  <bruno@clisp.org>
71326         * modules/wcsrtombs-tests: New file.
71327         * tests/test-wcsrtombs1.sh: New file.
71328         * tests/test-wcsrtombs2.sh: New file.
71329         * tests/test-wcsrtombs3.sh: New file.
71330         * tests/test-wcsrtombs4.sh: New file.
71331         * tests/test-wcsrtombs.c: New file.
71333         New module 'wcsrtombs'.
71334         * lib/wchar.in.h (wcsrtombs): New declaration.
71335         * lib/wcsrtombs.c: New file.
71336         * m4/wcsrtombs.m4: New file.
71337         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
71338         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71339         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
71340         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71341         * modules/wcsrtombs: New file.
71342         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
71343         bugs.
71345 2008-12-21  Bruno Haible  <bruno@clisp.org>
71347         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
71348         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
71349         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
71350         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
71351         if not correct.
71352         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
71353         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
71354         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71355         m4/locale-zh.m4, m4/codeset.m4.
71356         * doc/posix-functions/wcrtomb.texi: Document the bug.
71358 2008-12-21  Bruno Haible  <bruno@clisp.org>
71360         Work around a btowc() bug on IRIX 6.5.
71361         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
71362         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
71363         REPLACE_WTOBC if not.
71364         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
71365         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
71366         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
71368 2008-12-21  Bruno Haible  <bruno@clisp.org>
71370         * modules/wcrtomb-tests: New file.
71371         * tests/test-wcrtomb.sh: New file.
71372         * tests/test-wcrtomb.c: New file.
71374         New module 'wcrtomb'.
71375         * lib/wchar.in.h (wcrtomb): New declaration.
71376         * lib/wcrtomb.c: New file.
71377         * m4/wcrtomb.m4: New file.
71378         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
71379         HAVE_WCRTOMB.
71380         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
71381         HAVE_WCRTOMB.
71382         * modules/wcrtomb: New file.
71383         * doc/posix-functions/wcrtomb.texi: Mention the new module.
71385 2008-12-21  Bruno Haible  <bruno@clisp.org>
71387         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
71388         * modules/mbsrtowcs (Files): Likewise.
71389         * modules/wctob (Files): Likewise.
71390         * modules/c-strcase-tests (Files): Likewise.
71391         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
71392         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
71393         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
71394         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
71395         * modules/vasnprintf-posix-tests (Files): Likewise.
71397 2008-12-21  William Pursell  <bill.pursell@gmail.com>
71399         gitlog-to-changelog: pass all command-line arguments to git-log
71400         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
71401         it is sometimes convenient to filter the commits in various ways.
71402         gitlog-to-changelog only allows --since to specify a start date,
71403         but git-log itself supports many other filtering mechanisms.
71404         At the moment, I want to filter by branch name.  Rather than
71405         adding a --branch option to gitlog-to-changelog, it seems more
71406         flexible to simply pass all options directly to git-log and let
71407         git do the work.  Notice that this effectively makes --since a
71408         redundant option for gitlog-to-changelog, but removing it would
71409         require current usage to change since calls would then require
71410         an additional '--'.
71412 2008-12-21  Bruno Haible  <bruno@clisp.org>
71414         * modules/mbsnrtowcs-tests: New file.
71415         * tests/test-mbsnrtowcs1.sh: New file.
71416         * tests/test-mbsnrtowcs2.sh: New file.
71417         * tests/test-mbsnrtowcs3.sh: New file.
71418         * tests/test-mbsnrtowcs4.sh: New file.
71419         * tests/test-mbsnrtowcs.c: New file.
71421         New module 'mbsnrtowcs'.
71422         * lib/wchar.in.h (mbsnrtowcs): New declaration.
71423         * lib/mbsnrtowcs.c: New file.
71424         * lib/mbsrtowcs-state.c: New file.
71425         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
71426         (internal_state): Remove variable.
71427         * m4/mbsnrtowcs.m4: New file.
71428         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
71429         compilation units.
71430         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
71431         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71432         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
71433         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71434         * modules/mbsnrtowcs: New file.
71435         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
71436         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
71437         portability problem.
71439 2008-12-21  Bruno Haible  <bruno@clisp.org>
71441         Work around mbsrtowcs bug.
71442         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
71443         (gl_FUNC_MBSRTOWCS): Invoke it.
71444         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71445         m4/locale-zh.m4.
71446         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
71448 2008-12-21  Bruno Haible  <bruno@clisp.org>
71450         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
71452 2008-12-21  Bruno Haible  <bruno@clisp.org>
71454         Update doc for AIX.
71455         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
71456         16-bit wchar_t type.
71457         * doc/posix-functions/btowc.texi: Likewise.
71458         * doc/posix-functions/fgetwc.texi: Likewise.
71459         * doc/posix-functions/fgetws.texi: Likewise.
71460         * doc/posix-functions/fputwc.texi: Likewise.
71461         * doc/posix-functions/fputws.texi: Likewise.
71462         * doc/posix-functions/fwide.texi: Likewise.
71463         * doc/posix-functions/fwprintf.texi: Likewise.
71464         * doc/posix-functions/fwscanf.texi: Likewise.
71465         * doc/posix-functions/getwchar.texi: Likewise.
71466         * doc/posix-functions/getwc.texi: Likewise.
71467         * doc/posix-functions/iswalnum.texi: Likewise.
71468         * doc/posix-functions/iswalpha.texi: Likewise.
71469         * doc/posix-functions/iswblank.texi: Likewise.
71470         * doc/posix-functions/iswcntrl.texi: Likewise.
71471         * doc/posix-functions/iswctype.texi: Likewise.
71472         * doc/posix-functions/iswdigit.texi: Likewise.
71473         * doc/posix-functions/iswgraph.texi: Likewise.
71474         * doc/posix-functions/iswlower.texi: Likewise.
71475         * doc/posix-functions/iswprint.texi: Likewise.
71476         * doc/posix-functions/iswpunct.texi: Likewise.
71477         * doc/posix-functions/iswspace.texi: Likewise.
71478         * doc/posix-functions/iswupper.texi: Likewise.
71479         * doc/posix-functions/iswxdigit.texi: Likewise.
71480         * doc/posix-functions/mbrtowc.texi: Likewise.
71481         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71482         * doc/posix-functions/mbstowcs.texi: Likewise.
71483         * doc/posix-functions/mbtowc.texi: Likewise.
71484         * doc/posix-functions/putwchar.texi: Likewise.
71485         * doc/posix-functions/putwc.texi: Likewise.
71486         * doc/posix-functions/swprintf.texi: Likewise.
71487         * doc/posix-functions/tolower.texi: Likewise.
71488         * doc/posix-functions/toupper.texi: Likewise.
71489         * doc/posix-functions/towctrans.texi: Likewise.
71490         * doc/posix-functions/ungetwc.texi: Likewise.
71491         * doc/posix-functions/vswprintf.texi: Likewise.
71492         * doc/posix-functions/wcrtomb.texi: Likewise.
71493         * doc/posix-functions/wcscat.texi: Likewise.
71494         * doc/posix-functions/wcschr.texi: Likewise.
71495         * doc/posix-functions/wcscmp.texi: Likewise.
71496         * doc/posix-functions/wcscoll.texi: Likewise.
71497         * doc/posix-functions/wcscpy.texi: Likewise.
71498         * doc/posix-functions/wcscspn.texi: Likewise.
71499         * doc/posix-functions/wcsftime.texi: Likewise.
71500         * doc/posix-functions/wcslen.texi: Likewise.
71501         * doc/posix-functions/wcsncat.texi: Likewise.
71502         * doc/posix-functions/wcsncmp.texi: Likewise.
71503         * doc/posix-functions/wcsncpy.texi: Likewise.
71504         * doc/posix-functions/wcspbrk.texi: Likewise.
71505         * doc/posix-functions/wcsrchr.texi: Likewise.
71506         * doc/posix-functions/wcsrtombs.texi: Likewise.
71507         * doc/posix-functions/wcsspn.texi: Likewise.
71508         * doc/posix-functions/wcsstr.texi: Likewise.
71509         * doc/posix-functions/wcstod.texi: Likewise.
71510         * doc/posix-functions/wcstof.texi: Likewise.
71511         * doc/posix-functions/wcstoimax.texi: Likewise.
71512         * doc/posix-functions/wcstok.texi: Likewise.
71513         * doc/posix-functions/wcstold.texi: Likewise.
71514         * doc/posix-functions/wcstoll.texi: Likewise.
71515         * doc/posix-functions/wcstol.texi: Likewise.
71516         * doc/posix-functions/wcstombs.texi: Likewise.
71517         * doc/posix-functions/wcstoull.texi: Likewise.
71518         * doc/posix-functions/wcstoul.texi: Likewise.
71519         * doc/posix-functions/wcstoumax.texi: Likewise.
71520         * doc/posix-functions/wcswidth.texi: Likewise.
71521         * doc/posix-functions/wcsxfrm.texi: Likewise.
71522         * doc/posix-functions/wctob.texi: Likewise.
71523         * doc/posix-functions/wctomb.texi: Likewise.
71524         * doc/posix-functions/wctrans.texi: Likewise.
71525         * doc/posix-functions/wctype.texi: Likewise.
71526         * doc/posix-functions/wcwidth.texi: Likewise.
71527         * doc/posix-functions/wmemchr.texi: Likewise.
71528         * doc/posix-functions/wmemcmp.texi: Likewise.
71529         * doc/posix-functions/wmemcpy.texi: Likewise.
71530         * doc/posix-functions/wmemmove.texi: Likewise.
71531         * doc/posix-functions/wmemset.texi: Likewise.
71532         * doc/posix-functions/wprintf.texi: Likewise.
71533         * doc/posix-functions/wscanf.texi: Likewise.
71535 2008-12-21  Bruno Haible  <bruno@clisp.org>
71537         Update doc for HP-UX 11.11.
71538         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71539         in HP-UX version 11.00, not in all versions of HP-UX 11.
71540         * doc/posix-functions/fwide.texi: Likewise.
71541         * doc/posix-functions/fwprintf.texi: Likewise.
71542         * doc/posix-functions/fwscanf.texi: Likewise.
71543         * doc/posix-functions/inet_ntop.texi: Likewise.
71544         * doc/posix-functions/inet_pton.texi: Likewise.
71545         * doc/posix-functions/mbrlen.texi: Likewise.
71546         * doc/posix-functions/mbrtowc.texi: Likewise.
71547         * doc/posix-functions/mbsinit.texi: Likewise.
71548         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71549         * doc/posix-functions/swprintf.texi: Likewise.
71550         * doc/posix-functions/swscanf.texi: Likewise.
71551         * doc/posix-functions/towctrans.texi: Likewise.
71552         * doc/posix-functions/vfwprintf.texi: Likewise.
71553         * doc/posix-functions/vswprintf.texi: Likewise.
71554         * doc/posix-functions/vwprintf.texi: Likewise.
71555         * doc/posix-functions/wcrtomb.texi: Likewise.
71556         * doc/posix-functions/wcsrtombs.texi: Likewise.
71557         * doc/posix-functions/wcsstr.texi: Likewise.
71558         * doc/posix-functions/wctob.texi: Likewise.
71559         * doc/posix-functions/wctrans.texi: Likewise.
71560         * doc/posix-functions/wmemchr.texi: Likewise.
71561         * doc/posix-functions/wmemcmp.texi: Likewise.
71562         * doc/posix-functions/wmemcpy.texi: Likewise.
71563         * doc/posix-functions/wmemmove.texi: Likewise.
71564         * doc/posix-functions/wmemset.texi: Likewise.
71565         * doc/posix-functions/wprintf.texi: Likewise.
71566         * doc/posix-functions/wscanf.texi: Likewise.
71568 2008-12-21  Bruno Haible  <bruno@clisp.org>
71570         Work around a portability problem.
71571         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71572         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71574 2008-12-20  Bruno Haible  <bruno@clisp.org>
71576         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71577         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71578         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71579         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71580         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71582         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71583         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71584         set.
71585         (GNULIB_defined_mbstate_t): New macro.
71586         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71587         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71588         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71589         reuses the system's mbrtowc function but works around the bugs.
71590         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71591         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71592         macros.
71593         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71594         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71595         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71596         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71597         REPLACE_MBSINIT if mbsinit needs to be overridden.
71598         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71599         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71600         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71601         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71602         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71603         m4/locale-zh.m4.
71604         (Depends): Add mbsinit.
71605         * modules/mbsinit (Depends): Add mbrtowc.
71606         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71608 2008-12-20  Bruno Haible  <bruno@clisp.org>
71610         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71611         so that there are no conversion errors on AIX.
71612         * tests/test-mbsrtowcs.c (main): LIkewise.
71614 2008-12-20  Bruno Haible  <bruno@clisp.org>
71616         Work around wctob bug on Solaris <= 9.
71617         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71618         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71619         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71620         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71621         * modules/wctob (Files): Add m4/locale-fr.m4.
71622         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71624 2008-12-20  Bruno Haible  <bruno@clisp.org>
71626         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71627         /dev/null.
71628         * tests/test-select-in.sh: Likewise.
71629         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71631 2008-12-20  Bruno Haible  <bruno@clisp.org>
71633         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71634         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71635         Cygwin 1.5.x.
71637 2008-12-20  Bruno Haible  <bruno@clisp.org>
71639         Ensure mbstate_t is defined on HP-UX 11.11.
71640         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71641         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71642         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71643         AC_USE_SYSTEM_EXTENSIONS.
71644         * modules/fnmatch (Depends-on): Add extensions.
71645         * modules/mbrlen (Depends-on): Likewise.
71646         * modules/mbrtowc (Depends-on): Likewise.
71647         * modules/mbsinit (Depends-on): Likewise.
71648         * modules/mbsrtowcs (Depends-on): Likewise.
71649         * modules/mbswidth (Depends-on): Likewise.
71650         * modules/quotearg (Depends-on): Likewise.
71651         * modules/strftime (Depends-on): Likewise.
71653 2008-12-20  Bruno Haible  <bruno@clisp.org>
71655         Ensure wctob is declared on IRIX 6.5.
71656         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71657         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71658         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71659         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71660         of HAVE_WCTOB.
71661         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71662         HAVE_WCTOB.
71663         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71665 2008-12-19  Bruno Haible  <bruno@clisp.org>
71667         * modules/mbsrtowcs-tests: New file.
71668         * tests/test-mbsrtowcs1.sh: New file.
71669         * tests/test-mbsrtowcs2.sh: New file.
71670         * tests/test-mbsrtowcs3.sh: New file.
71671         * tests/test-mbsrtowcs4.sh: New file.
71672         * tests/test-mbsrtowcs.c: New file.
71674         New module 'mbsrtowcs'.
71675         * lib/wchar.in.h (mbsrtowcs): New declaration.
71676         * lib/mbsrtowcs.c: New file.
71677         * m4/mbsrtowcs.m4: New file.
71678         * modules/mbsrtowcs: New file.
71679         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71680         HAVE_MBSRTOWCS.
71681         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71682         HAVE_MBSRTOWCS.
71683         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71685 2008-12-19  Bruno Haible  <bruno@clisp.org>
71687         New module 'mbrlen'.
71688         * lib/wchar.in.h (mbrlen): New declaration.
71689         * lib/mbrlen.c: New file.
71690         * m4/mbrlen.m4: New file.
71691         * modules/mbrlen: New file.
71692         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71693         HAVE_MBRLEN.
71694         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71695         HAVE_MBRLEN.
71696         * doc/posix-functions/mbrlen.texi: Document the new module.
71698 2008-12-19  Bruno Haible  <bruno@clisp.org>
71700         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71701         * modules/mbrtowc (Depends-on): Add verify.
71702         Suggested by Paul Eggert.
71704 2008-12-18  Bruno Haible  <bruno@clisp.org>
71706         * modules/mbsinit-tests: New file.
71707         * tests/test-mbsinit.sh: New file.
71708         * tests/test-mbsinit.c: New file.
71710 2008-12-18  Bruno Haible  <bruno@clisp.org>
71712         * modules/mbrtowc-tests: New file.
71713         * tests/test-mbrtowc1.sh: New file.
71714         * tests/test-mbrtowc2.sh: New file.
71715         * tests/test-mbrtowc3.sh: New file.
71716         * tests/test-mbrtowc4.sh: New file.
71717         * tests/test-mbrtowc.c: New file.
71719         New module 'mbrtowc'.
71720         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71721         mbsinit and mbrtowc.
71722         (mbrtowc): New declaration.
71723         * lib/mbrtowc.c: New file.
71724         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71725         * modules/mbrtowc: New file.
71726         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71727         HAVE_MBRTOWC.
71728         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71729         HAVE_MBRTOWC.
71730         * doc/posix-functions/mbrtowc.texi: Document the new module.
71732 2008-12-18  Bruno Haible  <bruno@clisp.org>
71734         New module 'wctob'.
71735         * lib/wchar.in.h (wctob): New declaration.
71736         * lib/wctob.c: New file.
71737         * m4/wctob.m4: New file.
71738         * modules/wctob: New file.
71739         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71740         HAVE_WCTOB.
71741         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71742         * doc/posix-functions/wctob.texi: Document the new module.
71744 2008-12-18  Bruno Haible  <bruno@clisp.org>
71746         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71747         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71749 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71751         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71752         G. Christensen" <tgc@jupiterrise.com>.
71754         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71755         G. Christensen" <tgc@jupiterrise.com>.
71757         * lib/flock.c: Need to include string.h.  Reported by "Tom
71758         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71759         <ebb9@byu.net>.
71761 2008-12-18  Bruno Haible  <bruno@clisp.org>
71763         * m4/locale-ja.m4: New file, from GNU gettext.
71765 2008-12-17  Bruno Haible  <bruno@clisp.org>
71767         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71768         Suggested by Eric Blake.
71770 2008-12-17  Bruno Haible  <bruno@clisp.org>
71772         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71774 2008-12-17  Bruno Haible  <bruno@clisp.org>
71776         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71777         * modules/mbsinit (Depends-on): Add verify.
71778         Suggested by Paul Eggert.
71780 2008-12-17  Bruno Haible  <bruno@clisp.org>
71782         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71783         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71784         gl_FUNC_MBRTOWC.
71785         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71786         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71787         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71788         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71789         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71790         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71791         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71792         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71793         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71794         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71795         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71796         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71797         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71798         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71799         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71800         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71801         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71802         * modules/trim (configure.ac): Likewise.
71804 2008-12-17  Bruno Haible  <bruno@clisp.org>
71806         * modules/btowc-tests: New file.
71807         * tests/test-btowc1.sh: New file.
71808         * tests/test-btowc2.sh: New file.
71809         * tests/test-btowc.c: New file.
71811         New module 'btowc'.
71812         * lib/wchar.in.h (btowc): New declaration.
71813         * lib/btowc.c: New file.
71814         * m4/btowc.m4: New file.
71815         * modules/btowc: New file.
71816         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71817         HAVE_BTOWC.
71818         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71819         * doc/posix-functions/btowc.texi: Document the new module.
71821 2008-12-17  Bruno Haible  <bruno@clisp.org>
71823         New module 'mbsinit'.
71824         * lib/wchar.in.h (mbsinit): New declaration.
71825         * lib/mbsinit.c: New file.
71826         * m4/mbsinit.m4: New file.
71827         * modules/mbsinit: New file.
71828         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71829         HAVE_MBSINIT.
71830         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71831         HAVE_MBSINIT.
71832         * doc/posix-functions/mbsinit.texi: Document the new module.
71834 2008-12-16  Bruno Haible  <bruno@clisp.org>
71836         * lib/unistd.in.h: Add comment.
71837         * tests/test-environ.c: Don't include <stdlib.h>.
71839 2008-12-16  Bruno Haible  <bruno@clisp.org>
71841         * lib/parse-duration.h (parse_duration): Document return value
71842         convention.
71843         * lib/parse-duration.c: Include specification header first. Add
71844         comments.
71845         (_): Remove macro.
71846         (parse_year_month_day, parse_hour_minute_second): Move side effects
71847         outside of strchr call.
71848         (parse_non_iso8601): Move side effects outside of isspace call.
71849         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71850         call.
71852 2008-12-16  Bruno Haible  <bruno@clisp.org>
71854         * tests/test-parse-duration.sh: Produce no output when the test
71855         succeeds.
71857 2008-12-16  Bruno Haible  <bruno@clisp.org>
71859         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71860         expressions.
71862 2008-12-15  Bruno Haible  <bruno@clisp.org>
71864         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71865         * doc/glibc-functions/flistxattr.texi: Likewise.
71866         * doc/glibc-functions/fopencookie.texi: Likewise.
71867         * doc/glibc-functions/fremovexattr.texi: Likewise.
71868         * doc/glibc-functions/fsetxattr.texi: Likewise.
71869         * doc/glibc-functions/getxattr.texi: Likewise.
71870         * doc/glibc-functions/lgetxattr.texi: Likewise.
71871         * doc/glibc-functions/listxattr.texi: Likewise.
71872         * doc/glibc-functions/llistxattr.texi: Likewise.
71873         * doc/glibc-functions/lremovexattr.texi: Likewise.
71874         * doc/glibc-functions/lsetxattr.texi: Likewise.
71875         * doc/glibc-functions/removexattr.texi: Likewise.
71876         * doc/glibc-functions/setxattr.texi: Likewise.
71877         * doc/posix-functions/open_memstream.texi: Likewise.
71879 2008-12-15  Eric Blake  <ebb9@byu.net>
71881         Update doc for cygwin 1.7.
71882         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71883         functions.
71884         * doc/posix-functions/fchmodat.texi: Likewise.
71885         * doc/posix-functions/fchownat.texi: Likewise.
71886         * doc/posix-functions/fdopendir.texi: Likewise.
71887         * doc/posix-functions/fmemopen.texi: Likewise.
71888         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71889         * doc/posix-functions/fstatat.texi: Likewise.
71890         * doc/posix-functions/futimens.texi: Likewise.
71891         * doc/posix-functions/gai_strerror.texi: Likewise.
71892         * doc/posix-functions/getaddrinfo.texi: Likewise.
71893         * doc/posix-functions/getnameinfo.texi: Likewise.
71894         * doc/posix-functions/if_freenameindex.texi: Likewise.
71895         * doc/posix-functions/if_indextoname.texi: Likewise.
71896         * doc/posix-functions/if_nameindex.texi: Likewise.
71897         * doc/posix-functions/if_nametoindex.texi: Likewise.
71898         * doc/posix-functions/insque.texi: Likewise.
71899         * doc/posix-functions/linkat.texi: Likewise.
71900         * doc/posix-functions/llrint.texi: Likewise.
71901         * doc/posix-functions/llrintf.texi: Likewise.
71902         * doc/posix-functions/llrintl.texi: Likewise.
71903         * doc/posix-functions/lockf.texi: Likewise.
71904         * doc/posix-functions/lrintl.texi: Likewise.
71905         * doc/posix-functions/mkdirat.texi: Likewise.
71906         * doc/posix-functions/mkfifoat.texi: Likewise.
71907         * doc/posix-functions/mknodat.texi: Likewise.
71908         * doc/posix-functions/mq_close.texi: Likewise.
71909         * doc/posix-functions/mq_getattr.texi: Likewise.
71910         * doc/posix-functions/mq_notify.texi: Likewise.
71911         * doc/posix-functions/mq_open.texi: Likewise.
71912         * doc/posix-functions/mq_receive.texi: Likewise.
71913         * doc/posix-functions/mq_send.texi: Likewise.
71914         * doc/posix-functions/mq_setattr.texi: Likewise.
71915         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71916         * doc/posix-functions/mq_timedsend.texi: Likewise.
71917         * doc/posix-functions/mq_unlink.texi: Likewise.
71918         * doc/posix-functions/open_memstream.texi: Likewise.
71919         * doc/posix-functions/openat.texi: Likewise.
71920         * doc/posix-functions/posix_fadvise.texi: Likewise.
71921         * doc/posix-functions/posix_fallocate.texi: Likewise.
71922         * doc/posix-functions/posix_madvise.texi: Likewise.
71923         * doc/posix-functions/posix_memalign.texi: Likewise.
71924         * doc/posix-functions/posix_openpt.texi: Likewise.
71925         * doc/posix-functions/readlinkat.texi: Likewise.
71926         * doc/posix-functions/remque.texi: Likewise.
71927         * doc/posix-functions/renameat.texi: Likewise.
71928         * doc/posix-functions/rintl.texi: Likewise.
71929         * doc/posix-functions/sem_unlink.texi: Likewise.
71930         * doc/posix-functions/shm_open.texi: Likewise.
71931         * doc/posix-functions/shm_unlink.texi: Likewise.
71932         * doc/posix-functions/signgam.texi: Likewise.
71933         * doc/posix-functions/sigset.texi: Likewise.
71934         * doc/posix-functions/stpcpy.texi: Likewise.
71935         * doc/posix-functions/stpncpy.texi: Likewise.
71936         * doc/posix-functions/strerror.texi: Likewise.
71937         * doc/posix-functions/strtod.texi: Likewise.
71938         * doc/posix-functions/symlinkat.texi: Likewise.
71939         * doc/posix-functions/unlinkat.texi: Likewise.
71940         * doc/posix-functions/utimensat.texi: Likewise.
71941         * doc/glibc-functions/bindresvport.texi: Likewise.
71942         * doc/glibc-functions/dn_expand.texi: Likewise.
71943         * doc/glibc-functions/exp10.texi: Likewise.
71944         * doc/glibc-functions/exp10f.texi: Likewise.
71945         * doc/glibc-functions/fgetxattr.texi: Likewise.
71946         * doc/glibc-functions/flistxattr.texi: Likewise.
71947         * doc/glibc-functions/fopencookie.texi: Likewise.
71948         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71949         * doc/glibc-functions/fremovexattr.texi: Likewise.
71950         * doc/glibc-functions/fsetxattr.texi: Likewise.
71951         * doc/glibc-functions/getifaddrs.texi: Likewise.
71952         * doc/glibc-functions/getxattr.texi: Likewise.
71953         * doc/glibc-functions/lgetxattr.texi: Likewise.
71954         * doc/glibc-functions/listxattr.texi: Likewise.
71955         * doc/glibc-functions/llistxattr.texi: Likewise.
71956         * doc/glibc-functions/lremovexattr.texi: Likewise.
71957         * doc/glibc-functions/lsetxattr.texi: Likewise.
71958         * doc/glibc-functions/pow10.texi: Likewise.
71959         * doc/glibc-functions/pow10f.texi: Likewise.
71960         * doc/glibc-functions/rcmd_af.texi: Likewise.
71961         * doc/glibc-functions/removexattr.texi: Likewise.
71962         * doc/glibc-functions/res_init.texi: Likewise.
71963         * doc/glibc-functions/res_mkquery.texi: Likewise.
71964         * doc/glibc-functions/res_query.texi: Likewise.
71965         * doc/glibc-functions/res_querydomain.texi: Likewise.
71966         * doc/glibc-functions/res_send.texi: Likewise.
71967         * doc/glibc-functions/rresvport_af.texi: Likewise.
71968         * doc/glibc-functions/setxattr.texi: Likewise.
71969         * doc/glibc-functions/strcasestr.texi: Likewise.
71971 2008-12-15  Bruno Haible  <bruno@clisp.org>
71973         Fix compilation error on OSF/1 4.0.
71974         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71975         <sys/time.h>, simply delegate to the system header.
71976         Reported by Daniel Richard G. <oss@teragram.com>.
71978 2008-12-15  Bruno Haible  <bruno@clisp.org>
71980         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71981         * doc/posix-functions/fchmodat.texi: Likewise.
71982         * doc/posix-functions/fchownat.texi: Likewise.
71983         * doc/posix-functions/fdopendir.texi: Likewise.
71984         * doc/posix-functions/fstatat.texi: Likewise.
71985         * doc/posix-functions/mkdirat.texi: Likewise.
71986         * doc/posix-functions/unlinkat.texi: Likewise.
71988 2008-12-14  Bruno Haible  <bruno@clisp.org>
71990         Update doc for POSIX:2008.
71991         * doc/posix-functions/faccessat.texi: New file.
71992         * doc/posix-functions/fchmodat.texi: New file.
71993         * doc/posix-functions/fchownat.texi: New file.
71994         * doc/posix-functions/fdopendir.texi: New file.
71995         * doc/posix-functions/fstatat.texi: New file.
71996         * doc/posix-functions/futimens.texi: New file.
71997         * doc/posix-functions/linkat.texi: New file.
71998         * doc/posix-functions/mkdirat.texi: New file.
71999         * doc/posix-functions/mkfifoat.texi: New file.
72000         * doc/posix-functions/mknodat.texi: New file.
72001         * doc/posix-functions/open_wmemstream.texi: New file.
72002         * doc/posix-functions/openat.texi: New file.
72003         * doc/posix-functions/psiginfo.texi: New file.
72004         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
72005         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
72006         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
72007         * doc/posix-functions/readlinkat.texi: New file.
72008         * doc/posix-functions/renameat.texi: New file.
72009         * doc/posix-functions/strerror_l.texi: New file.
72010         * doc/posix-functions/symlinkat.texi: New file.
72011         * doc/posix-functions/unlinkat.texi: New file.
72012         * doc/posix-functions/utimensat.texi: New file.
72013         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72015 2008-12-14  Bruno Haible  <bruno@clisp.org>
72017         Update doc for POSIX:2008.
72018         * doc/posix-functions/alphasort.texi: Renamed from
72019         doc/glibc-functions/alphasort.texi.
72020         * doc/posix-functions/dirfd.texi: Renamed from
72021         doc/glibc-functions/dirfd.texi.
72022         * doc/posix-functions/dprintf.texi: Renamed from
72023         doc/glibc-functions/dprintf.texi.
72024         * doc/posix-functions/duplocale.texi: Renamed from
72025         doc/glibc-functions/duplocale.texi.
72026         * doc/posix-functions/fexecve.texi: Renamed from
72027         doc/glibc-functions/fexecve.texi.
72028         * doc/posix-functions/fmemopen.texi: Renamed from
72029         doc/glibc-functions/fmemopen.texi.
72030         * doc/posix-functions/freelocale.texi: Renamed from
72031         doc/glibc-functions/freelocale.texi.
72032         * doc/posix-functions/getdate_err.texi: Renamed from
72033         doc/glibc-functions/getdate_err.texi.
72034         * doc/posix-functions/isalnum_l.texi: Renamed from
72035         doc/glibc-functions/isalnum_l.texi.
72036         * doc/posix-functions/isalpha_l.texi: Renamed from
72037         doc/glibc-functions/isalpha_l.texi.
72038         * doc/posix-functions/isblank_l.texi: Renamed from
72039         doc/glibc-functions/isblank_l.texi.
72040         * doc/posix-functions/iscntrl_l.texi: Renamed from
72041         doc/glibc-functions/iscntrl_l.texi.
72042         * doc/posix-functions/isdigit_l.texi: Renamed from
72043         doc/glibc-functions/isdigit_l.texi.
72044         * doc/posix-functions/isgraph_l.texi: Renamed from
72045         doc/glibc-functions/isgraph_l.texi.
72046         * doc/posix-functions/islower_l.texi: Renamed from
72047         doc/glibc-functions/islower_l.texi.
72048         * doc/posix-functions/isprint_l.texi: Renamed from
72049         doc/glibc-functions/isprint_l.texi.
72050         * doc/posix-functions/ispunct_l.texi: Renamed from
72051         doc/glibc-functions/ispunct_l.texi.
72052         * doc/posix-functions/isspace_l.texi: Renamed from
72053         doc/glibc-functions/isspace_l.texi.
72054         * doc/posix-functions/isupper_l.texi: Renamed from
72055         doc/glibc-functions/isupper_l.texi.
72056         * doc/posix-functions/iswalnum_l.texi: Renamed from
72057         doc/glibc-functions/iswalnum_l.texi.
72058         * doc/posix-functions/iswalpha_l.texi: Renamed from
72059         doc/glibc-functions/iswalpha_l.texi.
72060         * doc/posix-functions/iswblank_l.texi: Renamed from
72061         doc/glibc-functions/iswblank_l.texi.
72062         * doc/posix-functions/iswcntrl_l.texi: Renamed from
72063         doc/glibc-functions/iswcntrl_l.texi.
72064         * doc/posix-functions/iswctype_l.texi: Renamed from
72065         doc/glibc-functions/iswctype_l.texi.
72066         * doc/posix-functions/iswdigit_l.texi: Renamed from
72067         doc/glibc-functions/iswdigit_l.texi.
72068         * doc/posix-functions/iswgraph_l.texi: Renamed from
72069         doc/glibc-functions/iswgraph_l.texi.
72070         * doc/posix-functions/iswlower_l.texi: Renamed from
72071         doc/glibc-functions/iswlower_l.texi.
72072         * doc/posix-functions/iswprint_l.texi: Renamed from
72073         doc/glibc-functions/iswprint_l.texi.
72074         * doc/posix-functions/iswpunct_l.texi: Renamed from
72075         doc/glibc-functions/iswpunct_l.texi.
72076         * doc/posix-functions/iswspace_l.texi: Renamed from
72077         doc/glibc-functions/iswspace_l.texi.
72078         * doc/posix-functions/iswupper_l.texi: Renamed from
72079         doc/glibc-functions/iswupper_l.texi.
72080         * doc/posix-functions/iswxdigit_l.texi: Renamed from
72081         doc/glibc-functions/iswxdigit_l.texi.
72082         * doc/posix-functions/isxdigit_l.texi: Renamed from
72083         doc/glibc-functions/isxdigit_l.texi.
72084         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
72085         doc/glibc-functions/mbsnrtowcs.texi.
72086         * doc/posix-functions/mkdtemp.texi: Renamed from
72087         doc/glibc-functions/mkdtemp.texi.
72088         * doc/posix-functions/newlocale.texi: Renamed from
72089         doc/glibc-functions/newlocale.texi.
72090         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
72091         doc/glibc-functions/nl_langinfo_l.texi.
72092         * doc/posix-functions/open_memstream.texi: Renamed from
72093         doc/glibc-functions/open_memstream.texi.
72094         * doc/posix-functions/opterr.texi: Renamed from
72095         doc/glibc-functions/opterr.texi.
72096         * doc/posix-functions/optind.texi: Renamed from
72097         doc/glibc-functions/optind.texi.
72098         * doc/posix-functions/optopt.texi: Renamed from
72099         doc/glibc-functions/optopt.texi.
72100         * doc/posix-functions/psignal.texi: Renamed from
72101         doc/glibc-functions/psignal.texi.
72102         * doc/posix-functions/scandir.texi: Renamed from
72103         doc/glibc-functions/scandir.texi.
72104         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
72105         doc/glibc-functions/sched_get_priority_min.texi.
72106         * doc/posix-functions/signgam.texi: Renamed from
72107         doc/glibc-functions/signgam.texi.
72108         * doc/posix-functions/stpcpy.texi: Renamed from
72109         doc/glibc-functions/stpcpy.texi.
72110         * doc/posix-functions/stpncpy.texi: Renamed from
72111         doc/glibc-functions/stpncpy.texi.
72112         * doc/posix-functions/strcasecmp_l.texi: Renamed from
72113         doc/glibc-functions/strcasecmp_l.texi.
72114         * doc/posix-functions/strcoll_l.texi: Renamed from
72115         doc/glibc-functions/strcoll_l.texi.
72116         * doc/posix-functions/strfmon_l.texi: Renamed from
72117         doc/glibc-functions/strfmon_l.texi.
72118         * doc/posix-functions/strftime_l.texi: Renamed from
72119         doc/glibc-functions/strftime_l.texi.
72120         * doc/posix-functions/strncasecmp_l.texi: Renamed from
72121         doc/glibc-functions/strncasecmp_l.texi.
72122         * doc/posix-functions/strndup.texi: Renamed from
72123         doc/glibc-functions/strndup.texi.
72124         * doc/posix-functions/strnlen.texi: Renamed from
72125         doc/glibc-functions/strnlen.texi.
72126         * doc/posix-functions/strsignal.texi: Renamed from
72127         doc/glibc-functions/strsignal.texi.
72128         * doc/posix-functions/strxfrm_l.texi: Renamed from
72129         doc/glibc-functions/strxfrm_l.texi.
72130         * doc/posix-functions/timer_gettime.texi: Renamed from
72131         doc/glibc-functions/timer_gettime.texi.
72132         * doc/posix-functions/tolower_l.texi: Renamed from
72133         doc/glibc-functions/tolower_l.texi.
72134         * doc/posix-functions/toupper_l.texi: Renamed from
72135         doc/glibc-functions/toupper_l.texi.
72136         * doc/posix-functions/towctrans_l.texi: Renamed from
72137         doc/glibc-functions/towctrans_l.texi.
72138         * doc/posix-functions/towlower_l.texi: Renamed from
72139         doc/glibc-functions/towlower_l.texi.
72140         * doc/posix-functions/towupper_l.texi: Renamed from
72141         doc/glibc-functions/towupper_l.texi.
72142         * doc/posix-functions/uselocale.texi: Renamed from
72143         doc/glibc-functions/uselocale.texi.
72144         * doc/posix-functions/vdprintf.texi: Renamed from
72145         doc/glibc-functions/vdprintf.texi.
72146         * doc/posix-functions/wcpcpy.texi:
72147         Renamed from doc/glibc-functions/wcpcpy.texi.
72148         * doc/posix-functions/wcpncpy.texi: Renamed from
72149         doc/glibc-functions/wcpncpy.texi.
72150         * doc/posix-functions/wcscasecmp.texi: Renamed from
72151         doc/glibc-functions/wcscasecmp.texi.
72152         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
72153         doc/glibc-functions/wcscasecmp_l.texi.
72154         * doc/posix-functions/wcscoll_l.texi: Renamed from
72155         doc/glibc-functions/wcscoll_l.texi.
72156         * doc/posix-functions/wcsdup.texi: Renamed from
72157         doc/glibc-functions/wcsdup.texi.
72158         * doc/posix-functions/wcsncasecmp.texi: Renamed from
72159         doc/glibc-functions/wcsncasecmp.texi.
72160         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
72161         doc/glibc-functions/wcsncasecmp_l.texi.
72162         * doc/posix-functions/wcsnlen.texi: Renamed from
72163         doc/glibc-functions/wcsnlen.texi.
72164         * doc/posix-functions/wcsnrtombs.texi: Renamed from
72165         doc/glibc-functions/wcsnrtombs.texi.
72166         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
72167         doc/glibc-functions/wcsxfrm_l.texi.
72168         * doc/posix-functions/wctrans_l.texi: Renamed from
72169         doc/glibc-functions/wctrans_l.texi.
72170         * doc/posix-functions/wctype_l.texi: Renamed from
72171         doc/glibc-functions/wctype_l.texi.
72172         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72173         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
72174         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
72175         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
72176         these subsections.
72177         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
72178         Remove sections.
72180 2008-12-14  Bruno Haible  <bruno@clisp.org>
72182         Update doc for POSIX:2008.
72183         * doc/posix-functions/*.texi: Update URL of POSIX specification.
72185 2008-12-14  Bruno Haible  <bruno@clisp.org>
72187         Update doc for POSIX:2008.
72188         * doc/pastposix-functions/bcmp.texi: Renamed from
72189         doc/posix-functions/bcmp.texi.
72190         * doc/pastposix-functions/bcopy.texi: Renamed from
72191         doc/posix-functions/bcopy.texi.
72192         * doc/pastposix-functions/bsd_signal.texi: Renamed from
72193         doc/posix-functions/bsd_signal.texi.
72194         * doc/pastposix-functions/bzero.texi: Renamed from
72195         doc/posix-functions/bzero.texi.
72196         * doc/pastposix-functions/ecvt.texi: Renamed from
72197         doc/posix-functions/ecvt.texi.
72198         * doc/pastposix-functions/fcvt.texi: Renamed from
72199         doc/posix-functions/fcvt.texi.
72200         * doc/pastposix-functions/ftime.texi: Renamed from
72201         doc/posix-functions/ftime.texi.
72202         * doc/pastposix-functions/gcvt.texi: Renamed from
72203         doc/posix-functions/gcvt.texi.
72204         * doc/pastposix-functions/getcontext.texi: Renamed from
72205         doc/posix-functions/getcontext.texi.
72206         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
72207         doc/posix-functions/gethostbyaddr.texi.
72208         * doc/pastposix-functions/gethostbyname.texi: Renamed from
72209         doc/posix-functions/gethostbyname.texi.
72210         * doc/pastposix-functions/getwd.texi: Renamed from
72211         doc/posix-functions/getwd.texi.
72212         * doc/pastposix-functions/h_errno.texi: Renamed from
72213         doc/posix-functions/h_errno.texi.
72214         * doc/pastposix-functions/index.texi: Renamed from
72215         doc/posix-functions/index.texi.
72216         * doc/pastposix-functions/makecontext.texi: Renamed from
72217         doc/posix-functions/makecontext.texi.
72218         * doc/pastposix-functions/mktemp.texi: Renamed from
72219         doc/posix-functions/mktemp.texi.
72220         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
72221         doc/posix-functions/pthread_attr_getstackaddr.texi.
72222         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
72223         doc/posix-functions/pthread_attr_setstackaddr.texi.
72224         * doc/pastposix-functions/rindex.texi: Renamed from
72225         doc/posix-functions/rindex.texi.
72226         * doc/pastposix-functions/scalb.texi: Renamed from
72227         doc/posix-functions/scalb.texi.
72228         * doc/pastposix-functions/setcontext.texi: Renamed from
72229         doc/posix-functions/setcontext.texi.
72230         * doc/pastposix-functions/swapcontext.texi: Renamed from
72231         doc/posix-functions/swapcontext.texi.
72232         * doc/pastposix-functions/ualarm.texi: Renamed from
72233         doc/posix-functions/ualarm.texi.
72234         * doc/pastposix-functions/usleep.texi: Renamed from
72235         doc/posix-functions/usleep.texi.
72236         * doc/pastposix-functions/vfork.texi: Renamed from
72237         doc/posix-functions/vfork.texi.
72238         * doc/pastposix-functions/wcswcs.texi: Renamed from
72239         doc/posix-functions/wcswcs.texi.
72240         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
72241         (Function Substitutes): Update.
72243 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72245         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
72246         m4/strerror.m4.
72248 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72249             Bruno Haible  <bruno@clisp.org>
72251         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
72253 2008-12-13  Bruno Haible  <bruno@clisp.org>
72255         * modules/strtoull (Depends-on): Remove unistd.
72257 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72259         * modules/strtoull (Depends-on): Add stdlib.
72261 2008-12-11  Simon Josefsson  <simon@josefsson.org>
72263         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
72265 2008-12-10  Jim Meyering  <meyering@redhat.com>
72267         gl_ASSERT: don't say assertions are disabled when they're not
72268         * m4/assert.m4 (gl_ASSERT): Do not make configure report
72269         "checking whether to enable assertions... no", when they are in
72270         fact enabled.  This is solely a bug in the output of configure.
72271         In spite of saying "no", NDEBUG was not defined in that case.
72272         Also, as noted by Eric Blake, leave assertions enabled upon
72273         --enable-assert=INVALID.
72275 2008-12-10  Bruno Haible  <bruno@clisp.org>
72277         Change MODULES.html to refer to POSIX:2008 where possible.
72278         * MODULES.html.sh (POSIX2008_URL): New variable.
72279         (posix_headers): Remove sys/timeb, ucontext.
72280         (posix2001_headers): New variable.
72281         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
72282         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
72283         index, makecontext, mktemp, pthread_attr_getstackaddr,
72284         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
72285         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
72286         (posix2001_functions): New variable.
72287         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
72288         otherwise.
72290 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72292         add missing include to parse-duration.c
72293         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
72294         * modules/parse-duration (Depends-on): Add xalloc.
72296         fix sed script reading maint.mk
72297         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
72298         (syntax-check-rules): Use it.
72300 2008-12-09  Bruno Haible  <bruno@clisp.org>
72302         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
72303         MacOS X 10.4/PowerPC.
72304         Reported by Simon Josefsson.
72306 2008-12-08  Jim Meyering  <meyering@redhat.com>
72308         work around mingw's lack of some S_IF definitions
72309         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
72310         Reported by Simon Josefsson.
72312 2008-12-08  Bruno Haible  <bruno@clisp.org>
72314         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
72315         applied to variables. Needed on MacOS X 10.4/PowerPC.
72316         Reported by Simon Josefsson.
72318 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
72319         and Eric Blake  <ebb9@byu.net>
72321         assert: honor --enable-assert
72322         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
72323         order to honor --enable-assert, rather than treating it as a
72324         synonym for --disable-assert.
72326 2008-12-08  Jim Meyering  <meyering@redhat.com>
72328         * lib/posixtm.c: Remove now-useless declaration of mktime.
72330         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
72332 2008-12-07  Bruno Haible  <bruno@clisp.org>
72334         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
72335         test_once): Mark functions as static.
72336         * tests/test-tls.c (test_tls): Likewise.
72338 2008-12-07  Bruno Haible  <bruno@clisp.org>
72340         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
72341         iconv_register_autodetect.
72343 2008-12-07  Jim Meyering  <meyering@redhat.com>
72345         posixtm.c: avoid a warning
72346         * lib/posixtm.c (posixtime): Don't initialize tm0.
72347         It's no longer needed to placate gcc4's -Wuninitialized,
72348         and the attempt to placate would elicit a new warning.
72350         unicodeio.c: mark unused parameters
72351         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72352         (fallback_failure_callback): Likewise.
72354 2008-12-07  Bruno Haible  <bruno@clisp.org>
72356         * gnulib-tool (func_create_testdir): When building the tests
72357         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
72358         Reported by Simon Josefsson.
72360 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72362         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
72364 2008-12-06  Bruno Haible  <bruno@clisp.org>
72366         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
72367         Suggested by Eric Blake.
72369 2008-12-06  Bruno Haible  <bruno@clisp.org>
72371         Fix a c-stack test failure on MacOS X.
72372         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
72373         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
72374         handler for SIGBUS as well.
72375         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
72376         install a signal handler for SIGBUS as well.
72377         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
72379 2008-12-06  Bruno Haible  <bruno@clisp.org>
72381         Advocacy documentation.
72382         * doc/gnulib-intro.texi (Benefits): New section.
72383         * doc/gnulib.texi: Update.
72385 2008-12-06  Bruno Haible  <bruno@clisp.org>
72387         Document the 'manywarnings' module.
72388         * doc/manywarnings.texi: New file.
72389         * doc/gnulib.texi: Include it.
72391 2008-12-05  Eric Blake  <ebb9@byu.net>
72393         tests: silence some gcc warnings
72394         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
72395         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
72396         type mismatches.
72398 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72399             Bruno Haible  <bruno@clisp.org>
72401         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
72403 2008-11-29  Jim Meyering  <meyering@redhat.com>
72405         unicodeio.c: mark unused parameters
72406         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72407         (fallback_failure_callback): Likewise.
72409         fts: fix a thinko
72410         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
72411         (set_stat_type): Return S_IF*-valued "type" directly.
72412         Prompted by James Youngman's spotting a related bug.
72413         Confirmed by further testing through find.
72415         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
72416         * lib/fts.c (D_TYPE): Define.
72417         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
72418         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
72419         (s_ifmt_shift_bits): New function.
72420         (set_stat_type): New function.
72421         (fts_build): When not calling fts_stat, call set_stat_type
72422         to propagate dirent.d_type info to fts_read caller.
72423         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
72424         fts_statp->st_mode type information may be valid.
72426 2008-11-28  Simon Josefsson  <simon@josefsson.org>
72428         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
72429         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
72430         <sds@gnu.org>.
72432 2008-11-20  Bruno Haible  <bruno@clisp.org>
72434         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
72435         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
72436         INCLUDE_NEXT.
72437         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
72438         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
72439         * modules/math (Makefile.am): Substitute
72440         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
72441         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72443 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
72444             Bruno Haible  <bruno@clisp.org>
72446         * lib/stdint.in.h: Define all type macros so that their expansion is
72447         a single typedef'ed token. Fixes a compilation failure in Boost which
72448         does "using ::int8_t;".
72450 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72452         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
72453         gl_MANYWARN_ALL_GCC.
72454         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
72455         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
72456         * modules/manywarnings: New file.
72457         * MODULES.html.sh: Mention manywarnings module.
72459 2008-11-18  Bruno Haible  <bruno@clisp.org>
72461         * doc/gnulib-tool.texi (Unit tests): New section.
72463 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72465         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
72466         paths like 'lib/po/foo.po'.
72468 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72470         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72471         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72473 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72475         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72476         parameter works.
72478 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72480         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72482 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72484         * modules/parse-duration-tests: New file.
72485         * tests/test-parse-duration.sh: New file.
72486         * tests/test-parse-duration.c: New file.
72488         New module 'parse-duration'.
72489         * lib/parse-duration.h: New file.
72490         * lib/parse-duration.c: New file.
72491         * modules/parse-duration: New file.
72493 2008-11-17  Bruno Haible  <bruno@clisp.org>
72495         * tests/test-select-out.sh: Comment out the first pipe test.
72496         Reported by Simon Josefsson.
72498 2008-11-17  Bruno Haible  <bruno@clisp.org>
72500         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72501         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72502         gl_HOSTENT.
72504 2008-11-17  Bruno Haible  <bruno@clisp.org>
72506         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72507         -lnetwork and -lnet. Needed for Haiku and BeOS.
72509 2008-11-16  Bruno Haible  <bruno@clisp.org>
72511         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72513 2008-11-16  Bruno Haible  <bruno@clisp.org>
72515         Avoid test failure on Haiku.
72516         * tests/test-fsync.c: Include <errno.h>.
72517         (main): Don't require that fsync (0) fails.
72519 2008-11-15  Bruno Haible  <bruno@clisp.org>
72521         New module 'hostent'.
72522         * modules/hostent: New file.
72523         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72525 2008-11-15  Bruno Haible  <bruno@clisp.org>
72527         New module 'servent'.
72528         * modules/servent: New file.
72529         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72531 2008-11-15  Bruno Haible  <bruno@clisp.org>
72533         Avoid generating same test program with two different rules.
72534         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72535         test-frexp to test-frexp-nolibm.
72536         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72537         test-frexpl to test-frexpl-nolibm.
72539 2008-11-15  Bruno Haible  <bruno@clisp.org>
72541         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72542         $(FREXPL_LIBM).
72544 2008-11-15  Bruno Haible  <bruno@clisp.org>
72546         * lib/netdb.in.h: Activate the definitions also when the system's
72547         <netdb.h> has 'struct addrinfo'.
72548         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72549         EAI_OVERFLOW or AI_NUMERICSERV.
72550         * doc/posix-headers/netdb.texi: Document the problem.
72552 2008-11-15  Bruno Haible  <bruno@clisp.org>
72554         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72556         Make the 'sched' module work on platforms where <sched.h> exists but
72557         is incomplete (such as Haiku).
72558         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72559         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72560         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72561         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72562         HAVE_STRUCT_SCHED_PARAM.
72563         * modules/sched (Depends-on): Add include_next.
72564         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72565         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72566         * doc/posix-headers/sched.texi: Document the issue.
72568 2008-11-13  Jim Meyering  <meyering@redhat.com>
72570         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72571         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72572         test would fail due to the difference in the Report bugs to ...
72573         line.  The expected address is empty, "<>", while the actual
72574         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72576 2008-11-12  Bruno Haible  <bruno@clisp.org>
72578         lstat: don't compile lstat.c on systems lacking lstat
72579         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72580         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72581         Reported by Daniel P. Berrange via Jim Meyering.
72583 2008-11-12  Jim Meyering  <meyering@redhat.com>
72585         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72587 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72589         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72590         instead.
72592 2008-11-12  Bruno Haible  <bruno@clisp.org>
72594         * lib/unicodeio.c: Include unistr.h.
72595         (utf8_wctomb): Remove function.
72596         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72598 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72600         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72601         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72602         <bruno@clisp.org>.
72603         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72605 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72607         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72608         * doc/gnulib.texi: Add section for warnings.
72610 2008-11-11  Bruno Haible  <bruno@clisp.org>
72612         * lib/sockets.h: Add a comment.
72614 2008-11-11  Karl Berry  <karl@gnu.org>
72616         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72618 2008-11-11  Eric Blake  <ebb9@byu.net>
72620         fdl.texi: avoid git symlinks
72621         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72623 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72625         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72627 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72629         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72630         (gl_WARN_ADD): Substitute $2 if literal.
72632 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72634         * m4/warning.m4: Remove.
72636 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72638         * m4/warnings.m4: Almost complete rewrite. :-)
72640 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72642         * modules/warnings: New module.
72643         * m4/warnings.m4: New file.
72644         * MODULES.html.sh: Mention warnings module.
72645         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72646         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72648 2008-11-10  Eric Blake  <ebb9@byu.net>
72650         fdl.texi: make a symlink to the latest version
72651         * doc/standards.texi: Revert today's earlier change.
72652         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72653         * doc/fdl.texi: ...and replace this with a symlink to the newer
72654         fdl-1.3.texi.
72656 2008-11-10  Bruno Haible  <bruno@clisp.org>
72658         * tests/test-select-fd.c (main): Accept the result file name as fourth
72659         argument.
72660         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72661         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72663 2008-11-10  Bruno Haible  <bruno@clisp.org>
72665         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72666         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72667         as autoconf-substituted macros.
72668         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72669         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72670         gl_NETDB_H_DEFAULTS. Set these variables.
72671         * modules/netdb (Makefile.am): Substitute these variables.
72673 2008-11-10  Eric Blake  <ebb9@byu.net>
72675         standards.texi: include correct file for FDL 1.3
72676         * doc/standards.texi (GNU Free Documentation License): Change
72677         include file to pull in FDL 1.3, not 1.2.
72679         fdl.texi: revert accidental change to license
72680         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72682 2008-11-10  Bruno Haible  <bruno@clisp.org>
72684         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72685         cross-compiling guesses also when the native compile gives no result.
72687 2008-11-10  Bruno Haible  <bruno@clisp.org>
72689         * lib/spawni.c (__spawni): Force variable into the stack.
72691 2008-11-10  Bruno Haible  <bruno@clisp.org>
72693         Add support for Haiku.
72694         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72695         glibc and BeOS, but also on Haiku.
72696         * lib/fpurge.c (fpurge): Likewise.
72697         * lib/freadable.c (freadable): Likewise.
72698         * lib/freadahead.c (freadahead): Likewise.
72699         * lib/freading.c (freading): Likewise.
72700         * lib/freadptr.c (freadptr): Likewise.
72701         * lib/freadseek.c (freadptrinc): Likewise.
72702         * lib/fseeko.c (rpl_fseeko): Likewise.
72703         * lib/fseterr.c (fseterr): Likewise.
72704         * lib/fwritable.c (fwritable): Likewise.
72705         * lib/fwriting.c (fwriting): Likewise.
72706         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72708 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72710         * lib/config.charset: Treat Haiku like BeOS.
72712 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72714         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72715         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72717 2008-11-08  Bruno Haible  <bruno@clisp.org>
72719         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72720         AC_CACHE_CHECK.
72722 2008-11-08  Bruno Haible  <bruno@clisp.org>
72724         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72726 2008-11-08  Bruno Haible  <bruno@clisp.org>
72728         * tests/test-select-fd.c: New file.
72729         * tests/test-select-in.sh: New file.
72730         * tests/test-select-out.sh: New file.
72731         * tests/test-select-stdin.c: New file.
72732         * modules/select-tests (Files): Add the new files.
72733         (Depends-on): Add gettimeofday.
72734         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72735         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72736         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72738 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72739             Bruno Haible  <bruno@clisp.org>
72741         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72743 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72745         * build-aux/pmccabe2html: Added support for C++ source files.
72747 2008-11-05  Ben Pfaff  <blp@gnu.org>
72749         Fix lib/close.c build on Windows.
72750         * modules/close (Files): Add lib/w32sock.h.
72752 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72754         Accept Bison's NEWS format.
72755         * build-aux/announce-gen (print_news_deltas): Tweak
72756         $re_prefix.
72758 2008-11-04  Bruno Haible  <bruno@clisp.org>
72760         * modules/random_r (Maintainer): Add glibc.
72762 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72764         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72765         by karl@freefriends.org (Karl Berry).
72766         * doc/alloca.texi: Likewise.
72767         * doc/c-ctype.texi: Likewise.
72768         * doc/c-strcase.texi: Likewise.
72769         * doc/c-strcaseeq.texi: Likewise.
72770         * doc/c-strcasestr.texi: Likewise.
72771         * doc/c-strstr.texi: Likewise.
72772         * doc/c-strtod.texi: Likewise.
72773         * doc/c-strtold.texi: Likewise.
72774         * doc/ctime.texi: Likewise.
72775         * doc/error.texi: Likewise.
72776         * doc/fdl.texi: Likewise.
72777         * doc/gcd.texi: Likewise.
72778         * doc/getdate.texi: Likewise.
72779         * doc/gnulib-intro.texi: Likewise.
72780         * doc/gnulib-tool.texi: Likewise.
72781         * doc/gnulib.texi: Likewise.
72782         * doc/inet_ntoa.texi: Likewise.
72783         * doc/maintain.texi: Likewise.
72784         * doc/make-stds.texi: Likewise.
72785         * doc/quote.texi: Likewise.
72786         * doc/regexprops-generic.texi: Likewise.
72787         * doc/standards.texi: Likewise.
72788         * doc/verify.texi: Likewise.
72789         * doc/visibility.texi: Likewise.
72790         * doc/gnulib.texi (GNU Free Documentation License): Include
72791         fdl-1.3.texi instead of fdl.texi.
72793 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72795         * doc/fdl-1.3.texi: New file, from
72796         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72797         * modules/fdl-1.3: Add.
72798         * MODULES.html.sh: Add fdl-1.3.
72800 2008-11-03  Bruno Haible  <bruno@clisp.org>
72802         Make determination of absolute name of header file work with AIX xlc.
72803         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72804         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72805         preprocessing.
72806         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72807         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72809 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72811         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72812         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72813         <ludo@gnu.org>.
72815 2008-11-02  Bruno Haible  <bruno@clisp.org>
72817         Mark 'strpbrk' obsolete.
72818         * modules/strpbrk (Status, Notice): New sections.
72819         * modules/strtok_r (Depends-on): Add strpbrk.
72821 2008-11-02  Bruno Haible  <bruno@clisp.org>
72823         Mark 'strdup' obsolete.
72824         * modules/strdup (Status, Notice): New sections.
72825         * modules/findprog (Depends-on): Add strdup.
72826         * modules/getaddrinfo (Depends-on): Likewise.
72827         * modules/localename (Depends-on): Likewise.
72828         * modules/relocatable-lib (Depends-on): Likewise.
72829         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72830         * modules/relocatable-prog (Depends-on): Likewise.
72831         * modules/trim (Depends-on): Likewise.
72832         * modules/unictype/gen-ctype (Depends-on): Likewise.
72833         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72835 2008-11-02  Bruno Haible  <bruno@clisp.org>
72837         Mark 'strcspn' obsolete.
72838         * modules/strcspn (Status, Notice): New sections.
72840 2008-11-02  Bruno Haible  <bruno@clisp.org>
72842         Mark 'rmdir' obsolete.
72843         * modules/rmdir (Status, Notice): New sections.
72844         * modules/clean-temp (Depends-on): Add rmdir.
72845         * modules/openat (Depends-on): Likewise.
72847 2008-11-02  Bruno Haible  <bruno@clisp.org>
72849         Mark 'raise' obsolete.
72850         * modules/raise (Status, Notice): New sections.
72851         (Include): Specify <signal.h>.
72852         * modules/stdio (Depends-on): Add raise.
72853         * modules/write (Depends-on): Likewise.
72855 2008-11-02  Bruno Haible  <bruno@clisp.org>
72857         Mark 'memset' obsolete.
72858         * modules/memset (Status, Notice): New sections.
72860 2008-11-02  Bruno Haible  <bruno@clisp.org>
72862         Mark 'memmove' obsolete.
72863         * modules/memmove (Status, Notice): New sections.
72864         * modules/argp (Depends-on): Add memmove.
72865         * modules/argz (Depends-on): Likewise.
72866         * modules/canonicalize (Depends-on): Likewise.
72867         * modules/canonicalize-lgpl (Depends-on): Likewise.
72868         * modules/fts (Depends-on): Likewise.
72869         * modules/getcwd (Depends-on): Likewise.
72870         * modules/human (Depends-on): Likewise.
72871         * modules/regex (Depends-on): Likewise.
72872         * modules/striconveh (Depends-on): Likewise.
72873         * modules/trim (Depends-on): Likewise.
72874         * modules/unistr/u8-move (Depends-on): Likewise.
72875         * modules/unistr/u16-move (Depends-on): Likewise.
72876         * modules/unistr/u32-move (Depends-on): Likewise.
72878 2008-11-02  Bruno Haible  <bruno@clisp.org>
72880         Mark 'memcpy' obsolete.
72881         * modules/memcpy (Status, Notice): New sections.
72883 2008-11-02  Bruno Haible  <bruno@clisp.org>
72885         Mark 'memcmp' obsolete.
72886         * modules/memcmp (Status, Notice): New sections.
72887         * modules/argmatch (Depends-on): Add memchr.
72888         * modules/backupfile (Depends-on): Likewise.
72889         * modules/c-strcasestr (Depends-on): Likewise.
72890         * modules/crypto/des (Depends-on): Likewise.
72891         * modules/csharpcomp (Depends-on): Likewise.
72892         * modules/fnmatch (Depends-on): Likewise.
72893         * modules/git-merge-changelog (Depends-on): Likewise.
72894         * modules/isnand (Depends-on): Likewise.
72895         * modules/isnand-nolibm (Depends-on): Likewise.
72896         * modules/isnanf (Depends-on): Likewise.
72897         * modules/isnanf-nolibm (Depends-on): Likewise.
72898         * modules/isnanl (Depends-on): Likewise.
72899         * modules/isnanl-nolibm (Depends-on): Likewise.
72900         * modules/mbchar (Depends-on): Likewise.
72901         * modules/memcoll (Depends-on): Likewise.
72902         * modules/quotearg (Depends-on): Likewise.
72903         * modules/regex (Depends-on): Likewise.
72904         * modules/relocatable-prog (Depends-on): Likewise.
72905         * modules/same (Depends-on): Likewise.
72906         * modules/signbit (Depends-on): Likewise.
72907         * modules/strcasestr-simple (Depends-on): Likewise.
72908         * modules/unictype/gen-ctype (Depends-on): Likewise.
72909         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72910         * modules/uniname/uniname (Depends-on): Likewise.
72911         * modules/unistr/u8-cmp (Depends-on): Likewise.
72913 2008-11-02  Bruno Haible  <bruno@clisp.org>
72915         Mark 'memchr' obsolete.
72916         * modules/memchr (Status, Notice): New sections.
72917         * modules/argp (Depends-on): Add memchr.
72918         * modules/base64 (Depends-on): Likewise.
72919         * modules/c-strcasestr (Depends-on): Likewise.
72920         * modules/chdir-long (Depends-on): Likewise.
72921         * modules/fnmatch (Depends-on): Likewise.
72922         * modules/getsubopt (Depends-on): Likewise.
72923         * modules/git-merge-changelog (Depends-on): Likewise.
72924         * modules/glob (Depends-on): Likewise.
72925         * modules/strcasestr-simple (Depends-on): Likewise.
72926         * modules/strnlen (Depends-on): Likewise.
72928 2008-11-02  Bruno Haible  <bruno@clisp.org>
72930         Mark 'atexit' obsolete.
72931         * modules/atexit (Status, Notice): New sections.
72932         * modules/chdir-long (Depends-on): Add atexit.
72933         * modules/wait-process (Depends-on): Likewise.
72935 2008-11-02  Bruno Haible  <bruno@clisp.org>
72937         * gnulib-tool: New option --with-obsolete.
72938         (func_usage): Document it.
72939         (func_modules_transitive_closure): Drop obsolete dependencies if
72940         incobsolete is not true.
72941         (func_import): Read and save the incobsolete variable to the cache.
72943 2008-11-02  Bruno Haible  <bruno@clisp.org>
72945         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72946         * gnulib-tool: New option --extract-status.
72947         (func_usage): Document it.
72948         (sed_extract_prog): Recognize it.
72949         (func_get_status): New function.
72951 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72953         * modules/sockets (License): Change from LGPL to LGPLv2+.
72955 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72957         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72959 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72961         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72962         Mention times and sys_times.
72963         * modules/sys_times, modules/sys_times-tests: New modules.
72964         * modules/times, modules/times-tests: Likewise
72965         * m4/sys_times_h.m4: New file.
72966         * lib/sys_times.in.h: Likewise
72967         * lib/times.c: Likewise.
72968         * tests/test-sys_times.c: Likewise.
72969         * tests/test-times.c: Likewise.
72970         * doc/posix-headers/sys_times.texi: Update.
72971         * doc/posix-functions/times.texi: Update.
72973 2008-10-28  Jim Meyering  <meyering@redhat.com>
72975         * modules/tempname (Depends-on): Add lstat.
72977         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72979 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72981         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72982         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72983         using idiom used elsewhere in gnulib.
72985 2008-10-27  Jim Meyering  <meyering@redhat.com>
72987         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72989 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72991         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72992         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72993         programs.
72994         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72996 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72998         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
73000 2008-10-27  Bruno Haible  <bruno@clisp.org>
73002         * tests/test-lstat.c: Include <stdio.h>.
73004 2008-10-27  Simon Josefsson  <simon@josefsson.org>
73006         * modules/lstat-tests: New module.
73007         * tests/test-lstat.c: New file.
73009 2008-10-26  Jim Meyering  <meyering@redhat.com>
73011         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
73013 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73014             Bruno Haible  <bruno@clisp.org>
73016         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
73017         * modules/configmake (Include): Add a note that the include must come
73018         after all system headers.
73019         * lib/javaversion.c: Include configmake.h after all other includes.
73021 2008-10-26  Bruno Haible  <bruno@clisp.org>
73023         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
73024         HAVE_STRUCT_RANDOM_DATA to 1.
73025         (gl_STDLIB_H): Simplify.
73027 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73029         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
73030         substitute HAVE_STRUCT_RANDOM_DATA.
73031         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
73032         random_data.
73033         * modules/stdlib (Makefile.am): Substitute
73034         HAVE_STRUCT_RANDOM_DATA.
73036 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73038         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
73039         * doc/gnulib-intro.texi (Copyright): Likewise.
73041 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73043         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
73044         findings.
73046 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
73047             Bruno Haible  <bruno@clisp.org>
73049         * lib/unistd.in.h: Include <winsock2.h>.
73050         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
73051         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
73052         Provide dummy declarations.
73053         (gethostname): Override.
73054         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
73055         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
73056         gl_PREREQ_SYS_H_WINSOCK2.
73057         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
73058         * doc/posix-functions/gethostname.texi: More details.
73060 2008-10-25  Bruno Haible  <bruno@clisp.org>
73062         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73063         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
73064         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
73066         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
73067         here ...
73068         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
73069         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
73070         gl_UNISTD_H_DEFAULTS.
73072 2008-10-25  Eric Blake  <ebb9@byu.net>
73074         signbit: avoid spurious compiler failure
73075         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
73076         declarations inside function.
73078 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73079             Bruno Haible  <bruno@clisp.org>
73081         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
73082         * modules/random_r (Depends-on): Add stdint.
73084 2008-10-24  Bruno Haible  <bruno@clisp.org>
73086         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
73087         Eggert.
73088         * modules/strerror (License): Likewise.
73090 2008-10-24  Jim Meyering  <meyering@redhat.com>
73092         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
73093         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
73095 2008-10-24  Eric Blake  <ebb9@byu.net>
73097         getgroups: fix compilation when getgroups is available
73098         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
73099         but with <config.h> override of getgroups disabled.
73101 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73103         * doc/gnulib.texi (Header files): Add note about C++ problems.
73104         Explained by Bruno Haible <bruno@clisp.org>.
73106 2008-10-23  Bruno Haible  <bruno@clisp.org>
73108         Define a dummy SA_NODEFER macro on Interix.
73109         * lib/signal.in.h (SA_NODEFER): Define fallback.
73110         Reported by Aleksey Cheusov <cheusov@tut.by> via
73111         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
73113 2008-10-23  Bruno Haible  <bruno@clisp.org>
73115         * modules/freadahead (License): Change to LGPLv2+.
73116         Suggested by Simon Josefsson.
73118 2008-10-23  Jim Meyering  <meyering@redhat.com>
73120         random_r: new module
73121         * modules/random_r: New file.
73122         * m4/random_r.m4: New file.
73123         * lib/random_r.c: New file, from glibc.
73124         * modules/random_r-tests: New file.
73125         * tests/test-random_r.c: New file.
73126         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
73127          Declare.
73128         (RAND_MAX): Define.
73129         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
73130         * modules/stdlib: Substitute them, too.
73131         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
73132         * doc/glibc-functions/initstate_r.texi: Mention the new module.
73133         * doc/glibc-functions/random_r.texi: Likewise.
73134         * doc/glibc-functions/setstate_r.texi: Likewise.
73135         * doc/glibc-functions/srandom_r.texi: Likewise.
73136         * config/srclist.txt: Mention it.
73138 2008-10-23  David Lutterkort  <lutter@redhat.com>
73140         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
73141         link requirement
73143 2008-10-23  Jim Meyering  <meyering@redhat.com>
73145         selinux-h: mark parameters of stub functions as intentionally unused
73146         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
73147         * lib/se-context.in.h: Likewise.
73149 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73151         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
73153 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73155         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
73157 2008-10-22  Eric Blake  <ebb9@byu.net>
73159         glthread/thread: avoid compiler warning
73160         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
73161         Add unreachable abort to silence compiler.
73163 2008-10-22  Eric Blake  <ebb9@byu.net>
73165         netdb: also supply struct addrinfo for cygwin 1.5.x
73166         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
73167         older cygwin.
73168         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
73169         cygwin.
73170         * doc/posix-headers/netdb.texi (netdb.h): Document this.
73172 2008-10-22  Bruno Haible  <bruno@clisp.org>
73174         * users.txt: Update entry about pspp.
73176 2008-10-21  Bruno Haible  <bruno@clisp.org>
73178         Simplification.
73179         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
73180         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
73182         Simplification.
73183         * lib/ioctl.c (ioctl): Don't undefine.
73184         * lib/socket.c (socket): Don't undefine.
73186         Remove unused module indicator macros.
73187         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
73188         GNULIB_$1 as a C macro.
73190         * doc/posix-functions/close.texi: Undo last change.
73191         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
73192         Windows platforms.
73194 2008-10-21  Bruno Haible  <bruno@clisp.org>
73196         Add gethostname() declaration to <unistd.h>.
73197         * lib/unistd.in.h (gethostname): New declaration.
73198         * lib/gethostname.c: Include <unistd.h>.
73199         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
73200         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
73201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
73202         and HAVE_GETHOSTNAME.
73203         * modules/gethostname (Depends-on): Add unistd.
73204         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73205         (Include): Specify <unistd.h>.
73206         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
73207         HAVE_GETHOSTNAME.
73208         * tests/test-gethostname.c: Include <unistd.h> first.
73210 2008-10-21  Bruno Haible  <bruno@clisp.org>
73212         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
73213         * modules/select-tests (Depends-on): Likewise.
73214         Reported by Simon Josefsson.
73216 2008-10-21  Simon Josefsson  <simon@josefsson.org>
73218         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
73219         * lib/accept.c: New file, based on winsock.c.
73220         * lib/bind.c: New file, based on winsock.c.
73221         * lib/connect.c: New file, based on winsock.c.
73222         * lib/getpeername.c: New file, based on winsock.c.
73223         * lib/getsockname.c: New file, based on winsock.c.
73224         * lib/getsockopt.c: New file, based on winsock.c.
73225         * lib/ioctl.c: New file, based on winsock.c.
73226         * lib/listen.c: New file, based on winsock.c.
73227         * lib/recv.c: New file, based on winsock.c.
73228         * lib/recvfrom.c: New file, based on winsock.c.
73229         * lib/send.c: New file, based on winsock.c.
73230         * lib/sendto.c: New file, based on winsock.c.
73231         * lib/setsockopt.c: New file, based on winsock.c.
73232         * lib/shutdown.c: New file, based on winsock.c.
73233         * lib/socket.c: New file, based on winsock.c.
73234         * lib/w32sock.h: New file, based on winsock.c.
73235         * lib/winsock.c: Remove file.
73236         * modules/accept: Likewise.
73237         * modules/bind: Likewise.
73238         * modules/connect: Likewise.
73239         * modules/getpeername: Likewise.
73240         * modules/getsockname: Likewise.
73241         * modules/getsockopt: Likewise.
73242         * modules/ioctl: Likewise.
73243         * modules/listen: Likewise.
73244         * modules/recv: Likewise.
73245         * modules/recvfrom: Likewise.
73246         * modules/send: Likewise.
73247         * modules/sendto: Likewise.
73248         * modules/setsockopt: Likewise.
73249         * modules/shutdown: Likewise.
73250         * modules/socket: Use socket.c instead of winsock.c.
73251         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
73252         * doc/posix-functions/accept.texi: Doc fix.
73253         * doc/posix-functions/bind.texi: Doc fix.
73254         * doc/posix-functions/close.texi: Doc fix.
73255         * doc/posix-functions/connect.texi: Doc fix.
73256         * doc/posix-functions/getpeername.texi: Doc fix.
73257         * doc/posix-functions/getsockname.texi: Doc fix.
73258         * doc/posix-functions/getsockopt.texi: Doc fix.
73259         * doc/posix-functions/ioctl.texi: Doc fix.
73260         * doc/posix-functions/listen.texi: Doc fix.
73261         * doc/posix-functions/recv.texi: Doc fix.
73262         * doc/posix-functions/recvfrom.texi: Doc fix.
73263         * doc/posix-functions/send.texi: Doc fix.
73264         * doc/posix-functions/sendto.texi: Doc fix.
73265         * doc/posix-functions/setsockopt.texi: Doc fix.
73266         * doc/posix-functions/shutdown.texi: Doc fix.
73267         * doc/posix-functions/socket.texi: Doc fix.
73269 2008-10-20  Bruno Haible  <bruno@clisp.org>
73271         Take into account the role of SIGABRT_COMPAT on Windows 2008.
73272         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
73273         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
73274         as an alias for SIGABRT.
73275         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
73276         (sigaction): Map it to SIGABRT.
73277         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
73279 2008-10-20  Bruno Haible  <bruno@clisp.org>
73281         * lib/fts.c: Don't include lstat.h.
73282         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
73284         Move the lstat() declaration to <sys/stat.h>.
73285         * lib/lstat.h: Remove file.
73286         * lib/sys_stat.in.h: Add special invocation convention.
73287         (lstat): New declaration.
73288         * lib/lstat.c (orig_lstat): New function.
73289         (rpl_lstat): Use orig_lstat instead of lstat.
73290         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
73291         AC_C_INLINE. Set REPLACE_LSTAT.
73292         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
73293         and REPLACE_LSTAT.
73294         * modules/lstat (Files): Remove lib/lstat.h.
73295         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73296         (Include): Specify <sys/stat.h> instead of lstat.h.
73297         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
73298         REPLACE_LSTAT.
73299         * NEWS: Mention the change.
73301 2008-10-20  Bruno Haible  <bruno@clisp.org>
73303         * modules/posix_spawn-tests: New file.
73304         * tests/test-posix_spawn3.c: New file.
73306 2008-10-20  Bruno Haible  <bruno@clisp.org>
73308         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
73309         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73310         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
73311         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73312         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
73314 2008-10-20  Bruno Haible  <bruno@clisp.org>
73316         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
73317         of posix_spawn on AIX 5.3.
73319 2008-10-20  Bruno Haible  <bruno@clisp.org>
73321         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
73323 2008-10-20  Bruno Haible  <bruno@clisp.org>
73325         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
73326         of AC_LANG_PROGRAM.
73328 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73330         * lib/netdb.in.h: Don't define GNU specific constants until they
73331         are supported or needed.  Reported by Bruno Haible
73332         <bruno@clisp.org>.
73334 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73336         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
73338 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73340         * lib/getaddrinfo.h: Remove file.
73341         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
73342         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
73343         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
73344         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
73345         * modules/netdb: Substitute GNULIB_GETADDRINFO.
73346         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
73347         * tests/test-getaddrinfo.c: Likewise.
73348         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
73349         * NEWS: Mention change.
73351 2008-10-19  Bruno Haible  <bruno@clisp.org>
73353         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
73355 2008-10-19  Bruno Haible  <bruno@clisp.org>
73357         * lib/wait-process.c: Include simply <sys/wait.h>.
73358         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
73359         WIFSTOPPED): Remove fallback definitions.
73360         * modules/wait-process (Depends-on): Add sys_wait.
73362         New module 'sys_wait'.
73363         * modules/sys_wait: New file.
73364         * lib/sys_wait.in.h: New file, partially copied from
73365         lib/wait-process.c.
73366         * m4/sys_wait_h.m4: New file.
73367         * doc/posix-headers/sys_wait.texi: Mention the new module.
73369 2008-10-19  Bruno Haible  <bruno@clisp.org>
73371         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
73373 2008-10-19  Bruno Haible  <bruno@clisp.org>
73375         Assume that waitpid() fills an 'int' status, not a 'union wait'.
73376         * lib/wait-process.c (WAIT_T): Remove type.
73377         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
73378         (wait_subprocess): Update.
73380 2008-10-19  Bruno Haible  <bruno@clisp.org>
73382         New module 'atoll'.
73383         * modules/atoll: New file.
73384         * lib/stdlib.in.h (atoll): New declaration.
73385         * lib/atoll.c: New file, from glibc with modifications.
73386         * m4/atoll.m4: New file.
73387         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
73388         HAVE_ATOLL.
73389         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
73390         * doc/posix-functions/atoll.texi: Mention the new module.
73392 2008-10-19  Bruno Haible  <bruno@clisp.org>
73394         Add strtoull() declaration to <stdlib.h>.
73395         * lib/stdlib.in.h (strtoull): New declaration.
73396         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73397         Set HAVE_STRTOULL.
73398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
73399         HAVE_STRTOULL.
73400         * modules/strtoull (Depends-on): Add stdlib.
73401         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73402         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
73403         HAVE_STRTOULL.
73405 2008-10-19  Bruno Haible  <bruno@clisp.org>
73407         Add strtoll() declaration to <stdlib.h>.
73408         * lib/stdlib.in.h (strtoll): New declaration.
73409         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73410         Set HAVE_STRTOLL.
73411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
73412         HAVE_STRTOLL.
73413         * modules/strtoll (Depends-on): Add stdlib.
73414         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73415         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
73417 2008-10-19  Bruno Haible  <bruno@clisp.org>
73419         * modules/bcopy (Depends-on): Add strings.
73420         (Include): Specify <strings.h>.
73422 2008-10-19  Bruno Haible  <bruno@clisp.org>
73424         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
73426 2008-10-19  Bruno Haible  <bruno@clisp.org>
73428         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
73429         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
73430         mingw.
73432 2008-10-19  Bruno Haible  <bruno@clisp.org>
73434         * lib/atanl.c: Don't include isnanl.h.
73435         * lib/cosl.c: Likewise.
73436         * lib/ldexpl.c: Likewise.
73437         * lib/logl.c: Likewise.
73438         * lib/sinl.c: Likewise.
73439         * lib/sqrtl.c: Likewise.
73440         * lib/tanl.c: Likewise.
73442         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
73443         * lib/isnanf.h: Remove file.
73444         * lib/isnand.h: Remove file.
73445         * lib/isnanl.h: Remove file.
73446         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
73447         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
73448         macros.
73449         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
73450         HAVE_ISNANF, don't define it as a C macro.
73451         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
73452         HAVE_ISNAND, don't define it as a C macro.
73453         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
73454         HAVE_ISNANL, don't define it as a C macro.
73455         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
73456         HAVE_ISNAN[FDL].
73457         * modules/isnanf (Files): Remove lib/isnanf.h.
73458         (Depends-on): Add math.
73459         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73460         (Include): Specify <math.h> instead of isnanf.h.
73461         * modules/isnand (Files): Remove lib/isnand.h.
73462         (Depends-on): Add math.
73463         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73464         (Include): Specify <math.h> instead of isnand.h.
73465         * modules/isnanl (Files): Remove lib/isnanl.h.
73466         (Depends-on): Add math.
73467         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73468         (Include): Specify <math.h> instead of isnanl.h.
73469         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
73470         HAVE_ISNAN[FDL].
73471         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73472         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73473         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73474         * NEWS: Mention the change.
73476 2008-10-18  Bruno Haible  <bruno@clisp.org>
73478         Add getusershell(), setusershell(), endusershell() declarations to
73479         <unistd.h>.
73480         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73481         declarations.
73482         * lib/getusershell.c: Include unistd.h.
73483         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73484         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73485         HAVE_GETUSERSHELL.
73486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73487         and HAVE_GETUSERSHELL.
73488         * modules/getusershell (Depends-on): Add unistd, extensions.
73489         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73490         (Include): Specify <unistd.h>.
73491         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73492         HAVE_GETUSERSHELL.
73494 2008-10-18  Bruno Haible  <bruno@clisp.org>
73496         Add a getloadavg() declaration to <stdlib.h>.
73497         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73498         getloadavg declaration.
73499         (getloadavg): New declaration.
73500         * lib/getloadavg.c: Include <stdlib.h> first.
73501         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73502         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73503         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73504         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73505         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73506         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73507         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73508         (Include): Specify <stdlib.h>.
73509         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73510         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73512 2008-10-18  Bruno Haible  <bruno@clisp.org>
73514         * lib/dirchownmod.c: Don't include lchmod.h.
73516         Move the lchmod() declaration to <sys/stat.h>.
73517         * lib/lchmod.h: Remove file.
73518         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73519         (lchmod): New declaration, moved here from lib/lchown.h.
73520         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73521         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73522         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73523         and HAVE_LCHMOD.
73524         * modules/lchmod (Files): Remove lib/lchmod.h.
73525         (Depends-on): Add sys_stat, extensions.
73526         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73527         (Include): Specify <sys/stat.h> instead of lchmod.h.
73528         * modules/sys_stat (Depends-on): Add link-warning.
73529         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73530         definition of GL_LINK_WARNING.
73531         * NEWS: Mention the change.
73533 2008-10-18  Bruno Haible  <bruno@clisp.org>
73535         * lib/fchdir.c: Don't include dirfd.h.
73536         * lib/fts.c: Likewise.
73537         * lib/getcwd.c: Likewise.
73538         * lib/glob.c: Likewise.
73540         Move the dirfd() declaration to <dirent.h>.
73541         * lib/dirfd.h: Remove file.
73542         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73543         (dirfd): New declaration.
73544         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73545         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73546         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73547         HAVE_DECL_DIRFD.
73548         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73549         HAVE_DECL_DIRFD.
73550         * modules/dirfd (Files): Remove lib/dirfd.h.
73551         (Depends-on): Add dirent, extensions.
73552         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73553         (Include): Specify <dirent.h> instead of dirfd.h.
73554         * modules/dirent (Depends-on): Add link-warning.
73555         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73556         definition of GL_LINK_WARNING.
73557         * NEWS: Mention the change.
73559 2008-10-18  Bruno Haible  <bruno@clisp.org>
73561         Move the euidaccess() declaration to <unistd.h>.
73562         * lib/euidaccess.h: Remove file.
73563         * lib/unistd.in.h (euidaccess): New declaration.
73564         * lib/euidaccess.c: Don't include euidaccess.h.
73565         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73566         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73568         and HAVE_EUIDACCESS.
73569         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73570         (Depends-on): Add unistd.
73571         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73572         (Include): Specify <unistd.h> instead of euidaccess.h.
73573         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73574         HAVE_EUIDACCESS.
73575         * NEWS: Mention the change.
73577 2008-10-18  Bruno Haible  <bruno@clisp.org>
73579         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73581         Move the getdomainname() declaration to <unistd.h>.
73582         * lib/getdomainname.h: Remove file.
73583         * lib/unistd.in.h (getdomainname): New declaration.
73584         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73585         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73586         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73587         HAVE_GETDOMAINNAME.
73588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73589         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73590         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73591         (Depends-on): Add unistd, extensions.
73592         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73593         (Includes): Specify <unistd.h> instead of getdomainname.h.
73594         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73595         HAVE_GETDOMAINNAME.
73596         * NEWS: Mention the change.
73598 2008-10-18  Bruno Haible  <bruno@clisp.org>
73600         * modules/dirent: New file.
73601         * m4/dirent_h.m4: New file.
73602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73603         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73604         * modules/fchdir (Files): Remove lib/dirent.in.h.
73605         (Depends-on): Add dirent.
73606         (Makefile.am): Move rules to modules/dirent.
73607         * doc/posix-headers/dirent.texi: Mention the new module.
73609 2008-10-18  Bruno Haible  <bruno@clisp.org>
73611         Avoid -Wunused-parameter warnings in public gnulib header files.
73612         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73613         macro.
73614         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73616 2008-10-18  Bruno Haible  <bruno@clisp.org>
73618         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73619         * doc/glibc-functions/error.texi: Mention the module 'error'.
73620         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73621         * doc/glibc-functions/getdomainname.texi: Mention the module
73622         'getdomainname'.
73623         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73624         * doc/glibc-functions/getpagesize.texi: Mention the module
73625         'getpagesize'.
73626         * doc/glibc-functions/getusershell.texi: Mention the module
73627         'getusershell'.
73628         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73629         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73630         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73631         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73632         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73633         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73634         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73635         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73636         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73637         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73638         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73639         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73640         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73641         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73643 2008-10-17  Bruno Haible  <bruno@clisp.org>
73645         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73646         HP-UX and IRIX, use -0.0L.
73647         * tests/test-ceill.c (minus_zero): Likewise.
73648         * tests/test-floorl.c (minus_zero): Likewise.
73649         * tests/test-frexpl.c (minus_zero): Likewise.
73650         * tests/test-isnan.c (minus_zerol): Likewise.
73651         * tests/test-isnanl.h (minus_zero): Likewise.
73652         * tests/test-ldexpl.c (minus_zero): Likewise.
73653         * tests/test-roundl.c (minus_zero): Likewise.
73654         * tests/test-signbit.c (minus_zerol): Likewise.
73655         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73656         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73657         * tests/test-truncl.c (minus_zero): Likewise.
73658         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73659         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73660         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73661         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73663 2008-10-17  Bruno Haible  <bruno@clisp.org>
73665         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73666         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73667         that it gets activated only for gcc >= 3.0.
73668         * lib/dirent.in.h: Likewise.
73669         * lib/errno.in.h: Likewise.
73670         * lib/fcntl.in.h: Likewise.
73671         * lib/float.in.h: Likewise.
73672         * lib/iconv.in.h: Likewise.
73673         * lib/inttypes.in.h: Likewise.
73674         * lib/locale.in.h: Likewise.
73675         * lib/math.in.h: Likewise.
73676         * lib/netdb.in.h: Likewise.
73677         * lib/netinet_in.in.h: Likewise.
73678         * lib/search.in.h: Likewise.
73679         * lib/signal.in.h: Likewise.
73680         * lib/spawn.in.h: Likewise.
73681         * lib/stdarg.in.h: Likewise.
73682         * lib/stdint.in.h: Likewise.
73683         * lib/stdio.in.h: Likewise.
73684         * lib/stdlib.in.h: Likewise.
73685         * lib/string.in.h: Likewise.
73686         * lib/strings.in.h: Likewise.
73687         * lib/sys_file.in.h: Likewise.
73688         * lib/sys_ioctl.in.h: Likewise.
73689         * lib/sys_select.in.h: Likewise.
73690         * lib/sys_socket.in.h: Likewise.
73691         * lib/sys_stat.in.h: Likewise.
73692         * lib/sys_time.in.h: Likewise.
73693         * lib/sysexits.in.h: Likewise.
73694         * lib/time.in.h: Likewise.
73695         * lib/unistd.in.h: Likewise.
73696         * lib/wchar.in.h: Likewise.
73697         * lib/wctype.in.h: Likewise.
73698         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73700 2008-10-17  Jim Meyering  <meyering@redhat.com>
73702         ignore-value: don't depend on inline module
73703         * modules/ignore-value (Depends-on): Remove 'inline'.
73704         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73705         Suggestion from Bruno Haible.
73707 2008-10-17  Bruno Haible  <bruno@clisp.org>
73709         New implementation of condition variables for Win32.
73710         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73711         (gl_linked_waitqueue_t): New type.
73712         (gl_cond_t): Use it.
73713         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73714         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73715         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73716         (glthread_cond_init_func, glthread_cond_wait_func,
73717         glthread_cond_timedwait_func, glthread_cond_signal_func,
73718         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73719         Reimplemented on the basis of gl_linked_waitqueue_t.
73720         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73721         gl_waitqueue_t.
73722         (gl_rwlock_t): Update.
73723         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73725 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73727         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73728         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73730 2008-10-17  Jim Meyering  <meyering@redhat.com>
73732         ignore-value: new module
73733         * modules/ignore-value: New file.
73734         * lib/ignore-value.h: New file.
73735         * MODULES.html.sh (Compiler warning management): New section,
73736         just for this module.  More to come.
73738 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73740         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73741         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73742         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73744 2008-10-16  Jim Meyering  <meyering@redhat.com>
73746         openat-die.c: avoid 'no previous prototype' warning
73747         * lib/openat-die.c: Include "openat.h".
73748         Reported by Reuben Thomas <rrt@sc3d.org>.
73750 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73752         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73753         * lib/netdb.in.h: Fix typo.
73754         Reported by Bruno Haible  <bruno@clisp.org>
73756         * lib/netdb.in.h: Include sys/socket.h for platforms without
73757         netdb.h, to get structures like hostent on MinGW.
73758         * modules/netdb (Depends-on): Add sys_socket.
73760 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73762         * modules/netdb, modules/netdb-tests: New file.
73763         * m4/netdb_h.m4: New file.
73764         * lib/netdb.in.h: Add, currently just an empty file pending
73765         definitions.
73766         * tests/test-netdb.c: New file.
73767         * doc/posix-headers/netdb.texi: Mention that we replace it if
73768         needed.
73769         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73770         netdb.
73772 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73774         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73775         with code.
73777 2008-10-13  Bruno Haible  <bruno@clisp.org>
73779         * lib/glthread/cond.c (glthread_cond_wait_func,
73780         glthread_cond_timedwait_func): Add a comment.
73782 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73784         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73785         * tests/test-select.c: Likewise,
73787 2008-10-13  Bruno Haible  <bruno@clisp.org>
73789         * lib/glthread/cond.c (glthread_cond_wait_func,
73790         glthread_cond_timedwait_func): Fix variable name.
73791         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73793 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73795         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73797         struct sockaddr.sa_len.
73798         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73800 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73802         * build-aux/pmccabe2html: Add css and css_url parameters.
73804 2008-10-12  Bruno Haible  <bruno@clisp.org>
73806         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73807         calling aclx_get.
73808         Reported by Rainer Tammer <tammer@tammer.net>.
73810 2008-10-12  Bruno Haible  <bruno@clisp.org>
73812         Use msvcrt aware primitives for creation/termination of Win32 threads.
73813         * lib/glthread/thread.c: Include <process.h>.
73814         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73815         (wrapper_func): Update signature.
73816         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73818 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73819             Bruno Haible  <bruno@clisp.org>
73821         Provide a Win32 implementation of the 'cond' module.
73822         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73823         * lib/glthread/cond.c (glthread_cond_init_func,
73824         glthread_cond_wait_func, glthread_cond_timedwait_func,
73825         glthread_cond_signal_func, glthread_cond_broadcast_func,
73826         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73827         * modules/cond (Dependencies): Add gettimeofday.
73829 2008-10-11  Bruno Haible  <bruno@clisp.org>
73831         Make sleep work on older versions of mingw.
73832         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73833         only whether it exists.
73834         * doc/posix-functions/sleep.texi: Mention the problem with older
73835         versions of mingw.
73837 2008-10-11  Bruno Haible  <bruno@clisp.org>
73839         New module 'shutdown'.
73840         * modules/shutdown: New file.
73841         * lib/sys_socket.in.h (shutdown): New declaration.
73842         * lib/winsock.c (shutdown): New function.
73843         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73844         GNULIB_SHUTDOWN.
73845         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73846         * doc/posix-functions/shutdown.texi: Document the new module.
73848 2008-10-11  Jim Meyering  <meyering@redhat.com>
73850         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73852 2008-10-11  Bruno Haible  <bruno@clisp.org>
73854         New module 'fclose'.
73855         * modules/fclose: New file.
73856         * lib/stdio.in.h (fclose): New declaration.
73857         * lib/fclose.c: New file.
73858         * m4/fclose.m4: New file.
73859         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73860         REPLACE_FCLOSE.
73861         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73862         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73863         REPLACE_FCLOSE.
73864         * modules/close (Depends-on): fclose.
73865         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73867 2008-10-11  Bruno Haible  <bruno@clisp.org>
73869         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73870         set errno and don't call _close.
73872 2008-10-10  Bruno Haible  <bruno@clisp.org>
73874         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73875         ACL, not afterwards. Fixes test failure on Cygwin.
73877 2008-10-09  Ben Pfaff  <blp@gnu.org>
73879         * build-aux/announce-gen: Fix gnulib version related part of usage
73880         message.  Die with a useful error message if no tarballs are
73881         found.
73883 2008-10-10  Jim Meyering  <meyering@redhat.com>
73885         bootstrap: use git's --depth=N option only if it's supported
73886         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73887         recognize the --depth option.  Reported by Pádraig Brady.
73889 2008-10-09  Bruno Haible  <bruno@clisp.org>
73891         New module 'ioctl'.
73892         * modules/ioctl: New file.
73893         * lib/sys_socket.in.h (ioctl): Remove declaration.
73894         * lib/winsock.c: Include <sys/ioctl.h>.
73895         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73896         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73897         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73898         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73899         * doc/posix-functions/ioctl.texi: Mention the new module.
73901 2008-10-09  Bruno Haible  <bruno@clisp.org>
73903         New module 'sys_ioctl'.
73904         * lib/sys_ioctl.in.h: New file.
73905         * m4/sys_ioctl_h.m4: New file.
73906         * modules/sys_ioctl: New file.
73907         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73909 2008-10-09  Bruno Haible  <bruno@clisp.org>
73911         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73912         * lib/winsock.c: Include <stdarg.h>.
73913         (rpl_ioctl): Change to second argument 'int' and then varargs.
73915 2008-10-09  Bruno Haible  <bruno@clisp.org>
73917         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73918         when the sys_socket module is present and the system has <winsock2.h>.
73920 2008-10-09  Bruno Haible  <bruno@clisp.org>
73922         * doc/posix-functions/close.texi: Mention module 'close' instead of
73923         module 'sys_socket'.
73925 2008-10-09  Bruno Haible  <bruno@clisp.org>
73927         * doc/glibc-headers/sys_ioctl.texi: New file.
73928         * doc/gnulib.texi: Include it.
73930 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73931             Bruno Haible  <bruno@clisp.org>
73933         Combine the two replacements of 'close'.
73934         * lib/sys_socket.in.h (close): Define to a reminder to include
73935         <unistd.h>.
73936         (_gl_close_fd_maybe_socket): New declaration.
73937         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73938         * lib/winsock.c (close): Remove undefinition.
73939         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73940         needed for the gnulib module 'close'.
73941         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73942         define to an error symbol or to a warning, if suitable.
73943         * lib/close.c: Include <sys/socket.h>.
73944         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73945         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73946         UNISTD_H_HAVE_WINSOCK2_H.
73947         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73949         UNISTD_H_HAVE_WINSOCK2_H.
73950         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73951         (configure.ac): Set a module indicator.
73952         (Makefile.am): Substitute GNULIB_CLOSE.
73953         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73954         * modules/poll-tests (Depends-on): Add close.
73955         * modules/select-tests (Depends-on): Likewise.
73957 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73958             Bruno Haible  <bruno@clisp.org>
73960         New module 'close'.
73961         * modules/close: New file.
73962         * lib/unistd.in.h (close): Move declaration out of the
73963         FCHDIR_REPLACEMENT scope.
73964         (_gl_unregister_fd): New declaration.
73965         * lib/close.c: New file.
73966         * lib/fchdir.c (rpl_close): Remove function.
73967         * m4/close.m4: New file.
73968         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73969         close.
73970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73971         REPLACE_CLOSE.
73972         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73973         REPLACE_CLOSE.
73974         * modules/fchdir (Depends-on): Add close.
73976 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73977             Bruno Haible  <bruno@clisp.org>
73979         * lib/fcntl.in.h (open): Simplify conditionals.
73980         (_gl_register_fd): New declaration.
73981         * lib/fchdir.c (rpl_open): Remove function.
73982         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73983         also.
73984         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73985         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73986         open.
73988 2008-10-09  Jim Meyering  <meyering@redhat.com>
73990         GNUmakefile: use the more name-space-friendly "_version"
73991         * top/GNUmakefile (_dummy): Update.
73992         (_version): Rename from "version".
73994 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73995             Bruno Haible  <bruno@clisp.org>
73997         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73998         rpl_close.
73999         (_gl_register_fd): New function, extracted from rpl_open.
74000         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
74001         (rpl_open, rpl_opendir): Use _gl_register_fd.
74003 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74005         Fix organization of 'open' replacement.
74006         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
74007         (gl_FUNC_OPEN): Use it.
74008         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
74010 2008-10-08  Bruno Haible  <bruno@clisp.org>
74012         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
74014 2008-10-08  Simon Josefsson  <simon@josefsson.org>
74016         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
74017         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
74018         listen).
74020 2008-10-08  Eric Blake  <ebb9@byu.net>
74022         GNUmakefile: add 'make version' target
74023         * top/GNUmakefile (_curr-ver): Split version update rules...
74024         (version): ...into a target.
74026 2008-10-07  Bruno Haible  <bruno@clisp.org>
74028         Use a more portable replacement expression for -0.0L.
74029         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
74030         instead of -0.0L. Fix m4 quotation.
74032         * tests/test-signbit.c: Include <float.h>.
74033         (minus_zero): New variable.
74034         (test_signbitl): Use minus_zero instead of -zero.
74035         * modules/signbit-tests (Depends-on): Add float.
74037         * tests/test-ceill.c: Include <float.h>.
74038         (zero): Remove variable.
74039         (minus_zero): New variable.
74040         (main): Use minus_zero instead of -zero.
74041         * modules/ceill-tests (Depends-on): Add float.
74043         * tests/test-floorl.c: Include <float.h>.
74044         (zero): Remove variable.
74045         (minus_zero): New variable.
74046         (main): Use minus_zero instead of -zero.
74047         * modules/floorl-tests (Depends-on): Add float.
74049         * tests/test-roundl.c: Include <float.h>.
74050         (zero): Remove variable.
74051         (minus_zero): New variable.
74052         (main): Use minus_zero instead of -zero.
74053         * modules/roundl-tests (Depends-on): Add float.
74055         * tests/test-truncl.c: Include <float.h>.
74056         (zero): Remove variable.
74057         (minus_zero): New variable.
74058         (main): Use minus_zero instead of -zero.
74059         * modules/truncl-tests (Depends-on): Add float.
74061         * tests/test-frexpl.c (zero): Remove variable.
74062         (minus_zero): New variable.
74063         (main): Use minus_zero instead of -zero.
74064         * modules/frexpl-tests (Depends-on): Add float.
74066         * tests/test-isnan.c (zerol): Remove variable.
74067         (minus_zerol): New variable.
74068         (test_long_double): Use minus_zerol instead of -zerol.
74069         * modules/isnan-tests (Depends-on): Add float.
74071         * tests/test-isnanl.h (zero): Remove variable.
74072         (minus_zero): New variable.
74073         (main): Use minus_zero instead of -zero.
74074         * modules/isnanl-nolibm-tests (Depends-on): Add float.
74075         * modules/isnanl-tests (Depends-on): Add float.
74077         * tests/test-ldexpl.c (zero): Remove variable.
74078         (minus_zero): New variable.
74079         (main): Use minus_zero instead of -zero.
74080         * modules/ldexpl-tests (Depends-on): Add float.
74082         * tests/test-snprintf-posix.h (zerol): Remove variable.
74083         (minus_zerol): New variable.
74084         (test_function): Use minus_zerol instead of -zerol.
74085         * modules/snprintf-posix-tests (Depends-on): Add float.
74086         * modules/vsnprintf-posix-tests (Depends-on): Add float.
74088         * tests/test-sprintf-posix.h (zerol): Remove variable.
74089         (minus_zerol): New variable.
74090         (test_function): Use minus_zerol instead of -zerol.
74091         * modules/sprintf-posix-tests (Depends-on): Add float.
74092         * modules/vsprintf-posix-tests (Depends-on): Add float.
74094         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
74095         (minus_zerol): New variable.
74096         (test_function): Use minus_zerol instead of -zerol.
74097         * modules/vasnprintf-posix-tests (Depends-on): Add float.
74099         * tests/test-vasprintf-posix.c (zerol): Remove variable.
74100         (minus_zerol): New variable.
74101         (test_function): Use minus_zerol instead of -zerol.
74102         * modules/vasprintf-posix-tests (Depends-on): Add float.
74104 2008-10-07  Simon Josefsson  <simon@josefsson.org>
74106         * MODULES.html.sh (Support for building documentation): Mention
74107         pmccabe2html.  Sort entries.
74109         Add pmccabe2html module, from gnupdf.
74110         * build-aux/pmccabe.css: New file.
74111         * build-aux/pmccabe2html: New file.
74112         * m4/pmccabe2html.m4: New file.
74113         * modules/pmccabe2html: New file.
74115 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
74117         flock: new module
74118         * MODULES.html.sh: Add to list of modules.
74119         * lib/flock.c: flock implementation for Windows and Unix systems
74120         which have fcntl.
74121         * doc/glibc-functions/flock.texi: Update documentation.
74122         * lib/sys_file.in.h: <sys/file.h> header file.
74123         * m4/flock.m4: M4 macros.
74124         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
74125         * modules/flock: flock module.
74126         * modules/flock-tests: flock tests module.
74127         * modules/sys_file: sys/file.h module.
74128         * tests/test-flock.c: test suite for flock.
74130 2008-10-06  Jim Meyering  <meyering@redhat.com>
74132         bootstrap: check for LT_INIT more portably still ;-)
74133         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
74134         Spotted by Bruno Haible.
74136 2008-10-06  Eric Blake  <ebb9@byu.net>
74138         test-signbit: avoid tripping Irix cc bug on -0.0L
74139         * tests/test-signbit.c (minus_zerol): Delete, and replace with
74140         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
74141         entire testsuite consistent and avoids an Irix 6.2 bug.
74143 2008-10-05  Bruno Haible  <bruno@clisp.org>
74144             Jim Meyering  <jim@meyering.net>
74146         Add an option for ignoring EPIPE during close_stdout.
74147         * lib/closeout.h: Include <stdbool.h>.
74148         (close_stdout_set_ignore_EPIPE): New declaration.
74149         * lib/closeout.c: Include <stdbool.h>.
74150         (ignore_EPIPE): New variable.
74151         (close_stdout_set_ignore_EPIPE): New function.
74152         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
74153         * lib/close-stream.c (close_stream): Mention the possible EPIPE
74154         failure.
74155         * modules/closeout (Depends-on): Add stdbool.
74157 2008-10-05  Bruno Haible  <bruno@clisp.org>
74159         * modules/accept: New file.
74160         * modules/bind: New file.
74161         * modules/connect: New file.
74162         * modules/getpeername: New file.
74163         * modules/getsockname: New file.
74164         * modules/getsockopt: New file.
74165         * modules/listen: New file.
74166         * modules/recv: New file.
74167         * modules/recvfrom: New file.
74168         * modules/send: New file.
74169         * modules/sendto: New file.
74170         * modules/setsockopt: New file.
74171         * modules/socket: New file.
74172         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
74173         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
74174         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
74175         the particular module is requested. Add a link warning when the
74176         particular module is not requested.
74177         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
74178         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
74179         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
74180         the particular module is requested.
74181         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
74182         gl_SYS_SOCKET_H_DEFAULTS): New macros.
74183         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
74184         * modules/sys_socket (Depends-on): Add link-warning.
74185         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
74186         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
74187         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
74188         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
74189         GL_LINK_WARNING.
74190         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
74191         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
74192         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
74193         * doc/posix-functions/getpeername.texi: Mention the new module
74194         'getpeername'.
74195         * doc/posix-functions/getsockname.texi: Mention the new module
74196         'getsockname'.
74197         * doc/posix-functions/getsockopt.texi: Mention the new module
74198         'getsockopt'.
74199         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
74200         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
74201         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
74202         * doc/posix-functions/send.texi: Mention the new module 'send'.
74203         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
74204         * doc/posix-functions/setsockopt.texi: Mention the new module
74205         'setsockopt'.
74206         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
74207         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
74208         listen, connect, accept.
74209         * modules/select-tests (Depends-on): Likewise.
74211 2008-10-05  Bruno Haible  <bruno@clisp.org>
74213         * lib/winsock.c (strerror): Remove unused #undef.
74214         (rpl_close): Remove unused local variable.
74216         * modules/sys_socket (Depends-on); Add errno.
74218 2008-10-05  Bruno Haible  <bruno@clisp.org>
74220         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
74221         (select): Add a link warning when the 'select' module is not used.
74222         * modules/sys_select (Depends-on): Add link-warning.
74223         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
74224         Suggested by Paolo Bonzini.
74226 2008-10-05  Jim Meyering  <meyering@redhat.com>
74228         bootstrap: check for LT_INIT more portably
74229         * build-aux/bootstrap: Avoid using grep -E, since it's not
74230         portable enough.  Suggestion from Bruno Haible.
74232 2008-10-05  Bruno Haible  <bruno@clisp.org>
74234         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
74235         as being fixed by gnulib.
74237 2008-10-05  Bruno Haible  <bruno@clisp.org>
74239         * modules/select-tests: New file, mostly copied from
74240         modules/sys_select-tests.
74241         * tests/test-select.c: New file, mostly copied from
74242         tests/test-sys_select.c.
74243         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
74244         * modules/sys_select-tests (Depends-on): Remove all dependencies.
74245         (Makefile.am): Remove test_sys_select_LDADD.
74247         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
74248         to an undefined symbol, for an error message.
74249         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
74250         (gl_SYS_SELECT_H_DEFAULTS): New macro.
74251         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
74252         winsock-select.c here.
74253         * modules/sys_select (Files): Remove lib/winsock-select.c.
74254         (Depends-on): Remove alloca.
74255         (Makefile.am): Substitute GNULIB_SELECT.
74256         * modules/select: New file.
74257         * doc/posix-functions/select.texi: Update.
74259 2008-10-05  Bruno Haible  <bruno@clisp.org>
74261         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
74262         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
74263         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
74264         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
74265         getdtablesize.
74266         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
74267         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
74269 2008-10-05  Bruno Haible  <bruno@clisp.org>
74271         * modules/getdtablesize-tests: New file.
74272         * tests/test-getdtablesize.c: New file.
74274         New module 'getdtablesize'.
74275         * lib/unistd.in.h (getdtablesize): New declaration.
74276         * lib/getdtablesize.c: New file.
74277         * m4/getdtablesize.m4: New file.
74278         * modules/getdtablesize: New file.
74279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74280         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
74281         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
74282         HAVE_GETDTABLESIZE.
74283         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
74285 2008-10-05  Bruno Haible  <bruno@clisp.org>
74287         * modules/sched (Makefile.am): Fix typo.
74288         Reported by Simon Josefsson.
74290 2008-10-05  Jim Meyering  <meyering@redhat.com>
74292         bootstrap: check for LT_INIT, too
74293         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
74294         are deprecated.  Suggestion from Ralf Wildenhues.
74296 2008-10-05  Bruno Haible  <bruno@clisp.org>
74298         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
74299         overriding them by ours.
74300         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
74302 2008-10-05  Jim Meyering  <meyering@redhat.com>
74304         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
74305         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
74306         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
74308 2008-10-04  Bruno Haible  <bruno@clisp.org>
74310         * modules/dup2 (License): Change to LGPLv2+.
74311         * modules/sleep (License): Likewise.
74312         * modules/perror (License): Likewise.
74313         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
74314         Blake.
74315         * modules/signal (License): Likewise.
74316         * modules/sigprocmask (License): Likewise.
74317         * modules/raise (License): Change to LGPLv2+, with approval by Jim
74318         Meyering.
74320 2008-10-04  Bruno Haible  <bruno@clisp.org>
74322         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
74323         Reported by Rainer Tammer <tammer@tammer.net>.
74325 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
74326             Bruno Haible  <bruno@clisp.org>
74328         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
74329         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
74330         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
74332 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
74334         filevercmp: new module
74335         * lib/filevercmp.h: New function filevercmp comparing version strings.
74336         * lib/filevercmp.c: Implementation of filevercmp function.
74337         * modules/filevercmp: Module metadata.
74338         * tests/test-filevercmp.c: Unit test for new module.
74339         * modules/filevercmp-tests: Unit test metadata.
74340         * MODULES.html.sh: Add filevercmp module.
74342 2008-10-03  Bruno Haible  <bruno@clisp.org>
74344         * lib/c-ctype.h: Add comment.
74345         Reported by Jim Meyering.
74347 2008-10-02  Bruno Haible  <bruno@clisp.org>
74349         * modules/posix_spawn-internal (Depends-on): Add 'open'.
74351 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74353         * build-aux/bootstrap: Allow renaming bootstrap, and change the
74354         name of bootstrap.conf accordingly.
74356 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74358         * build-aux/bootstrap: Install git-merge-changelog configuration
74359         items into .gitconfig if needed.
74361 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74363         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
74364         git repository, and initialize/update it accordingly.
74366 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
74368         * modules/fsync-tests: New file.
74369         * tests/test-fsync.c: New file.
74371         New module 'fsync'.
74372         * lib/fsync.c: New file.
74373         * m4/fsync.m4: New file.
74374         * modules/fsync: New file.
74375         * lib/unistd.in.h (fsync): New declaration.
74376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
74377         GNULIB_FSYNC and HAVE_FSYNC.
74378         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
74379         * MODULES.html.sh (posix_functions): Add fsync.
74380         * doc/posix-functions/fsync.texi: Mention the new module.
74382 2008-10-02  Jim Meyering  <meyering@redhat.com>
74384         fts.c: sync with similar code from coreutils' remove.c
74385         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
74386         Guard also with "#if defined __linux__", since for now at least,
74387         this code is Linux-kernel-specific.
74389 2008-10-02  Jim Meyering  <meyering@redhat.com>
74391         fts: bug fixes
74392         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
74393         Include <sys/vfs.h>, not <sys/statfs.h>.
74395         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
74396         Include <sys/vfs.h>, not <sys/statfs.h>.
74398 2008-10-01  Bruno Haible  <bruno@clisp.org>
74400         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
74401         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
74402         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
74403         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
74404         * doc/posix-functions/posix_spawnp.texi: Likewise.
74405         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
74406         whether posix_spawn actually works.
74407         * m4/pipe.m4 (gl_PIPE): Likewise.
74408         * modules/execute (Files): Add m4/posix_spawn.m4.
74409         * modules/pipe (Files): Add m4/posix_spawn.m4.
74410         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
74412 2008-10-01  Jim Meyering  <meyering@redhat.com>
74414         remove trailing spaces
74415         * NEWS: Likewise.
74416         * lib/poll.c (poll): Likewise.
74417         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
74418         * lib/winsock.c (rpl_close): Likewise.
74419         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
74420         * modules/yield: Likewise.
74421         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
74422         * tests/test-sys_select.c (connect_to_socket): Likewise.
74424         fts.c: adjust a new interface to be more generally useful
74425         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
74426         (fts_build): Adjust caller.
74428 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74430         * modules/cond-tests: New file.
74431         * tests/test-cond.c: New file.
74433 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74434             Bruno Haible  <bruno@clisp.org>
74436         * modules/cond (Dependencies): Add errno, time.
74437         * lib/glthread/cond.h: Include <time.h>.
74438         (gl_cond_define, gl_cond_define_initialized): Use the same definition
74439         across platforms.
74441 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74442             Bruno Haible  <bruno@clisp.org>
74444         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
74446 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74447             Bruno Haible  <bruno@clisp.org>
74449         * modules/tls-tests (Depends-on): Add thread, yield.
74450         (configure.ac): Remove all checks.
74451         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
74452         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74453         gl_thread_self): Remove definitions. Include glthread/thread.h and
74454         glthread/yield.h instead.
74455         (test_tls): Pass an additional NULL argument to gl_thread_join.
74457 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74458             Bruno Haible  <bruno@clisp.org>
74460         * modules/lock-tests (Depends-on): Add thread, yield.
74461         (configure.ac): Remove all checks.
74462         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
74463         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74464         gl_thread_self): Remove definitions. Include glthread/thread.h and
74465         glthread/yield.h instead.
74466         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
74467         additional NULL argument to gl_thread_join.
74469 2008-09-30  Bruno Haible  <bruno@clisp.org>
74471         Fix the Win32 implementation of the 'thread' module.
74472         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74473         pointer type.
74474         (gl_thread_self): Invoke gl_thread_self_func.
74475         (gl_thread_self_func): New declaration.
74476         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74477         (do_init_self_key, init_self_key): New functions.
74478         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74479         Remove some fields.
74480         (running_threads, running_lock): Remove variables.
74481         (get_current_thread_handle): New function.
74482         (gl_thread_self_func, wrapper_func, glthread_create_func,
74483         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74484         simplified.
74486 2008-09-30  Bruno Haible  <bruno@clisp.org>
74488         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74489         files.
74491 2008-09-30  Jim Meyering  <meyering@redhat.com>
74493         fts.m4: correct the test for statfs.f_type
74494         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74495         when checking for statfs.f_type.
74497 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74499         tests: avoid some compiler warnings
74500         * tests/test-memchr.c (main): Pass NULL indirectly.
74501         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74503 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74505         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74506         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74507         exactly specified dayshifts.
74508         (dayshift): New rule.
74509         (rel): Add dayshift.
74510         (relative_time_table) [tomorrow, yesterday, today, now]:
74511         Use tDAY_SHIFT in place of tDAY_UNIT.
74512         * tests/test-getdate.c: Add tests for now-disallowed countable
74513         dayshifts, e.g., "4 yesterday ago".
74515 2008-09-29  Bruno Haible  <bruno@clisp.org>
74517         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74518         * tests/test-posix_spawn1.in.sh: Renamed from
74519         tests/test-posix_spawn.in.sh.
74520         * tests/test-posix_spawn2.c: New file.
74521         * tests/test-posix_spawn2.in.sh: New file.
74522         * modules/posix_spawnp-tests (Files): Update.
74523         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74525 2008-09-29  Bruno Haible  <bruno@clisp.org>
74527         Propagate effects of putenv/setenv/unsetenv to child processes.
74528         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74529         * lib/pipe.c (create_pipe): Likewise.
74531 2008-09-29  Bruno Haible  <bruno@clisp.org>
74533         Enable use of shell scripts as executables in mingw.
74534         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74535         run the program as a shell script.
74536         * lib/pipe.c (create_pipe): Likewise.
74537         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74538         resulting array.
74540 2008-09-29  Eric Blake  <ebb9@byu.net>
74542         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74544 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74546         * doc/posix-functions/accept.texi: Update mingw problems.
74547         * doc/posix-functions/bind.texi: Update mingw problems.
74548         * doc/posix-functions/close.texi: Update mingw problems.
74549         * doc/posix-functions/connect.texi: Update mingw problems.
74550         * doc/posix-functions/getpeername.texi: Update mingw problems.
74551         * doc/posix-functions/getsockname.texi: Update mingw problems.
74552         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74553         * doc/posix-functions/ioctl.texi: Update mingw problems.
74554         * doc/posix-functions/listen.texi: Update mingw problems.
74555         * doc/posix-functions/recv.texi: Update mingw problems.
74556         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74557         * doc/posix-functions/select.texi: Update mingw problems.
74558         * doc/posix-functions/send.texi: Update mingw problems.
74559         * doc/posix-functions/sendto.texi: Update mingw problems.
74560         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74561         * doc/posix-functions/socket.texi: Update mingw problems.
74563 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74564             Bruno Haible  <bruno@clisp.org>
74566         * lib/sys_select.in.h: Include sys/time.h.
74567         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74568         * modules/sys_select: Depend on sys_time.
74569         * tests/test-sys_select.c: Test that sys/select.h defines struct
74570         timeval fully.
74572 2008-09-29  Bruno Haible  <bruno@clisp.org>
74574         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74575         * lib/sys_select.in.h: Likewise.
74577 2008-09-29  Bruno Haible  <bruno@clisp.org>
74579         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74581 2008-09-29  Bruno Haible  <bruno@clisp.org>
74583         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74584         Set LIBSOCKET instead of augmenting LIBS.
74585         * modules/sockets (Link): New section.
74586         * modules/sockets-tests (test_sockets_LDADD): New variable.
74587         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74588         * modules/poll-tests (test_poll_LDADD): New variable.
74589         * NEWS: Document the change.
74591 2008-09-29  Bruno Haible  <bruno@clisp.org>
74593         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74594         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74595         ARPA_INET_H directly.
74596         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74598 2008-09-28  Bruno Haible  <bruno@clisp.org>
74600         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74601         from gl_HEADER_SYS_SOCKET.
74602         (gl_HEADER_SYS_SOCKET): Invoke it.
74603         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74605 2008-09-28  Bruno Haible  <bruno@clisp.org>
74607         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74608         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74609         Needed on OSF/1 4.0.
74611 2008-09-28  Bruno Haible  <bruno@clisp.org>
74613         Override open more carefully.
74614         * lib/open.c (orig_open): New function.
74615         (rpl_open): Use orig_open instead of open.
74616         * lib/fcntl.in.h: Add special invocation convention.
74617         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74618         (gl_FUNC_OPEN): Invoke it.
74620         Override freopen more carefully.
74621         * lib/freopen.c (orig_freopen): New function.
74622         (rpl_freopen): Use orig_freopen instead of freopen.
74623         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74624         (gl_FUNC_FREOPEN): Invoke it.
74626         Override fopen more carefully.
74627         * lib/fopen.c (orig_fopen): New function.
74628         (rpl_fopen): Use orig_fopen instead of fopen.
74629         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74630         (gl_FUNC_FOPEN): Invoke it.
74631         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74633 2008-09-28  Bruno Haible  <bruno@clisp.org>
74635         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74636         SIGPIPE.
74638 2008-09-28  Bruno Haible  <bruno@clisp.org>
74640         * tests/test-sigaction.c (handler, main): Disable the check whether
74641         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74642         glibc systems with LinuxThreads.
74644 2008-09-28  Bruno Haible  <bruno@clisp.org>
74646         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74648         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74649         with AIX xlc.
74650         * lib/fcntl.in.h (open): Likewise.
74651         Reported by Rainer Tammer <tammer@tammer.net>.
74653 2008-09-28  Bruno Haible  <bruno@clisp.org>
74655         * modules/posix_spawnp-tests: New file.
74656         * tests/test-posix_spawn.c: New file.
74657         * tests/test-posix_spawn.in.sh: New file.
74659         New module 'posix_spawnp'.
74660         * modules/posix_spawnp: New file.
74661         * lib/spawnp.c: New file, from GNU libc with modifications.
74662         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74664         New module 'posix_spawn'.
74665         * modules/posix_spawn: New file.
74666         * lib/spawn.c: New file, from GNU libc with modifications.
74667         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74669         New module 'posix_spawnattr_destroy'.
74670         * modules/posix_spawnattr_destroy: New file.
74671         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74672         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74673         module.
74675         New module 'posix_spawnattr_setsigmask'.
74676         * modules/posix_spawnattr_setsigmask: New file.
74677         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74678         modifications.
74679         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74680         new module.
74682         New module 'posix_spawnattr_getsigmask'.
74683         * modules/posix_spawnattr_getsigmask: New file.
74684         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74685         modifications.
74686         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74687         new module.
74689         New module 'posix_spawnattr_setsigdefault'.
74690         * modules/posix_spawnattr_setsigdefault: New file.
74691         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74692         modifications.
74693         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74694         new module.
74696         New module 'posix_spawnattr_getsigdefault'.
74697         * modules/posix_spawnattr_getsigdefault: New file.
74698         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74699         modifications.
74700         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74701         new module.
74703         New module 'posix_spawnattr_setschedpolicy'.
74704         * modules/posix_spawnattr_setschedpolicy: New file.
74705         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74706         modifications.
74707         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74708         new module.
74710         New module 'posix_spawnattr_getschedpolicy'.
74711         * modules/posix_spawnattr_getschedpolicy: New file.
74712         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74713         modifications.
74714         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74715         new module.
74717         New module 'posix_spawnattr_setschedparam'.
74718         * modules/posix_spawnattr_setschedparam: New file.
74719         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74720         modifications.
74721         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74722         new module.
74724         New module 'posix_spawnattr_getschedparam'.
74725         * modules/posix_spawnattr_getschedparam: New file.
74726         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74727         modifications.
74728         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74729         new module.
74731         New module 'posix_spawnattr_setpgroup'.
74732         * modules/posix_spawnattr_setpgroup: New file.
74733         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74734         modifications.
74735         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74736         module.
74738         New module 'posix_spawnattr_getpgroup'.
74739         * modules/posix_spawnattr_getpgroup: New file.
74740         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74741         modifications.
74742         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74743         module.
74745         New module 'posix_spawnattr_setflags'.
74746         * modules/posix_spawnattr_setflags: New file.
74747         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74748         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74749         module.
74751         New module 'posix_spawnattr_getflags'.
74752         * modules/posix_spawnattr_getflags: New file.
74753         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74754         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74755         module.
74757         New module 'posix_spawnattr_init'.
74758         * modules/posix_spawnattr_init: New file.
74759         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74760         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74761         module.
74763         New module 'posix_spawn_file_actions_destroy'.
74764         * modules/posix_spawn_file_actions_destroy: New file.
74765         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74766         modifications.
74767         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74768         the new module.
74770         New module 'posix_spawn_file_actions_addopen'.
74771         * modules/posix_spawn_file_actions_addopen: New file.
74772         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74773         modifications.
74774         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74775         the new module.
74777         New module 'posix_spawn_file_actions_adddup2'.
74778         * modules/posix_spawn_file_actions_adddup2: New file.
74779         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74780         modifications.
74781         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74782         the new module.
74784         New module 'posix_spawn_file_actions_addclose'.
74785         * modules/posix_spawn_file_actions_addclose: New file.
74786         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74787         modifications.
74788         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74789         the new module.
74791         New module 'posix_spawn_file_actions_init'.
74792         * modules/posix_spawn_file_actions_init: New file.
74793         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74794         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74795         new module.
74797         New module 'posix_spawn-internal'.
74798         * modules/posix_spawn-internal: New file.
74799         * lib/spawn_int.h: New file, from GNU libc with modifications.
74800         * lib/spawni.c: New file, from GNU libc with modifications.
74801         * m4/posix_spawn.m4: New file.
74803         New module 'spawn'.
74804         * modules/spawn: New file.
74805         * lib/spawn.in.h: New file, from GNU libc with modifications.
74806         * m4/spawn_h.m4: New file.
74807         * doc/posix-headers/spawn.texi: Mention the new module.
74809 2008-09-28  Bruno Haible  <bruno@clisp.org>
74811         * modules/sched-tests: New file.
74812         * tests/test-sched.c: New file.
74814         New module 'sched'.
74815         * modules/sched: New file.
74816         * lib/sched.in.h: New file.
74817         * m4/sched_h.m4: New file.
74818         * doc/posix-headers/sched.texi: Mention the new module.
74820 2008-09-27  Eric Blake  <ebb9@byu.net>
74822         Fix previous patch, and tweak references to $0.
74823         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74824         (func_version, func_gnulib_dir): Don't call this program
74825         gnulib-tool.
74826         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74827         with using $0 in function.
74828         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74829         (func_fatal_error): Reuse the name the user invoked us with.
74831 2008-09-27  Bruno Haible  <bruno@clisp.org>
74833         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74834         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74835         (gl_ICONV_H): Not here.
74836         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74837         instead of assigning ICONV_H directly.
74839         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74840         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74841         WCHAR_H directly.
74843 2008-09-27  Bruno Haible  <bruno@clisp.org>
74845         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74846         * modules/arpa_inet (Depends-on): Add link-warning.
74847         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74848         * modules/unistd (Makefile.am): Likewise.
74850 2008-09-26  Bruno Haible  <bruno@clisp.org>
74852         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74853         variables.
74854         (func_version): Essentially copied from gnulib-tool.
74855         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74856         func_readlink): Copied from gnulib-tool.
74858 2008-09-26  Bruno Haible  <bruno@clisp.org>
74860         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74861         invoking git-version-gen.
74863 2008-09-26  Bruno Haible  <bruno@clisp.org>
74865         * posix-modules: Update to directory names changed on 2008-01-19.
74866         Remove commas in output before splitting into words. No more need to
74867         avoid 'ftruncate' since 2007-02-19.
74869 2008-09-26  Bruno Haible  <bruno@clisp.org>
74871         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74873 2008-09-26  Bruno Haible  <bruno@clisp.org>
74875         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74876         * modules/fwriteerror (Depends-on): Add errno.
74878 2008-09-26  Bruno Haible  <bruno@clisp.org>
74880         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74881         * tests/test-vc-list-files-cvs.sh: Likewise.
74883 2008-09-26  Bruno Haible  <bruno@clisp.org>
74885         * doc/posix-headers/sys_resource.texi: Reorder items.
74887 2008-09-26  Jim Meyering  <meyering@redhat.com>
74889         fts: tweak inode comparison function
74890         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74891         inode numbers, as documented.
74893         fts: sort dirent entries on inode number before traversing
74894         This avoids a quadratic, seek-related performance penalty when
74895         operating on a directory containing many entries (measurable at 10k;
74896         3.5 hours at 2 million entries with a cold cache) on certain types
74897         of file systems, including ext3 and ext4, but not tmpfs.
74898         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74899         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74900         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74901         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74902         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74903         (fts_build): Set the stat.st_ino member from D_INO.
74904         If it is likely to be useful, sort dirent entries on inode number.
74906         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74907         and the struct statfs.f_type member.
74908         * modules/fts (Depends-on): Add d-ino.
74910 2008-09-26  Bruno Haible  <bruno@clisp.org>
74912         * modules/sigpipe-die (Depends-on): Add sigpipe.
74914         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74915         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74916         and GNULIB_STDIO_H_SIGPIPE are set.
74917         * lib/stdio-write.c: New file.
74918         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74919         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74920         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74921         REPLACE_STDIO_WRITE_FUNCS.
74922         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74923         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74924         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74925         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74926         * modules/stdio (Files): Add lib/stdio-write.c.
74927         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74928         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74929         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74930         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74931         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74932         REPLACE_FPRINTF_POSIX.
74933         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74934         REPLACE_PRINTF_POSIX.
74935         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74936         REPLACE_VFPRINTF_POSIX.
74937         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74938         REPLACE_VPRINTF_POSIX.
74939         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74940         SIGPIPE issue.
74941         * doc/posix-functions/fputc.texi: Likewise.
74942         * doc/posix-functions/fputs.texi: Likewise.
74943         * doc/posix-functions/fwrite.texi: Likewise.
74944         * doc/posix-functions/printf.texi: Likewise.
74945         * doc/posix-functions/putc.texi: Likewise.
74946         * doc/posix-functions/putchar.texi: Likewise.
74947         * doc/posix-functions/puts.texi: Likewise.
74948         * doc/posix-functions/vfprintf.texi: Likewise.
74949         * doc/posix-functions/vprintf.texi: Likewise.
74951         * modules/safe-write (Depends-on): Add write.
74953         * modules/sigpipe-tests: New file.
74954         * tests/test-sigpipe.c: New file.
74955         * tests/test-sigpipe.sh: New file.
74957         * modules/write: New file.
74958         * lib/unistd.in.h: Include <sys/types.h>.
74959         (write): New declaration.
74960         * lib/write.c: New file.
74961         * m4/write.m4: New file.
74962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74963         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74964         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74965         GNULIB_WRITE, REPLACE_WRITE.
74966         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74967         and the SIGPIPE issue.
74969         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74970         (raise): New declaration.
74971         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74972         (ext_signal): New function.
74973         (rpl_raise): New function.
74974         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74975         GNULIB_SIGNAL_H_SIGPIPE.
74976         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74977         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74979         * modules/sigpipe: New file.
74980         * m4/sigpipe.m4: New file.
74982 2008-09-25  Derek Price  <derek@ximbiot.com>
74983             Bruno Haible  <bruno@clisp.org>
74985         * gnulib-tool (func_import): Report all license incompatibilities, not
74986         just the first one.
74988 2008-09-25  Bruno Haible  <bruno@clisp.org>
74990         * gnulib-tool (func_import): When computing the edits, consider not
74991         only the Makefile.ams that exist but also those that will be generated.
74993 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74995         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74996         fixes gnulib-tool --test warning about duplicate dependency.
74998 2008-09-25  Bruno Haible  <bruno@clisp.org>
75000         * gnulib-tool: Don't ask the user to perform edits in the generated
75001         Makefile.ams.
75002         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
75003         apply to the Makefile.am being generated.
75004         (func_emit_tests_Makefile_am): Execute edits that apply to the
75005         Makefile.am being generated.
75006         (func_import): Setup list of Makefile.am edits before emitting the
75007         Makefile.ams, not at the end.
75008         (func_create_testdir): Update.
75009         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75011 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75013         * gnulib-tool (func_import): Store the --tests-base option in the
75014         comment in gnulib-cache.m4.
75016 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
75018         * NEWS: Document increased portability that sys_select now provides.
75020         * lib/sys_select.in.h: Install select wrapper.
75021         * lib/sys_socket.in.h: Use more descriptive name when there is no
75022         select wrapper.
75023         * lib/winsock-select.c: New.
75024         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
75025         Require gl_HEADER_SYS_SOCKET.
75026         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
75027         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
75028         * tests/test-sys_select.c: Add functional tests.
75030 2008-09-24  Eric Blake  <ebb9@byu.net>
75032         open, fopen: close fd leak in last patch
75033         * lib/open.c (rpl_open): Close fd before returning error.
75034         * lib/fopen.c (rpl_fopen): Close fd before returning error.
75035         * doc/posix-functions/open.texi (open): Document that Irix also
75036         has the bug.
75037         * doc/posix-functions/fopen.texi (fopen): Likewise.
75038         Reported by Paolo Bonzini.
75040 2008-09-24  Bruno Haible  <bruno@clisp.org>
75042         Ensure that a filename ending in a slash cannot be used to access a
75043         non-directory.
75044         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
75045         to check whether it's really a directory.
75046         * lib/fopen.c: Include fcntl.h, unistd.h.
75047         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
75048         and fdopen().
75049         * modules/fopen (Depends-on): Add unistd.
75050         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
75051         * tests/test-fopen.c (main): Likewise.
75052         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
75053         * doc/posix-functions/fopen.texi: Likewise.
75054         Reported by Eric Blake.
75056 2008-09-23  Eric Blake  <ebb9@byu.net>
75058         c-stack: avoid compiler optimizations when provoking overflow
75059         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
75060         recursion harder to optimize, to ensure a stack overflow occurs.
75061         * tests/test-c-stack.c (recurse): Likewise.
75062         Borrowed from libsigsegv.
75064         c-stack: work around Irix sigaltstack bug
75065         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
75066         whether sigaltstack uses wrong end of stack_t (copied in part from
75067         libsigsegv).
75068         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
75069         Irix bug, without requiring an over-allocation.
75070         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
75071         bug.
75073         fopen: document mingw bug on directories
75074         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
75075         not allowing a stream visiting a directory, even though reading
75076         from such a stream is not portable.
75078 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75080         * lib/poll.c: Rewrite.
75081         * modules/poll: Depend on alloca.
75083 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75085         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
75086         instead define prototypes for a full set of wrappers.  Ensure
75087         that Cygwin does not use the compatibility code, which is only
75088         for MinGW.
75089         * lib/winsock.c: New.
75090         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
75091         * modules/sys_socket: Add lib/winsock.c.
75093         * modules/poll-tests: Add errno and perror.
75094         * tests/test-poll.c: Use ioctl, not ioctlsocket.
75096 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75098         * tests/test-poll.c: Downgrade minimum needed Winsock version.
75100 2008-09-23  Bruno Haible  <bruno@clisp.org>
75102         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
75103         * doc/glibc-functions/*: Likewise.
75105 2008-09-23  Simon Josefsson  <simon@josefsson.org>
75107         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
75108         success.
75110 2008-09-22  Eric Blake  <ebb9@byu.net>
75111             Bruno Haible  <bruno@clisp.org>
75113         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
75114         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
75115         supply %A but mishandle pseudo-NaN.
75116         Reported by Simon Josefsson.
75118 2008-09-21  Bruno Haible  <bruno@clisp.org>
75120         * tests/test-lock.c (main): Tweak skip message.
75121         * tests/test-tls.c (main): Likewise.
75123 2008-09-21  Bruno Haible  <bruno@clisp.org>
75125         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
75126         whether 'struct sigaction' has sa_sigaction here...
75127         (gl_PREREQ_SIG_HANDLER_H): ... not here.
75128         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
75130 2008-09-21  Bruno Haible  <bruno@clisp.org>
75132         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
75133         section.
75134         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
75135         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
75136         the new section.
75137         (Support for obsolete systems lacking POSIX:2001): New section.
75138         (String handling <string.h>): Move strdup to the new section.
75139         Suggested by Simon Josefsson and Paolo Bonzini.
75141 2008-09-21  Bruno Haible  <bruno@clisp.org>
75143         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
75144         exponents in %e and %g results on 'long double'. Needed for mingw's
75145         improved *printf functions.
75146         * tests/test-vasprintf-posix.c (test_function): Likewise.
75147         * tests/test-snprintf-posix.h (test_function): Likewise.
75148         * tests/test-sprintf-posix.h (test_function): Likewise.
75149         Reported by Eric Blake.
75151 2008-09-21  Bruno Haible  <bruno@clisp.org>
75153         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
75154         * tests/test-sprintf-posix.h (test_function): Likewise.
75156 2008-09-21  Bruno Haible  <bruno@clisp.org>
75158         * modules/getpass (Depends-on): Add strdup-posix.
75160         New module 'strdup-posix'.
75161         * modules/strdup-posix: New file.
75162         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
75163         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
75164         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75165         REPLACE_STRDUP.
75166         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
75167         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
75168         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75169         strdup-posix.
75171         * modules/strdup (Depends-on): Remove malloc-posix.
75173 2008-09-20  Bruno Haible  <bruno@clisp.org>
75175         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
75176         Wildenhues.
75178 2008-09-20  Bruno Haible  <bruno@clisp.org>
75180         Ensure that wint_t gets defined on IRIX 5.3.
75181         * lib/wchar.in.h (wint_t): Define if not defined by the system.
75182         * lib/wctype.in.h (wint_t): Likewise.
75183         (__wctype_wint_t): Remove type.
75184         (isw*): Use wint_t instead of __wctype_wint_t.
75185         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
75186         * modules/wchar (Files): Add m4/wint_t.m4.
75187         (Makefile.am): Substitute HAVE_WINT_T.
75188         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
75189         * tests/test-wctype.c: Check that wint_t is defined.
75190         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
75191         * doc/posix-headers/wctype.texi: Likewise.
75192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75194 2008-09-18  Bruno Haible  <bruno@clisp.org>
75196         * gnulib-tool (func_exit): Update comment.
75198 2008-09-18  Simon Josefsson  <simon@josefsson.org>
75200         * modules/getaddrinfo (Depends-on): Remove strdup, this module
75201         assumes strdup exists and does not depend on strdup to return
75202         ENOMEM on out of memory conditions.
75204 2008-09-18  Bruno Haible  <bruno@clisp.org>
75206         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
75207         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
75208         digits for the exponent.
75210 2008-09-18  Jim Meyering  <meyering@redhat.com>
75211             Bruno Haible  <bruno@clisp.org>
75213         * lib/vasnprintf.c (decimal_point_char): Define also if
75214         NEED_PRINTF_INFINITE_LONG_DOUBLE.
75216 2008-09-16  Bruno Haible  <bruno@clisp.org>
75217         and Eric Blake  <ebb9@byu.net>
75219         vasnprintf: support Irix 5.3
75220         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
75221         that mishandle long double infinity.
75222         Reported by Tom G. Christensen.
75224 2008-09-16  Bruno Haible  <bruno@clisp.org>
75226         * doc/glibc-functions/scandir.texi: Mention the function is missing on
75227         Solaris 9.
75228         * doc/glibc-functions/alphasort.texi: Likewise.
75229         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
75231 2008-09-16  Jim Meyering  <meyering@redhat.com>
75233         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
75234         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
75235         a umask modification leak out of a subshell.  Otherwise, the
75236         opensolaris /bin/sh would be accepted and thus cause unwarranted
75237         failures in the coreutils test suite.
75239 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
75241         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
75242         to succeed.
75244 2008-09-16  Jim Meyering  <meyering@redhat.com>
75246         avoid spurious test failure when library is built without ACL support
75247         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
75248         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
75249         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
75250         * tests/test-copy-acl.sh: Likewise.
75252 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75254         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
75255         based on character occurrence counts.
75257 2008-09-15  Eric Blake  <ebb9@byu.net>
75259         tests: avoid some compiler warnings
75260         * tests/test-memchr.c (main): Pass NULL indirectly.
75261         * tests/test-closein.c (main): Avoid unused variable.
75263 2008-09-15  Bruno Haible  <bruno@clisp.org>
75265         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
75266         are missing on OpenBSD 4.0 individually.
75267         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75269 2008-09-15  Bruno Haible  <bruno@clisp.org>
75271         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
75272         * doc/posix-functions/strerror.texi: Mention also Cygwin.
75273         * doc/posix-functions/perror.texi: Likewise.
75274         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
75275         is missing.
75276         Reported by Eric Blake.
75278         * lib/errno.in.h: Use replacement values >= 2000.
75279         Reported by Eric Blake.
75281 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75283         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
75284         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
75285         limit.
75286         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
75287         compareseq was aborted.
75289 2008-09-14  Bruno Haible  <bruno@clisp.org>
75291         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
75292         yvec_edit_count.
75293         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
75294         (fstrcmp_bounded): Simplify result computation accordingly.
75296 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75298         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
75299         (fstrcmp): Define in terms of fstrcmp_bounded.
75300         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
75301         lower_bound argument.
75302         Return quickly if the result is certainly < lower_bound.
75303         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
75305 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75307         * lib/diffseq.h (EARLY_ABORT): New macro.
75308         (compareseq): Change return type to bool. Return true when EARLY_ABORT
75309         evaluates to true.
75311 2008-09-14  Bruno Haible  <bruno@clisp.org>
75313         * modules/perror-tests: New file.
75314         * tests/test-perror.sh: New file.
75315         * tests/test-perror.c: New file.
75317         New module 'perror'.
75318         * lib/stdio.in.h (perror): New declaration.
75319         * lib/perror.c: New file.
75320         * m4/perror.m4: New file.
75321         * modules/perror: New file.
75322         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
75323         * doc/posix-functions/perror.texi: Mention the perror module.
75324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
75325         REPLACE_PERROR.
75326         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
75327         REPLACE_PERROR.
75329 2008-09-14  Bruno Haible  <bruno@clisp.org>
75331         * modules/stdio (Makefile.am): Reorder to match the order in
75332         lib/stdio.in.h.
75333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
75335 2008-09-13  Bruno Haible  <bruno@clisp.org>
75337         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
75339 2008-09-13  Bruno Haible  <bruno@clisp.org>
75341         Extend strerror to cover the added errno values.
75342         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
75343         (rpl_strerror): Provide error messages for the added errno values and
75344         for the WSA* values.
75345         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
75346         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
75347         strerror.
75348         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
75349         * modules/strerror (Depends-on): Add errno.
75350         * doc/posix-functions/strerror.texi: Document the change.
75351         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
75352         and EOVERFLOW.
75354 2008-09-13  Bruno Haible  <bruno@clisp.org>
75356         * modules/EOVERFLOW: Remove file.
75357         * m4/eoverflow.m4: Remove file.
75358         * modules/EOVERFLOW-tests: Remove file.
75359         * tests/test-EOVERFLOW.c: Remove file.
75360         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
75361         * modules/ftell (Depends-on): Likewise.
75362         * modules/getdelim (Depends-on): Likewise.
75363         * modules/getugroups (Depends-on): Likewise.
75364         * modules/poll (Depends-on): Likewise.
75365         * modules/snprintf (Depends-on): Likewise.
75366         * modules/sprintf-posix (Depends-on): Likewise.
75367         * modules/vasnprintf (Depends-on): Likewise.
75368         * modules/vasprintf (Depends-on): Likewise.
75369         * modules/vfprintf-posix (Depends-on): Likewise.
75370         * modules/vsnprintf (Depends-on): Likewise.
75371         * modules/vsprintf-posix (Depends-on): Likewise.
75372         * modules/xvasprintf (Depends-on): Likewise.
75373         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
75374         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
75375         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
75376         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
75377         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
75378         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
75379         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
75380         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
75381         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
75382         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
75383         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
75384         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
75385         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
75386         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
75387         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
75388         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
75389         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
75390         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
75391         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
75392         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
75393         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
75394         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
75395         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
75396         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
75397         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
75398         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
75399         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
75400         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
75401         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
75402         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
75403         * MODULES.html.sh: Remove EOVERFLOW.
75404         * NEWS: Mention the change.
75406 2008-09-13  Bruno Haible  <bruno@clisp.org>
75408         * modules/errno-tests: New file.
75409         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
75411         * lib/errno.in.h: New file.
75412         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
75413         * modules/errno: New file.
75414         * doc/posix-headers/errno.texi: Update documentation.
75415         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
75417 2008-09-13  Bruno Haible  <bruno@clisp.org>
75419         * tests/test-poll.c: Use #if for native Windows, rather than testing
75420         __MSVCRT__.
75422 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75423             Bruno Haible  <bruno@clisp.org>
75425         * lib/glob.c: Don't include <pwd.h> on native Windows.
75426         (WINDOWS32): New macro.
75427         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
75429 2008-09-13  Bruno Haible  <bruno@clisp.org>
75431         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
75432         (ETIMEDOUT): Remove macro.
75433         (glthread_cond_timedwait_multithreaded): New declaration.
75434         (glthread_cond_timedwait): Use it.
75435         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
75436         (glthread_cond_timedwait_multithreaded): New function.
75438 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75440         * modules/poll-tests: Do not check for io.h.
75441         * tests/test-poll.c: Check for __MSVCRT__ instead.
75443 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75445         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
75446         * modules/poll-tests: Add inet_pton, stdbool, sockets.
75447         * tests/test-poll.c: Use them.  Use _pipe on Windows.
75449 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75451         * modules/poll-tests: New.
75452         * tests/test-poll.c: New.
75454 2008-09-12  Eric Blake  <ebb9@byu.net>
75456         frexp: test for NetBSD failure on -0.0
75457         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
75458         not all, bugs from NetBSD 3.0 have been fixed.
75459         * doc/posix-functions/frexp.texi (frexp): Document bug.
75460         Reported by Thomas Klausner.
75462         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
75463         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
75464         literal -0.0.
75465         Reported by Jonathan C. Patschke <jp@centtech.com>.
75467 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75469         * lib/glthread/cond.h: Use dummy implementation also if
75470         USE_WIN32_THREADS.
75472 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75474         * modules/fnmatch-posix (License): Change to LGPLv2+.
75475         * modules/fnmatch-gnu (License): Likewise.
75477 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75479         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75481 2008-09-11  Jim Meyering  <meyering@redhat.com>
75483         * users.txt: Add gtk-vnc.
75485 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75487         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75488         rotate amounts.
75490         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75491         required for 16-bit and 8-bit rotates.
75492         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75493         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75494         UINT8_MAX instead of hard-coded constants.
75495         Suggested by Paul Eggert.
75497 2008-09-07  Bruno Haible  <bruno@clisp.org>
75499         * tests/test-striconveh.c (main): Check behaviour when converting from
75500         UTF-7.
75502         Make striconveh work better with stateful encodings.
75503         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75504         that iconv does not increment the inptr when returning -1/EINVAL.
75506 2008-09-07  Bruno Haible  <bruno@clisp.org>
75508         * build-aux/config.rpath: Update according to libtool-2.2.6.
75509         * build-aux/config.libpath: Likewise.
75511 2008-09-06  Bruno Haible  <bruno@clisp.org>
75513         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75514         * lib/freadptr.c (freadptr): Likewise.
75515         * lib/freadseek.c (freadptrinc): Likewise.
75516         Reported by Simon Josefsson.
75518 2008-09-06  Bruno Haible  <bruno@clisp.org>
75520         * modules/freadptr (License): Change to LGPLv2+.
75521         * modules/freadseek (License): Likewise.
75522         Suggested by Eric Blake.
75524         * modules/memchr2 (License): Change to LGPLv2+.
75525         Approved by Eric Blake.
75527 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75528             Bruno Haible  <bruno@clisp.org>
75530         Make gnulib-tool work with native 'sed' on AIX.
75531         * gnulib-tool (sed_noop): New variable.
75532         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75533         func_add_or_update, func_create_testdir): Use it to initialize sed
75534         script variables.
75535         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75537 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75538             Bruno Haible  <bruno@clisp.org>
75540         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75541         also works after #include directives.
75543 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75545         getdate.y: reject an out-of-range timezone value
75546         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75547         the range [-24...+24].  When specified with only one or two digits,
75548         * tests/test-getdate.c: Tests for the fix.
75549         * doc/getdate.texi: Document this change.
75551 2008-09-03  Bruno Haible  <bruno@clisp.org>
75553         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75555 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75557         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75558         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75559         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75560         Blake <ebb9@byu.net>.
75562         * tests/test-bitrotate.c: Add more test vectors.
75564 2008-09-02  Eric Blake  <ebb9@byu.net>
75566         vasnprintf-posix: handle large precision via %.*d
75567         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75568         when handling it ourselves.
75569         * tests/test-vasnprintf-posix.c (test_function): Add test.
75570         * tests/test-snprintf-posix.h (test_function): Likewise.
75571         * tests/test-sprintf-posix.h (test_function): Likewise.
75572         * tests/test-vasprintf-posix.c (test_function): Likewise.
75573         Reported by Alain Guibert.
75575 2008-09-01  Eric Blake  <ebb9@byu.net>
75577         c-stack: make configure-time check more robust
75578         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75579         successful sigaction call.
75580         Reported by Tom G. Christensen.
75582 2008-09-01  Bruno Haible  <bruno@clisp.org>
75584         New module 'findprog-lgpl'.
75585         * modules/findprog-lgpl: New file.
75586         * lib/findprog-lgpl.c: New file.
75587         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75588         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75589         to decide whether to use strdup or xstrdup, concatenated_filename or
75590         xconcatenated_filename.
75592 2008-09-01  Bruno Haible  <bruno@clisp.org>
75594         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75595         'xconcat-filename' (GPL).
75596         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75597         (License): Change to LGPLv2+.
75598         * modules/xconcat-filename: New file.
75599         * lib/concat-filename.h (concatenated_filename): Change specification.
75600         (xconcatenated_filename): New declaration.
75601         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75602         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75603         memory situations.
75604         * lib/xconcat-filename.c: New file.
75605         * NEWS: Mention the change.
75606         * lib/findprog.c: Include concat-filename.h, not filename.h.
75607         (find_in_path): Use xconcatenated_filename instead of
75608         concatenated_filename.
75609         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75610         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75611         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75612         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75613         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75614         instead of concatenated_filename.
75615         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75616         (execute_java_class): Use xconcatenated_filename instead of
75617         concatenated_filename.
75618         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75619         * modules/javacomp (Depends-on): Likewise.
75620         * modules/javaexec (Depends-on): Likewise.
75622 2008-09-01  Bruno Haible  <bruno@clisp.org>
75624         Split module 'filename' into 'filename' and 'concat-filename'.
75625         * modules/filename: Keep only lib/filename.h.
75626         (License): Change to LGPLv2+.
75627         * modules/concat-filename: New file, extracted from modules/filename.
75628         * lib/filename.h (concatenated_filename): Remove declaration.
75629         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75630         * lib/concat-filename.c: Include concat-filename.h.
75631         * NEWS: Mention the change.
75633 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75635         * lib/bitrotate.h (rotl8, rotr8): Add.
75637         * modules/bitrotate (configure.ac): Need
75638         AC_REQUIRE([AC_C_INLINE]).
75639         (Description): Mention stdint.h.  Reported by Bruno Haible
75640         <bruno@clisp.org>.
75642         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75643         Paolo Bonzini <bonzini@gnu.org>.
75645 2008-08-31  Bruno Haible  <bruno@clisp.org>
75647         Assume Solaris specific bi-arch conventions on Solaris systems.
75648         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75649         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75650         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75651         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75652         like acl_libdirstem.
75653         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75654         acl_libdirstem.
75655         * NEWS: Mention the change.
75656         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75658 2008-08-31  Jim Meyering  <meyering@redhat.com>
75660         * lib/strftime.h: Add comments describing the two added arguments.
75662         remove duplicate #include directives
75663         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75664         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75666 2008-08-31  Bruno Haible  <bruno@clisp.org>
75668         New module 'sigpipe-die'.
75669         * modules/sigpipe-die: New file.
75670         * lib/sigpipe-die.h: New file.
75671         * lib/sigpipe-die.c: New file.
75672         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75674 2008-08-31  Bruno Haible  <bruno@clisp.org>
75676         Don't override previously installed signal handlers.
75677         * lib/fatal-signal.c (saved_sigactions): New variable.
75678         (uninstall_handlers): Reset the signal to the saved handler, not
75679         to SIG_DFL (except when ignored).
75680         (install_handlers): Save the previous handlers.
75682 2008-08-30  Bruno Haible  <bruno@clisp.org>
75684         * gnulib-tool (func_reset_sigpipe): New function.
75685         (func_get_automake_snippet, func_modules_transitive_closure,
75686         func_import): Invoke it before a join command that reads from stdin,
75687         to avoid "echo: write error: Broken pipe" error messages on stderr.
75688         Reported by Sam Steingold <sds@gnu.org>.
75690 2008-08-30  Bruno Haible  <bruno@clisp.org>
75692         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75693         Code copied from m4/open.m4.
75694         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75695         access and the filename ends in a slash. Code copied from lib/open.c.
75696         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75697         * tests/test-fopen.c (main): Check against bug with trailing slash.
75699 2008-08-29  Bruno Haible  <bruno@clisp.org>
75701         Avoid some "gcc -pedantic" warnings.
75702         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75703         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75704         * lib/dirent.in.h: Likewise.
75705         * lib/fcntl.in.h: Likewise.
75706         * lib/float.in.h: Likewise.
75707         * lib/iconv.in.h: Likewise.
75708         * lib/inttypes.in.h: Likewise.
75709         * lib/locale.in.h: Likewise.
75710         * lib/math.in.h: Likewise.
75711         * lib/netinet_in.in.h: Likewise.
75712         * lib/search.in.h: Likewise.
75713         * lib/signal.in.h: Likewise.
75714         * lib/stdarg.in.h: Likewise.
75715         * lib/stdint.in.h: Likewise.
75716         * lib/stdio.in.h: Likewise.
75717         * lib/stdlib.in.h: Likewise.
75718         * lib/string.in.h: Likewise.
75719         * lib/strings.in.h: Likewise.
75720         * lib/sys_select.in.h: Likewise.
75721         * lib/sys_socket.in.h: Likewise.
75722         * lib/sys_stat.in.h: Likewise.
75723         * lib/sys_time.in.h: Likewise.
75724         * lib/sysexits.in.h: Likewise.
75725         * lib/time.in.h: Likewise.
75726         * lib/unistd.in.h: Likewise.
75727         * lib/wchar.in.h: Likewise.
75728         * lib/wctype.in.h: Likewise.
75729         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75730         * modules/fchdir (Makefile.am): Likewise.
75731         * modules/fcntl (Makefile.am): Likewise.
75732         * modules/float (Makefile.am): Likewise.
75733         * modules/iconv_open (Makefile.am): Likewise.
75734         * modules/inttypes (Makefile.am): Likewise.
75735         * modules/locale (Makefile.am): Likewise.
75736         * modules/math (Makefile.am): Likewise.
75737         * modules/netinet_in (Makefile.am): Likewise.
75738         * modules/search (Makefile.am): Likewise.
75739         * modules/signal (Makefile.am): Likewise.
75740         * modules/stdarg (Makefile.am): Likewise.
75741         * modules/stdint (Makefile.am): Likewise.
75742         * modules/stdio (Makefile.am): Likewise.
75743         * modules/stdlib (Makefile.am): Likewise.
75744         * modules/string (Makefile.am): Likewise.
75745         * modules/strings (Makefile.am): Likewise.
75746         * modules/sys_select (Makefile.am): Likewise.
75747         * modules/sys_socket (Makefile.am): Likewise.
75748         * modules/sys_stat (Makefile.am): Likewise.
75749         * modules/sys_time (Makefile.am): Likewise.
75750         * modules/sysexits (Makefile.am): Likewise.
75751         * modules/time (Makefile.am): Likewise.
75752         * modules/unistd (Makefile.am): Likewise.
75753         * modules/wchar (Makefile.am): Likewise.
75754         * modules/wctype (Makefile.am): Likewise.
75755         Reported by Reuben Thomas <rrt@sc3d.org>.
75757 2008-08-29  Bruno Haible  <bruno@clisp.org>
75759         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75760         any more.
75762 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75764         * MODULES.html.sh (Misc): Add bitrotate.
75766         * modules/bitrotate: New file.
75768         * lib/bitrotate.h: New file.
75770         * modules/bitrotate-tests: New file.
75772         * tests/test-bitrotate.c: New file.
75774         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75775         on the bitrotate module.
75777         * lib/arctwo.c: Use new bitrotate module.
75779 2008-08-29  Jim Meyering  <meyering@redhat.com>
75781         bootstrap: merge changes from coreutils
75782         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75783         of copied files.  Remove a kludge, now that this is fixed.
75784         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75785         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75786         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75788 2008-08-29  Bruno Haible  <bruno@clisp.org>
75790         * MODULES.html.sh: Remove --cvs-urls option.
75792 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75794         maint.mk: adjust to file name change
75795         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75797 2008-08-28  Jim Meyering  <meyering@redhat.com>
75799         * modules/getndelim2 (License): Relicense to LGPLv2+.
75800         Approved by Richard Stallman for the version of 1995, and by
75801         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75803 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75805         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75806         dummy if one is not available.  Do not touch them if
75807         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75808         (getc_maybe_unlocked): New.
75809         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75811 2008-08-26  Eric Blake  <ebb9@byu.net>
75813         doc/INSTALL: resync from autoconf
75814         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75815         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75816         moving...
75817         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75818         * INSTALL: Regenerate.
75819         * INSTALL.ISO: New file.
75820         * INSTALL.UTF-8: Likewise.
75822 2008-08-26  Jim Meyering  <meyering@redhat.com>
75824         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75825         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75826         these definitions conditional, so that they may be overridden, too.
75828 2008-08-26  Bruno Haible  <bruno@clisp.org>
75830         Generate INSTALL file variants with prettier quotes.
75831         * doc/Makefile (INSTALL_PRELUDE): New macro.
75832         (INSTALL): Use it.
75833         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75835 2008-08-26  Bruno Haible  <bruno@clisp.org>
75837         Run makeinfo in an English locale.
75838         * doc/Makefile (MAKEINFO): New variable.
75840 2008-08-26  Bruno Haible  <bruno@clisp.org>
75842         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75843         Suggested by Eric Blake.
75845 2008-08-25  Bruno Haible  <bruno@clisp.org>
75847         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75849 2008-08-25  Eric Blake  <ebb9@byu.net>
75851         c-stack: test that stack overflow can be caught
75852         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75853         that platform allows handling stack overflow; at least OS/2 EMX
75854         has sigaltstack, but crashes before transferring control to
75855         handler on stack overflow.
75856         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75857         check for HAVE_STACK_OVERFLOW_HANDLING.
75858         Reported by Elbert Pol.
75860 2008-08-25  Bruno Haible  <bruno@clisp.org>
75862         * doc/posix-functions/strftime.texi: Fix description of strftime
75863         module.
75865 2008-08-24  Bruno Haible  <bruno@clisp.org>
75867         * tests/uniwidth/test-uc_width2.c: New file.
75868         * tests/uniwidth/test-uc_width2.sh: New file.
75869         * modules/uniwidth/width-tests (Files): Add the new files.
75870         (TESTS): Add uniwidth/test-uc_width2.sh.
75871         (TESTS_ENVIRONMENT): New variable.
75872         (check_PROGRAMS): Add test-uc_width2.
75873         (test_uc_width2_SOURCES): New variable.
75875         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75876         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75877         not 0x00AB.
75878         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75880 2008-08-22  Eric Blake  <ebb9@byu.net>
75882         test-lock, test-tls: mention why a test is skipped
75883         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75884         skipped.
75885         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75887         count-one-bits: relax license
75888         * modules/count-one-bits (License): Relicense to LGPLv2+.
75889         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75891 2008-08-22  Andreas Schwab  <schwab@suse.de>
75893         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75894         Remove spurious space in assignment.
75896 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75898         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75899         Paul Eggert <eggert@CS.UCLA.EDU>.
75901 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75903         * modules/gettext: Add m4/threadlib.m4.
75905 2008-08-19  Eric Blake  <ebb9@byu.net>
75907         test-c-stack: fix compilation failure on FreeBSD 5.0
75908         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75909         headers before <sys/resource.h>.
75910         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75911         the bug.
75912         Reported by Nelson H. F. Beebe.
75914         strverscmp: migrate from "strverscmp.h" to <string.h>
75915         * modules/string (Makefile.am): Add new hooks.
75916         * modules/strverscmp (Files): Remove strverscmp.h.
75917         (Depends-on): Add string.
75918         (configure.ac): Add indicator.
75919         (Include): Mention new header.
75920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75921         defaults.
75922         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75923         results.
75924         * lib/strverscmp.h: Delete.
75925         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75926         * tests/test-strverscmp.c (includes): Adjust client.
75927         * lib/check-version.c (includes): Likewise.
75928         * NEWS: Document the change.
75930         strverscmp: add unit test
75931         * modules/strverscmp-tests: New file.
75932         * tests/test-strverscmp.c: Likewise.
75934 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75936         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75937         regarding Windows crypto stuff, from Mono.
75939 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75941         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75942         if present, for intel RND.  Return error on failures.
75944 2008-08-18  Ben Pfaff  <blp@gnu.org>
75946         gitlog-to-changelog: give better diagnostic for failed pipe-open
75947         * build-aux/gitlog-to-changelog: Improve error message: suggest
75948         that the version of Git may be too old.
75950 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75952         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75953         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75955 2008-08-18  Bruno Haible  <bruno@clisp.org>
75957         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75958         pthread_in_use().
75960 2008-08-18  Bruno Haible  <bruno@clisp.org>
75962         * lib/glthread/threadlib.c: Include <pthread.h>.
75964 2008-08-18  Bruno Haible  <bruno@clisp.org>
75966         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75967         glthread_recursive_lock_* macros.
75968         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75969         Fix syntax error.
75971 2008-08-18  Bruno Haible  <bruno@clisp.org>
75973         * lib/glthread/thread.c: Avoid forcing a context switch right after
75974         thread creation.
75976 2008-08-17  Bruno Haible  <bruno@clisp.org>
75978         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75979         * lib/glthread/thread.h: Provide Win32 specific implementation.
75980         * modules/thread (Files): Add lib/glthread/thread.c.
75981         (Depends-on): Add lock.
75982         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75984 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75986         New module 'yield'.
75987         * modules/yield: New file.
75988         * lib/glthread/yield.h: New file.
75989         * m4/yield.m4: New file.
75990         * MODULES.html.sh (Multithreading): Add yield.
75992 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75994         New module 'thread'.
75995         * modules/thread: New file.
75996         * lib/glthread/thread.h: New file.
75997         * m4/thread.m4: New file.
75998         * MODULES.html.sh (Multithreading): Add thread.
76000 2008-08-17  Bruno Haible  <bruno@clisp.org>
76002         * lib/glthread/lock.h: Include <stdlib.h> always.
76003         * lib/glthread/tls.h: Likewise.
76004         * lib/glthread/cond.h: Likewise.
76006 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76008         New module 'cond'.
76009         * modules/cond: New file.
76010         * lib/glthread/cond.h: New file.
76011         * lib/glthread/cond.c: New file.
76012         * m4/cond.m4: New file.
76013         * MODULES.html.sh (Multithreading): Add cond.
76015 2008-08-16  Eric Blake  <ebb9@byu.net>
76017         c-stack: fix regression on Irix 5.3 from 2008-06-21
76018         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
76019         sa_sigaction...
76020         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
76021         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
76022         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
76023         * modules/signal (Makefile.am): Use the value.
76024         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
76025         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
76026         * doc/posix-headers/signal.texi (signal.h): Document this
76027         portability issue.
76028         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
76029         Reported by Tom G. Christensen.
76031 2008-08-17  Bruno Haible  <bruno@clisp.org>
76033         New module 'threadlib'.
76034         * modules/threadlib: New file.
76035         * lib/glthread/threadlib.c: New file, extracted from
76036         lib/glthread/lock.c.
76037         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
76038         functions.
76039         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
76040         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
76041         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
76042         macros.
76043         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
76044         (gl_DISABLE_THREADS): Remove macro.
76045         * modules/lock (Files): Remove build-aux/config.rpath.
76046         (Depends-on): Remove havelib. Add threadlib.
76047         (configure.ac-early): Remove section.
76048         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
76049         * modules/tls (Depends-on): Remove lock. Add threadlib.
76050         (Link): New section, copied from threadlib.
76051         * MODULES.html.sh (Multithreading): Add threadlib.
76053 2008-08-14  Bruno Haible  <bruno@clisp.org>
76055         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
76056         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
76057         glthread_rwlock_unlock, glthread_rwlock_destroy,
76058         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
76059         glthread_recursive_lock_destroy): Define as macros always.
76060         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
76061         glthread_lock_lock.
76062         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
76063         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
76064         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
76065         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
76066         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
76067         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
76068         (glthread_recursive_lock_lock_func): Renamed from
76069         glthread_recursive_lock_lock.
76070         (glthread_recursive_lock_unlock_func): Renamed from
76071         glthread_recursive_lock_unlock.
76072         (glthread_recursive_lock_destroy_func): Renamed from
76073         glthread_recursive_lock_destroy.
76075 2008-08-14  Bruno Haible  <bruno@clisp.org>
76077         * lib/glthread/lock.h: Renamed from lib/lock.h.
76078         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
76079         * lib/glthread/tls.h: Renamed from lib/tls.h.
76080         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
76081         * lib/fstrcmp.c: Update includes.
76082         * lib/strsignal.c: Update includes.
76083         * modules/lock (Files, Makefile.am): Update.
76084         (Include): Change to "glthread/lock.h".
76085         * modules/tls (Files, Makefile.am): Update.
76086         (Include): Change to "glthread/tls.h".
76087         * tests/test-lock.c: Update includes.
76088         * tests/test-tls.c: Update includes.
76089         * NEWS: Mention the renamed header files.
76091 2008-08-11  Jim Meyering  <meyering@redhat.com>
76093         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
76095 2008-08-11  Eric Blake  <ebb9@byu.net>
76097         test-c-stack: avoid C99-ism
76098         * tests/test-c-stack.c (main): Fix whitespace, move declaration
76099         before statement.
76100         Reported by Alain Guibert.
76102 2008-08-10  Jim Meyering  <meyering@redhat.com>
76104         ensure that return value of uinttostr et al are not ignored
76105         * lib/inttostr.h (__GNUC_PREREQ): Define.
76106         (__attribute_warn_unused_result__): Define.
76107         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
76109 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
76111         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
76112         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
76114 2008-08-07  Jim Meyering  <meyering@redhat.com>
76116         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
76118         * modules/mkstemp (License): Relicense under LGPLv2+.
76119         * modules/tempname (License): Likewise.
76121 2008-08-06  Bruno Haible  <bruno@clisp.org>
76123         * lib/poll.c (poll): Further micro-optimization.
76125 2008-08-06  Jim Meyering  <meyering@redhat.com>
76127         inet_pton.c: use locale-independent tolower
76128         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
76129         (inet_pton6): Use c_tolower rather than tolower.
76130         * modules/inet_pton (Depends-on): Add c-ctype.
76132 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
76134         * lib/poll.c (poll): Avoid division when timeout is 0, cache
76135         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
76137 2008-08-06  Jim Meyering  <meyering@redhat.com>
76139         * modules/inet_pton (License): Relicense under LGPLv2+.
76141 2008-08-03  Bruno Haible  <bruno@clisp.org>
76143         Additional non-aborting API for lock and tls.
76144         * lib/lock.h: Include <errno.h>.
76145         (glthread_lock_init): New macro/function.
76146         (gl_lock_init): Define as wrapper around glthread_lock_init.
76147         (glthread_lock_lock): New macro/function.
76148         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
76149         (glthread_lock_unlock): New macro/function.
76150         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
76151         (glthread_lock_destroy): New macro/function.
76152         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
76153         (glthread_rwlock_init): New macro/function.
76154         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
76155         (glthread_rwlock_rdlock): New macro/function.
76156         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
76157         (glthread_rwlock_wrlock): New macro/function.
76158         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
76159         (glthread_rwlock_unlock): New macro/function.
76160         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
76161         (glthread_rwlock_destroy): New macro/function.
76162         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
76163         (glthread_recursive_lock_init): New macro/function.
76164         (gl_recursive_lock_init): Define as wrapper around
76165         glthread_recursive_lock_init.
76166         (glthread_recursive_lock_lock): New macro/function.
76167         (gl_recursive_lock_lock): Define as wrapper around
76168         glthread_recursive_lock_lock.
76169         (glthread_recursive_lock_unlock): New macro/function.
76170         (gl_recursive_lock_unlock): Define as wrapper around
76171         glthread_recursive_lock_unlock.
76172         (glthread_recursive_lock_destroy): New macro/function.
76173         (gl_recursive_lock_destroy): Define as wrapper around
76174         glthread_recursive_lock_destroy.
76175         (glthread_once): New macro/function.
76176         (gl_once): Define as wrapper around glthread_once.
76177         Update function declarations.
76178         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
76179         glthread_rwlock_init. Return error code.
76180         (glthread_rwlock_rdlock_multithreaded): Renamed from
76181         glthread_rwlock_rdlock. Return error code.
76182         (glthread_rwlock_wrlock_multithreaded): Renamed from
76183         glthread_rwlock_wrlock. Return error code.
76184         (glthread_rwlock_unlock_multithreaded): Renamed from
76185         glthread_rwlock_unlock. Return error code.
76186         (glthread_rwlock_destroy_multithreaded): Renamed from
76187         glthread_rwlock_destroy. Return error code.
76188         (glthread_recursive_lock_init_multithreaded): Renamed from
76189         glthread_recursive_lock_init. Return error code.
76190         (glthread_recursive_lock_lock_multithreaded): Renamed from
76191         glthread_recursive_lock_lock. Return error code.
76192         (glthread_recursive_lock_unlock_multithreaded): Renamed from
76193         glthread_recursive_lock_unlock. Return error code.
76194         (glthread_recursive_lock_destroy_multithreaded): Renamed from
76195         glthread_recursive_lock_destroy. Return error code.
76196         (glthread_once_call): Make static.
76197         (glthread_once_multithreaded): Renamed from glthread_once.
76198         * lib/tls.h: Include <errno.h>.
76199         (glthread_tls_key_init): New macro/function.
76200         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
76201         (glthread_tls_set): New macro/function.
76202         (gl_tls_set): Define as wrapper around glthread_tls_set.
76203         (glthread_tls_key_destroy): New macro/function.
76204         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
76205         Update function declarations.
76206         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
76207         glthread_tls_get.
76208         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76210 2008-08-04  Eric Blake  <ebb9@byu.net>
76212         gnumakefile: use space, not TAB, outside of targets
76213         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
76215 2008-08-02  Jim Meyering  <meyering@redhat.com>
76217         getdate.y: avoid locale-dependent date parsing failure
76218         In Turkish locales, getdate would fail to recognize keywords
76219         containing a lowercase "i".  The solution is not to rely on
76220         locale-sensitive case-conversion.
76221         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
76222         (lookup_word): Use c_toupper in place of toupper.
76223         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
76224         Reported by Vefa Bicakci <bicave@superonline.com> in
76225         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
76226         * modules/getdate (Depends-on): Add c-ctype.
76228 2008-08-02  Bruno Haible  <bruno@clisp.org>
76230         * gnulib-tool (func_import): When updating or creating a .gitignore
76231         file, prepend each added line with a slash, and ignore leading slashes
76232         from the existing lines.
76233         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
76235 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76237         Portability fix for GNU make 3.79.1.
76238         * top/GNUmakefile: Avoid 'else COND', which older GNU make
76239         versions do not understand.
76241 2008-08-01  Bruno Haible  <bruno@clisp.org>
76243         Work around bug of HP-UX 10.20 cc with -0.0 literal.
76244         * tests/test-isnanf.h (zero): New variable.
76245         (main): Avoid literal -0.0f.
76246         * tests/test-isnand.h (zero): New variable.
76247         (main): Avoid literal -0.0.
76248         * tests/test-isnanl.h (zero): New variable.
76249         (main): Avoid literal -0.0L.
76250         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
76251         (test_float, test_double, test_long_double): Avoid literals -0.0f,
76252         -0.0, -0.0L.
76253         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
76254         (test_signbitd): Avoid literal -0.0.
76255         (test_signbitl): Avoid literal -0.0L.
76256         * tests/test-ceilf1.c (zero): New variable.
76257         (main): Avoid literal -0.0f.
76258         * tests/test-ceill.c (zero): New variable.
76259         (main): Avoid literal -0.0L.
76260         * tests/test-floorf1.c (zero): New variable.
76261         (main): Avoid literal -0.0f.
76262         * tests/test-floorl.c (zero): New variable.
76263         (main): Avoid literal -0.0L.
76264         * tests/test-roundf1.c (zero): New variable.
76265         (main): Avoid literal -0.0f.
76266         * tests/test-round1.c (zero): New variable.
76267         (main): Avoid literal -0.0.
76268         * tests/test-roundl.c (zero): New variable.
76269         (main): Avoid literal -0.0L.
76270         * tests/test-truncf1.c (zero): New variable.
76271         (main): Avoid literal -0.0f.
76272         * tests/test-trunc1.c (zero): New variable.
76273         (main): Avoid literal -0.0.
76274         * tests/test-truncl.c (zero): New variable.
76275         (main): Avoid literal -0.0L.
76276         * tests/test-frexp.c (zero): New variable.
76277         (main): Avoid literal -0.0.
76278         * tests/test-frexpl.c (zero): New variable.
76279         (main): Avoid literal -0.0L.
76280         * tests/test-ldexpl.c (zero): New variable.
76281         (main): Avoid literal -0.0L.
76282         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76283         (zerod, zerol): New variables.
76284         (test_function): Avoid literals -0.0, -0.0L.
76285         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76286         (zerod, zerol): New variables.
76287         (test_function): Avoid literals -0.0, -0.0L.
76288         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76289         (zerod, zerol): New variables.
76290         (test_function): Avoid literals -0.0, -0.0L.
76291         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76292         (zerod, zerol): New variables.
76293         (test_function): Avoid literals -0.0, -0.0L.
76294         * tests/test-strtod.c (zero): New variable.
76295         (main): Avoid literal -0.0.
76296         Reported by Jonathan C. Patschke <jp@centtech.com>.
76298 2008-07-31  Jim Meyering  <meyering@redhat.com>
76300         sha256.h: correct definition of SHA224_DIGEST_SIZE
76301         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
76302         Reported by Paulie Pena IV <paulie4@gmail.com>.
76303         Define as 224 / 8, rather than as a literal.
76304         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
76305         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
76306         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
76308 2008-07-31  Bruno Haible  <bruno@clisp.org>
76310         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
76311         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
76312         Reported by Jonathan Patschke <jp@centtech.com>.
76314 2008-07-31  Bruno Haible  <bruno@clisp.org>
76316         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
76317         Reported by Paolo Bonzini <bonzini@gnu.org>.
76319 2008-07-30  Eric Blake  <ebb9@byu.net>
76321         test-strtod: allow compilation without -lm
76322         * tests/test-strtod.c (main): Avoid link dependence on fabs.
76323         Reported by Dennis Clarke <blastwave@gmail.com>.
76325 2008-07-28  Jim Meyering  <meyering@redhat.com>
76327         bootstrap: work also when there are no .po files in po/
76328         * build-aux/bootstrap (update_po_files): Complete the change
76329         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
76331 2008-07-27  Jim Meyering  <meyering@redhat.com>
76333         * users.txt: Add zile.
76335 2008-07-26  Ben Pfaff  <blp@gnu.org>
76337         Add missing dependencies on new m4/exponent[fdl].m4 files.
76338         * modules/isnanf-nolibm: Add m4/exponentf.m4.
76339         * modules/isnand-nolibm: Add m4/exponentd.m4.
76340         * modules/isnanl-nolibm: Add m4/exponentl.m4.
76341         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
76342         m4/isnan[fdl].m4, because the macros actually used moved.
76343         Reported by Jim Meyering.
76345 2008-07-14  Ben Pfaff  <blp@gnu.org>
76347         Add isinf module.
76348         * lib/isinf.c: New file.
76349         * lib/math.in.h: Define isinf macro if we have decided to replace
76350         it.
76351         * m4/isinf.m4: New file.
76352         * m4/math_h.m4: Initialize and substitute variables for isinf
76353         module.
76354         * modules/isinf: New file.
76355         * modules/isinf-tests: New file.
76356         * modules/math: Add substitutions for new module.
76357         * tests/test-isinf.c: New file.
76358         * doc/posix-functions/isinf.texi: Mention new module.
76359         * MODULES.html.sh: Mention new module.
76361 2008-07-14  Ben Pfaff  <blp@gnu.org>
76363         Factor out some macros for use by additional modules.
76364         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
76365         exponentf.m4.
76366         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
76367         exponentd.m4.
76368         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
76369         file exponentl.m4.
76370         * m4/exponentf.m4: New file.
76371         * m4/exponentd.m4: New file.
76372         * m4/exponentl.m4: New file.
76373         * modules/isnanf: Use new file m4/exponentf.m4.
76374         * modules/isnand: Use new file m4/exponentd.m4.
76375         * modules/isnanl: Use new file m4/exponentl.m4.
76377 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
76379         mktime.c: normalize tp->tm_isdst value to -1/0/1.
76380         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
76381         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
76382         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
76384         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
76385         readlink on platforms without PATH_MAX.
76387 2008-07-21  Eric Blake  <ebb9@byu.net>
76389         Warn, not fail, on stale version.
76390         * top/GNUmakefile (_curr-ver): Tone down previous patch.
76392         Don't allow installation with stale devel version number.
76393         * top/GNUmakefile (_is-install-target): New macro.
76394         (_curr-ver): Forbid installation with stale version number.
76396 2008-07-20  Bruno Haible  <bruno@clisp.org>
76398         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
76399         TESTS_ENVIRONMENT.
76400         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
76402 2008-07-20  Bruno Haible  <bruno@clisp.org>
76404         * lib/c-stack.h (c_stack_action): Add documentation.
76405         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
76407 2008-07-20  Bruno Haible  <bruno@clisp.org>
76409         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
76410         * modules/readlink (License): Likewise.
76412 2008-07-17  Eric Blake  <ebb9@byu.net>
76414         * modules/c-stack (Link): Fix typo.
76416         Make c-stack use libsigsegv, when available.
76417         * modules/c-stack (Depends-on): Add libsigsegv.
76418         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
76419         needed.
76420         * lib/c-stack.c (SIGSTKSZ): Define fallback.
76421         (segv_handler, overflow_handler, c_stack_action)
76422         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
76423         implementation when libsigsegv is available, but only when using
76424         the library is necessary.
76425         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
76426         comment, explaining why XSI check fails on Linux.
76427         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
76428         * tests/test-c-stack2.sh: Tweak skip message.
76429         * NEWS: Document new link-time requirements.
76431 2008-07-16  Eric Blake  <ebb9@byu.net>
76433         c-stack: Expose false positives when not using libsigsegv.
76434         * modules/c-stack-tests (Files): Expand test.
76435         * tests/test-c-stack.c (main): Add means to conditionally trigger
76436         non-overflow SIGSEGV.
76437         * tests/test-c-stack2.sh: New file.
76439 2008-07-14  Bruno Haible  <bruno@clisp.org>
76441         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
76442         Reported by Eric Blake.
76444 2008-07-14  Sam Steingold  <sds@gnu.org>
76445             Bruno Haible  <bruno@clisp.org>
76447         New module libsigsegv.
76448         * modules/libsigsegv: New file.
76449         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
76450         modifications.
76451         * MODULES.html.sh (Signal handling): New section.
76453 2008-07-14  Bruno Haible  <bruno@clisp.org>
76455         * modules/unictype/ctype-* (Description): Add the word "function".
76456         Improves the resulting doc in MODULES.html.
76458 2008-07-12  Ben Pfaff  <blp@gnu.org>
76460         Add longlong module.
76461         * modules/longlong: New file.
76463 2008-07-12  Bruno Haible  <bruno@clisp.org>
76465         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
76466         to empty.
76468 2008-07-10  Ben Pfaff  <blp@gnu.org>
76470         Add isnan module.
76471         * doc/posix-functions/isnan.texi: Mention new module.
76472         * lib/math.in.h: Define isnan macro if we have decided to replace
76473         it.
76474         * m4/isnan.m4: New file.
76475         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76476         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76477         also.
76478         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76479         redundancy.
76480         * m4/math_h.m4: Initialize and substitute variables for isnan
76481         module.
76482         * modules/isnan: New file.
76483         * modules/isnan-tests: New file.
76484         * modules/math: Add substitutions for new module.
76485         * tests/test-isnan.c: New file.
76486         * MODULES.html.sh: Mention new module.
76488 2008-07-10  Ben Pfaff  <blp@gnu.org>
76490         Add isnanf module.
76491         * lib/isnanf.m4: New file.
76492         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76493         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76494         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76495         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76496         * modules/isnanf: New file.
76497         * modules/isnanf-tests: New file.
76498         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76499         files.
76500         * tests/test-isnanf-nolibm.c: factored most of its contents into
76501         new file tests/test-isnanf.h.
76502         * tests/test-isnanf.h: New file.
76503         * tests/test-isnanf.c: New file.
76504         * MODULES.html.sh: Mention new module.
76505         * doc/glibc-functions/isnanf.texi: Mention new module.
76507 2008-07-10  Ben Pfaff  <blp@gnu.org>
76509         Add isnand module.
76510         * lib/isnand.h: New file.
76511         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76512         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76513         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76514         functionality also.
76515         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76516         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76517         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76518         * modules/isnand: New file.
76519         * modules/isnand-tests: New file.
76520         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76521         files.
76522         * tests/test-isnand-nolibm.c: factored most of its contents into
76523         new file tests/test-isnand.h.
76524         * tests/test-isnand.h: New file.
76525         * tests/test-isnand.c: New file.
76526         * MODULES.html.sh: Mention new module.
76528 2008-07-10  Ben Pfaff  <blp@gnu.org>
76530         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76531         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76532         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76533         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76534         * modules/isnanf-nolibm: Update references to renamed files.
76535         * modules/isnand-nolibm: Likewise.
76536         * modules/isnanf-nolibm-tests: Likewise.
76537         * modules/isnand-nolibm-tests: Likewise.
76538         * lib/frexp.c: Likewise.
76539         * lib/isfinite.c: Likewise.
76540         * lib/signbitd.c: Likewise.
76541         * lib/signbitf.c: Likewise.
76542         * lib/vasnprintf.c: Likewise.
76543         * tests/test-ceilf1.c: Likewise.
76544         * tests/test-ceilf2.c: Likewise.
76545         * tests/test-floorf1.c: Likewise.
76546         * tests/test-floorf2.c: Likewise.
76547         * tests/test-frexp.c: Likewise.
76548         * tests/test-round1.c: Likewise.
76549         * tests/test-round2.c: Likewise.
76550         * tests/test-roundf1.c: Likewise.
76551         * tests/test-strtod.c: Likewise.
76552         * tests/test-trunc1.c: Likewise.
76553         * tests/test-trunc2.c: Likewise.
76554         * tests/test-truncf1.c: Likewise.
76555         * tests/test-truncf2.c: Likewise.
76556         * NEWS: Mention the renamed header files.
76558 2008-07-11  Jim Meyering  <meyering@redhat.com>
76560         vc-list-files: make the last-resort awk code more portable
76561         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76562         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76563         does not support it.
76565 2008-07-10  Eric Blake  <ebb9@byu.net>
76567         Work with tar's bootstrap.
76568         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76569         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76570         an m4 comment.
76572 2008-07-09  Jim Meyering  <meyering@redhat.com>
76574         posix-shell.m4: fix typo that made this test malfunction
76575         * m4/posix-shell.m4: Remove capitalization in variable name.
76577 2008-07-08  Bruno Haible  <bruno@clisp.org>
76579         * m4/onceonly.m4: Update comments.
76580         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76582 2008-07-04  Jim Meyering  <meyering@redhat.com>
76584         * users.txt: Add vc-dwim.
76585         (bison, coreutils): Use the gitweb URL.
76587 2008-07-03  Jim Meyering  <meyering@redhat.com>
76589         * users.txt: Add libffcall.  From Sam Steingold.
76591 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76593         getdate.y: do not ignore TZ with relative day, month or year offset
76594         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76595         relative-date-handling, since otherwise, the latter would clobber the
76596         sole output (an updated Start value) of the tz-handling block.
76597         * tests/test-getdate.c: Tests for the fix
76599 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76601         Recognize 'foo_LIBRARIES += libgnu.a'.
76602         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76603         makefile snippet has already specified an installation location,
76604         also using '+='.
76606 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76608         getdate.y: factor out common actions
76609         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76610         Use them in place of open-coded actions.
76612 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76614         Add self-test for getdate module.
76615         * modules/getdate-tests: New file.
76616         * tests/test-getdate.c: New file.
76618 2008-06-29  Bruno Haible  <bruno@clisp.org>
76620         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76621         .gitignore.
76622         Reported by Sylvain Beucler <beuc@beuc.net>.
76624 2008-06-29  Bruno Haible  <bruno@clisp.org>
76626         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76627         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76629 2008-06-29  Bruno Haible  <bruno@clisp.org>
76631         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76632         EXTRA_DIST.
76633         Reported by Sylvain Beucler <beuc@beuc.net>.
76635 2008-06-26  Jim Meyering  <meyering@redhat.com>
76637         make several modules depend on the "open" module
76638         This provides slightly increased consistency when opening-for-write
76639         the name of a non-directory spelled with a trailing slash.
76640         * modules/chdir-safer: Likewise.
76641         * modules/chown: Likewise.
76642         * modules/clean-temp: Likewise.
76643         * modules/copy-file: Likewise.
76644         * modules/fchdir: Likewise.
76645         * modules/fcntl-safer: Likewise.
76646         * modules/pipe: Likewise.
76647         * modules/utime: Likewise.
76648         Prompted by Eric Blake and Bruno Haible.
76650 2008-06-24  Andreas Schwab  <schwab@suse.de>
76652         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76653         literals can be used as initializers for global variables.
76655 2008-06-23  Eric Blake  <ebb9@byu.net>
76657         Make gnulib-cache.m4 easier to diff.
76658         * gnulib-tool (func_import): Allow newlines when reading cached
76659         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76661 2008-06-23  Bruno Haible  <bruno@clisp.org>
76663         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76664         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76665         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76666         m4/signalblocking.m4.
76667         (gl_PREREQ_SIGACTION): Don't invoke it.
76668         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76669         gl_PREREQ_SIG_HANDLER_H.
76670         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76671         Don't check for sigaction here.
76673 2008-06-23  Bruno Haible  <bruno@clisp.org>
76675         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76676         (install_handlers): Don't set the SA_RESETHAND flag.
76678 2008-06-23  Bruno Haible  <bruno@clisp.org>
76680         * m4/sigaction.m4: Comment fixes.
76681         * lib/signal.in.h: Likewise.
76683 2008-06-23  Eric Blake  <ebb9@byu.net>
76685         Fix typo.
76686         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76688         Avoid SA_ namespace.
76689         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76690         Reported by Ralf Wildenhues.
76692         Avoid test failure due to SA_RESTORER.
76693         * tests/test-sigaction.c (SA_MASK): New macro.
76694         (main): Avoid failing due to extension flags being set.
76695         Reported by Jim Meyering.
76697         Revert use of sig-handler.h in sigprocmask.c.
76698         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76699         it requires the existence of struct sigaction.
76700         * lib/sigprocmask.c (handler_t): Restore typedef.
76701         (rpl_signal, old_handlers): Use local type.
76703 2008-06-22  Bruno Haible  <bruno@clisp.org>
76705         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76706         conditionally.
76707         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76709 2008-06-22  Bruno Haible  <bruno@clisp.org>
76711         * doc/posix-functions/siginterrupt.texi: Move note.
76713         * lib/signal.in.h (SA_RESTART): New macro.
76714         * lib/sigaction.c: Update comment.
76716         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76718         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76719         (gl_PREREQ_SIGPROCMASK): Invoke it.
76720         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76722         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76724         * lib/sigprocmask.c: Update a comment.
76726 2008-06-21  Eric Blake  <ebb9@byu.net>
76728         Use sigaction module rather than signal().
76729         * modules/c-stack (Depends-on): Add sigaction.
76730         * modules/fatal-signal (Depends-on): Likewise.
76731         * modules/nanosleep (Depends-on): Likewise.
76732         * modules/sigprocmask (Files): Add sig-handler.h.
76733         * modules/sigaction (Files): Likewise.
76734         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76735         Eggert.
76736         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76737         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76738         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76739         (init_fatal_signals): Likewise.
76740         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76741         (siginterrupt): Delete fallback.
76742         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76743         instead.
76744         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76745         siginterrupt.
76747         New module sigaction, for mingw.
76748         * modules/sigaction: New module...
76749         * modules/sigaction-tests: ...and its test.
76750         * m4/sigaction.m4: New file.
76751         * lib/sigaction.c: Likewise.
76752         * tests/test-sigaction.c: Likewise.
76753         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76754         * modules/signal (Makefile.am): Likewise.
76755         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76756         needed.
76757         * doc/posix-headers/signal.texi (signal.h): Mention provided
76758         types.
76759         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76760         that sigaction is preferable.
76761         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76762         module.
76763         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76764         sigaction.
76766         Improve robustness of sigprocmask by overriding signal.
76767         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76768         is in use.
76769         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76770         (SIGKILL, SIGSTOP): Provide fallbacks.
76771         (rpl_signal): Implement.
76772         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76773         signal can be called inside handlers.
76775         Fix nanosleep module on mingw.
76776         * modules/nanosleep (Depends-on): Add sys_select.
76777         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76779         Fix licensing of sigprocmask.
76780         * modules/raise (License): Relicense as LGPL.
76782 2008-06-21  Bruno Haible  <bruno@clisp.org>
76784         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76785         result if it contains question marks.
76786         Reported by Michael Geng <linux@michaelgeng.de>.
76788 2008-06-19  Bruno Haible  <bruno@clisp.org>
76790         Fix CVS-ism.
76791         * doc/gnulib.texi: Include updated-stamp.texi.
76792         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76793         (updated-stamp.texi): New rule.
76794         (gnulib.info): Depend on it.
76795         * doc/.gitignore: Add updated-stamp.texi.
76796         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76798 2008-06-19  Bruno Haible  <bruno@clisp.org>
76800         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76801         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76803 2008-06-19  Eric Blake  <ebb9@byu.net>
76805         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76806         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76807         Reported by Stepan Kasal.
76809 2008-06-18  Bruno Haible  <bruno@clisp.org>
76811         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76812         Reported by Eric Blake.
76814 2008-06-18  Eric Blake  <ebb9@byu.net>
76816         Work around cygwin 1.5.25 strsignal bug.
76817         * tests/test-strsignal.c: Allow for const char *.
76818         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76820 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76822         * users.txt: Update URL to article and add author/date
76823         information.
76825 2008-06-17  Bruno Haible  <bruno@clisp.org>
76827         New macro gl_DISABLE_THREADS.
76828         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76829         if the user did not pass --enable-threads or --disable-threads option.
76830         (gl_DISABLE_THREADS): New macro.
76831         Reported by Eric Blake <ebb9@byu.net>.
76833 2008-06-17  Bruno Haible  <bruno@clisp.org>
76835         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76836         when the macro ignores it.
76837         Based on a patch by Eric Blake <ebb9@byu.net>.
76839 2008-06-17  Bruno Haible  <bruno@clisp.org>
76841         * modules/tls (License): Change to LGPLv2+.
76842         Reported by Eric Blake.
76844 2008-06-17  Eric Blake  <ebb9@byu.net>
76846         Simplify c-stack prerequisites.
76847         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76848         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76849         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76850         check.
76851         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76852         <sys/resource.h>.
76854         Move c-stack test into testsuite.
76855         * modules/c-stack-tests: New file.
76856         * lib/c-stack.c [DEBUG]: Move test program...
76857         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76858         fail test if sigaltstack is lacking.
76859         * tests/test-c-stack.sh: New driver file.
76861 2008-06-16  Eric Blake  <ebb9@byu.net>
76863         Use raise module consistently.
76864         * modules/fatal-signal (Depends-on): Add raise.
76865         * modules/sigprocmask (Depends-on): Likewise.
76866         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76867         * lib/sigprocmask.c (sigprocmask): Likewise.
76868         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76869         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76871         Fix compliance bug in sigpending.
76872         * lib/sigprocmask.c (sigpending): Return pending array via
76873         parameter, not return value.
76875 2008-06-14  Eric Blake  <ebb9@byu.net>
76877         Improve obstack-printf test code.
76878         * tests/test-obstack-printf.c (test_function): Fix comment, and
76879         simplify usage of obstack_* in macros.  Add a test for coverage.
76880         Reported by Bruno Haible.
76882 2008-06-14  Bruno Haible  <bruno@clisp.org>
76884         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76885         array size as a constant, not as a const variable.
76886         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76887         AC_USE_SYSTEM_EXTENSIONS.
76888         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76889         Test whether the obstack_printf function actually exists.
76890         * modules/obstack-printf (Depends-on): Add extensions.
76891         (Include): Remove obstack.h.
76892         * modules/obstack-printf-posix (Depends-on): Add extensions.
76893         (Include): Remove obstack.h.
76895 2008-06-13  Eric Blake  <ebb9@byu.net>
76897         Add obstack-printf and obstack-printf-posix modules.
76898         * modules/obstack-printf: New file.
76899         * modules/obstack-printf-posix: Likewise.
76900         * MODULES.html.sh (Misc): Mention them.
76901         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76902         Likewise.
76903         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76904         Likewise.
76905         * modules/stdio (Makefile.am): Accomodate new modules.
76906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76907         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76908         Declare.
76909         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76910         functions.
76911         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76912         (gl_REPLACE_OBSTACK_PRINTF): New macros
76913         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76914         * tests/test-obstack-printf.c: New file.
76915         * modules/obstack-printf-tests: Likewise.
76916         * modules/obstack-printf-posix-tests: Likewise.
76918 2008-06-11  Bruno Haible  <bruno@clisp.org>
76920         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76921         * lib/open.c: Include errno.h.
76922         (open): Fail when attempting to write to a file that has a trailing
76923         slash.
76924         * tests/test-open.c (main): Test against trailing slash bug.
76925         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76927 2008-06-10  Bruno Haible  <bruno@clisp.org>
76929         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76930         for $? to work inside the trap command, with various /bin/sh-s.
76931         * tests/test-vc-list-files-cvs.sh: Likewise.
76933 2008-06-10  Bruno Haible  <bruno@clisp.org>
76935         * lib/acl-internal.h: Don't include gettext.h here.
76936         * lib/set-mode-acl.c: Include gettext.h here.
76937         * lib/copy-acl.c: Likewise.
76939 2008-06-10  Bruno Haible  <bruno@clisp.org>
76941         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76942         * lib/wait-process.c (wait_subprocess): Likewise.
76943         * lib/execute.h (execute): Add termsigp argument.
76944         * lib/execute.c (execute): Likewise.
76945         * lib/csharpcomp.c (compile_csharp_using_pnet,
76946         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76947         * lib/csharpexec.c (execute_csharp_using_pnet,
76948         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76949         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76950         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76951         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76952         is_jikes_present): Update.
76953         * lib/javaexec.c (execute_java_class): Update.
76954         * lib/javaversion.c (execute_and_read_line): Update.
76955         * NEWS: Document the changes.
76956         Reported by Eric Blake.
76958 2008-06-10  Eric Blake  <ebb9@byu.net>
76960         Add missing include.
76961         * tests/test-strstr.c (includes): Add <signal.h>.
76962         * tests/test-strcasestr.c (includes): Likewise.
76963         * tests/test-memmem.c (includes): Likewise.
76965 2008-06-10  Bruno Haible  <bruno@clisp.org>
76967         * lib/wait-process.c (wait_subprocess): Add an assertion.
76969 2008-06-10  Bruno Haible  <bruno@clisp.org>
76971         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76973 2008-06-10  Bruno Haible  <bruno@clisp.org>
76975         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76976         using alarm().
76977         * tests/test-strcasestr.c (main): Likewise.
76978         * tests/test-strstr.c (main): Likewise.
76980 2008-06-09  Bruno Haible  <bruno@clisp.org>
76982         Work around the Solaris 10 ACE ACLs ABI change.
76983         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76984         declare if ACL_NO_TRIVIAL is present.
76985         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76986         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76987         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76988         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76989         define if ACL_NO_TRIVIAL is present.
76990         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76991         and use the current ABI.
76992         (file_has_acl): Use same #if condition as elsewhere.
76993         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76994         in use, and use the current ABI.
76995         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76996         Reported by Jim Meyering.
76998 2008-06-09  Eric Blake  <ebb9@byu.net>
77000         Work around environments that (stupidly) ignore SIGALRM.
77001         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
77002         before using alarm().
77003         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77004         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
77005         Reported by Ian Beckwith <ianb@erislabs.net>.
77007         Produce autobuild blurb earlier in log.
77008         * modules/autobuild (configure.ac-early): Move AB_INIT here.
77010 2008-06-09  Jim Meyering  <meyering@redhat.com>
77011         and Ondřej Vašík  <ovasik@redhat.com>
77013         utimens.c: correct kernel bug work-around
77014         Ondřej Vašík found that the invalid return value of 280 indicates
77015         failure, not success, and the kernel bug we're trying to work
77016         around affects not just the utimensat call, but also the fallback
77017         futimens call.
77018         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
77019         not success.
77020         [HAVE_FUTIMENS]: Use the same work-around, here.
77022 2008-06-09  Jim Meyering  <meyering@redhat.com>
77024         add more guards around definition of ACE_-related code
77025         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
77026         ALLOW and ACE_OWNER are also defined.
77028 2008-06-08  Bruno Haible  <bruno@clisp.org>
77030         * lib/acl-internal.h: Add me as co-author.
77031         * lib/file-has-acl.c: Likewise.
77032         * lib/set-mode-acl.c: Likewise.
77033         * lib/copy-acl.c: Likewise.
77035 2008-06-08  Bruno Haible  <bruno@clisp.org>
77037         Add support for AIX ACLs.
77038         * lib/acl-internal.h (acl_nontrivial): New declaration.
77039         * lib/file-has-acl.c (acl_nontrivial): New function.
77040         (file_has_acl): Add implementation using AIX 4 ACL API.
77041         * lib/set-mode-acl.c (qset_acl): Likewise.
77042         * lib/copy-acl.c (qcopy_acl): Likewise.
77044 2008-06-08  Bruno Haible  <bruno@clisp.org>
77046         Add support for HP-UX ACLs.
77047         * lib/acl-internal.h (acl_nontrivial): New declaration.
77048         * lib/file-has-acl.c (acl_nontrivial): New function.
77049         (file_has_acl): Add implementation using HP-UX 11 ACL API.
77050         * lib/set-mode-acl.c (qset_acl): Likewise.
77051         * lib/copy-acl.c (qcopy_acl): Likewise.
77053 2008-06-08  Bruno Haible  <bruno@clisp.org>
77055         Add support for Cygwin ACLs.
77056         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
77057         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
77058         the chmod_or_fchmod call.
77059         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
77061 2008-06-08  Bruno Haible  <bruno@clisp.org>
77063         Fix bug with setuid modes in Solaris 10+ code.
77064         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
77065         succeeded, when the mode contains some special bits.
77067 2008-06-08  Bruno Haible  <bruno@clisp.org>
77069         Add support for Solaris 7..10 ACLs.
77070         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
77071         declarations.
77072         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
77073         functions.
77074         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
77075         * lib/set-mode-acl.c (qset_acl): Likewise.
77076         * lib/copy-acl.c (qcopy_acl): Likewise.
77078 2008-06-08  Bruno Haible  <bruno@clisp.org>
77080         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
77081         declaration.
77082         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
77083         (acl_access_nontrivial): Remove MacOS X case.
77084         (file_has_acl): Use acl_extended_nontrivial.
77085         * lib/copy-acl.c (qcopy_acl): Likewise.
77087 2008-06-08  Bruno Haible  <bruno@clisp.org>
77089         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
77091 2008-06-08  Jim Meyering  <meyering@redhat.com>
77093         * modules/acl (Maintainer): Add Bruno Haible.
77095 2008-06-07  Bruno Haible  <bruno@clisp.org>
77097         Improve support for Tru64 ACLs.
77098         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
77099         ACL on OSF/1.
77101 2008-06-07  Bruno Haible  <bruno@clisp.org>
77103         Add support for MacOS X ACLs.
77104         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
77105         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
77106         * lib/set-mode-acl.c (qset_acl): Likewise.
77107         * lib/copy-acl.c (qcopy_acl): Likewise.
77109 2008-06-07  Bruno Haible  <bruno@clisp.org>
77111         Fix memory leak introduced on 2008-05-22.
77112         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
77113         use.
77115 2008-06-07  Bruno Haible  <bruno@clisp.org>
77117         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
77118         to construct an empty ACL.
77120 2008-06-07  Bruno Haible  <bruno@clisp.org>
77122         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
77123         precisely.
77124         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
77126 2008-06-07  Bruno Haible  <bruno@clisp.org>
77128         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
77129         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
77131 2008-06-07  Bruno Haible  <bruno@clisp.org>
77133         * doc/posix-functions/_setjmp.texi: Explain the use of this function
77134         regardless of POSIX.
77135         * doc/posix-functions/_longjmp.texi: Likewise.
77136         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
77137         SystemV platform in this case.
77139 2008-06-06  Eric Blake  <ebb9@byu.net>
77141         Document abort() bugs.
77142         * doc/posix-functions/abort.texi (abort): Mention anomalies.
77144         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
77145         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
77146         sigsetjmp.
77147         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
77148         siglongjmp, but only as a macro.
77149         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
77150         is obsolete.
77151         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
77153         Tweak documentation to cover cygwin argz bugs.
77154         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
77155         argz bug fix; no code change needed since no cygwin releases
77156         occurred between the last fix and the bug being tested.
77157         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
77158         module and recently fixed cygwin bugs.
77159         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
77160         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
77161         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
77162         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
77163         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
77164         Likewise.
77165         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
77166         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
77167         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
77168         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
77169         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
77170         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
77171         Likewise.
77173         Avoid gcc warning on cygwin.
77174         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
77175         !ACL_NO_TRIVIAL]: Avoid unused variable.
77177 2008-06-05  Eric Blake  <ebb9@byu.net>
77179         Be tolerant of UNKNOWN version in gnulib-tool test dir.
77180         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
77181         git-version-gen fails to come up with a version.
77182         Reported by Simon Josefsson.
77184 2008-06-05  Jim Meyering  <meyering@redhat.com>
77185             Paul Eggert  <eggert@cs.ucla.edu>
77187         utimens.c: work around a probable Linux kernel bug
77188         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
77189         appears to be a kernel bug that causes utimensat to return 280
77190         instead of 0, indicating success.
77192 2008-06-04  Bruno Haible  <bruno@clisp.org>
77194         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
77195         2008-06-01 commit.
77197 2008-06-04  Bruno Haible  <bruno@clisp.org>
77199         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
77200         * lib/file-has-acl.c (acl_access_nontrivial): New function.
77201         (file_has_acl): Use it. Save errno afterwards.
77202         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
77204 2008-06-03  Bruno Haible  <bruno@clisp.org>
77206         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
77207         draft code. Simplify #ifs.
77208         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
77209         Put Solaris code after POSIX-draft code. Fix comments regarding
77210         Solaris 10, HP-UX. Mention Cygwin.
77211         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
77213 2008-06-03  Eric Blake  <ebb9@byu.net>
77215         Provide fallback for older kernels.
77216         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
77217         Provide runtime fallback if kernel lacks support.
77218         Reported by Mike Frysinger.
77220 2008-06-02  Bruno Haible  <bruno@clisp.org>
77222         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
77223         it exists.
77225 2008-06-02  Bruno Haible  <bruno@clisp.org>
77227         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
77228         * lib/copy-acl.c (qcopy_acl): Update comment.
77230 2008-06-02  Bruno Haible  <bruno@clisp.org>
77232         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
77233         like ACL APIs.
77235 2008-06-02  Bruno Haible  <bruno@clisp.org>
77237         * tests/test-file-has-acl.sh: Use different code for Cygwin.
77238         * tests/test-set-mode-acl.sh: Likewise.
77239         * tests/test-copy-acl.sh: Likewise.
77240         * tests/test-copy-file.sh: Likewise.
77242 2008-06-02  Bruno Haible  <bruno@clisp.org>
77244         * tests/test-file-has-acl.sh: Remove unused code.
77246 2008-06-01  Bruno Haible  <bruno@clisp.org>
77248         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
77249         (copy_acl): Just a wrapper around qcopy_acl that emits the error
77250         messages.
77251         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
77253 2008-06-01  Bruno Haible  <bruno@clisp.org>
77255         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
77256         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
77257         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
77258         APIs.
77259         * modules/acl-tests (configure.ac): Remove tests now contained in
77260         m4/acl.m4.
77262 2008-06-02  Jim Meyering  <meyering@redhat.com>
77264         announce-gen: use a better key-server host name
77265         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
77266         it may be more consistently reliable.  Suggested by Werner Koch
77267         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
77269 2008-06-01  Bruno Haible  <bruno@clisp.org>
77271         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
77272         Reported by Voroskoi Andras <voroskoi@gmail.com>.
77274 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
77276         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
77278 2008-06-01  Bruno Haible  <bruno@clisp.org>
77280         New ACL tests.
77281         * tests/test-file-has-acl.sh: New file.
77282         * tests/test-file-has-acl.c: New file.
77283         * tests/test-set-mode-acl.sh: New file.
77284         * tests/test-set-mode-acl.c: New file.
77285         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
77286         * tests/test-copy-acl.c: New file.
77287         * modules/acl-tests: New file, based on modules/copy-file-tests.
77288         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
77289         (Depends-on): Add acl-tests.
77290         (configure.ac): Remove checks.
77291         (Makefile.am): Don't create test-sameacls program here any more.
77293 2008-06-01  Bruno Haible  <bruno@clisp.org>
77295         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
77296         * tests/test-sameacls.c: Include progname.h.
77297         (main): Invoke set_program_name. Portability fixes for MacOS X,
77298         Solaris, HP-UX.
77300 2008-06-01  Bruno Haible  <bruno@clisp.org>
77302         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
77303         function.
77304         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
77306 2008-06-01  Bruno Haible  <bruno@clisp.org>
77308         * modules/rpmatch (Depends-on): Add strdup.
77310 2008-06-01  Bruno Haible  <bruno@clisp.org>
77312         * lib/pipe.c: Include unistd-safer.h.
77313         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
77314         * modules/pipe (Depends-on): Add unistd-safer.
77316 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77318         * modules/autobuild (configure.ac): Call AB_INIT.
77320 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77322         * tests/test-getaddrinfo.c: Don't print debug messages by default.
77323         Suggested by Bruno Haible <bruno@clisp.org>.
77325 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77327         * tests/test-base64.c: Cast size_t to unsigned long when invoking
77328         printf.  Use %lu instead of %d.  Reported by Bruno Haible
77329         <bruno@clisp.org>.
77331 2008-05-29  Eric Blake  <ebb9@byu.net>
77333         Prefer new POSIX 200x interfaces over futimesat.
77334         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
77335         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
77336         when available.
77337         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
77339 2008-05-28  Bruno Haible  <bruno@clisp.org>
77341         * modules/stpcpy (License): Change to LGPLv2+.
77342         Requested by David Lutterkort <dlutter@redhat.com>.
77344 2008-05-27  Bruno Haible  <bruno@clisp.org>
77346         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
77347         current mingw.
77348         Reported by Jose E. Marchesi <jemarch@gnu.org>.
77350 2008-05-27  Bruno Haible  <bruno@clisp.org>
77352         * modules/iconv_open (Link): New section, from module 'iconv'.
77353         * modules/striconv (Link): Likewise.
77354         * modules/striconveh (Link): Likewise.
77355         * modules/xstriconv (Link): Likewise.
77356         * modules/unicodeio (Link): Likewise.
77357         * modules/propername (Link): Likewise.
77358         Reported by Jim Meyering.
77360 2008-05-26  Jim Meyering  <meyering@redhat.com>
77362         sha256: do not artificially restrict buffer length to be < 2^32
77363         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
77364         uint32_t to size_t.
77365         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
77366         to match.
77368         avoid unaligned access errors, e.g., on sparc
77369         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
77370         direct access through a possibly-unaligned uint64* pointer.
77371         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
77372         direct access through a possibly-unaligned uint32* pointer.
77373         Prompted by this patch from Tom "spot" Callaway:
77374         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
77376         sha512.c: fix typo in comment
77377         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
77379 2008-05-25  Bruno Haible  <bruno@clisp.org>
77381         * lib/set-mode-acl.c: Renamed from lib/acl.c.
77382         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
77383         (Makefile.am): Update lib_SOURCES.
77385 2008-05-25  Bruno Haible  <bruno@clisp.org>
77387         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
77389 2008-05-25  Jim Meyering  <meyering@redhat.com>
77391         useless-if-before-free: freed expr may have white-space differences
77392         * build-aux/useless-if-before-free: Recognize cases in which the
77393         freed expression differs from the tested one in embedded white
77394         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
77395         $1 was used, so we can't make any regexp shy.  Improved tests now
77396         detect this.
77398         useless-if-before-free: accept white space in the expression.
77399         * build-aux/useless-if-before-free: For now, any white space
77400         in the expression must be identical in the free argument.
77402         useless-if-before-free: efficiency tweak
77403         * build-aux/useless-if-before-free: Make the expression-matching
77404         regexp "shy".
77405         Make the *outer* regexp shy, not the expr-matching one.
77407         update code-in-comment to accept cast of free arg
77408         * build-aux/useless-if-before-free: Update regexp.
77410 2008-05-25  Bruno Haible  <bruno@clisp.org>
77412         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
77413         * modules/copy-file-tests (Files, Makefile.am): Update.
77414         * tests/test-copy-file.c (func_test_copy): Update.
77416 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
77418         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
77420 2008-05-23  Bruno Haible  <bruno@clisp.org>
77422         Improve support for ACLs on OSF/1.
77423         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
77424         Remove fallback for unknown flavors of ACLs.
77426 2008-05-22  Bruno Haible  <bruno@clisp.org>
77428         Add support for ACLs on OSF/1.
77429         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
77430         replacements.
77431         (acl_free_text): New macro fallback.
77432         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
77433         acl_free.
77434         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
77435         acl_free_text function. Require AC_C_INLINE.
77437 2008-05-22  Bruno Haible  <bruno@clisp.org>
77439         Make copy_acl work on MacOS X 10.5.
77440         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
77441         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
77442         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
77443         If MODE_INSIDE_ACL, don't assume that every system has the same text
77444         representation for ACLs as FreeBSD.
77445         * lib/copy-acl.c (copy_acl): Add support for platforms with
77446         !MODE_INSIDE_ACL.
77447         * lib/file-has-acl.c (file_has_acl): Likewise.
77448         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
77449         FreeBSD, MacOS X, or IRIX, respectively.
77451 2008-05-22  Bruno Haible  <bruno@clisp.org>
77453         * lib/acl.h: Don't include <sys/acl.h>.
77454         (GETACLCNT): Move fallback to lib/acl-internal.h.
77455         * lib/acl-internal.h: Include <sys/acl.h> here.
77456         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
77458 2008-05-22  Bruno Haible  <bruno@clisp.org>
77460         Split off copy_acl function to separate file.
77461         * lib/copy-acl.c: New file, extracted from lib/acl.c.
77462         * lib/acl.c (copy_acl): Moved function to separate file.
77463         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
77464         * modules/acl (Files): Add lib/copy-acl.c.
77465         (Makefiles.am): Augment lib_SOURCES.
77467 2008-05-22  Bruno Haible  <bruno@clisp.org>
77469         * modules/copy-file-tests: New file.
77470         * tests/test-copy-file.sh: New file.
77471         * tests/test-copy-file.c: New file.
77472         * tests/test-copy-file-sameacls.c: New file.
77474 2008-05-22  Eric Blake  <ebb9@byu.net>
77476         Avoid gcc warning.
77477         * tests/test-memcmp.c (main): Pass NULL indirectly.
77479 2008-05-21  Bruno Haible  <bruno@clisp.org>
77481         Add reference doc about ACLs.
77482         * doc/acl-resources.txt: New file.
77483         * doc/acl-cygwin.txt: New file.
77485 2008-05-21  Bruno Haible  <bruno@clisp.org>
77487         Avoid one more warning from gcc.
77488         * lib/vasnprintf.c (IF_LINT): Update comments.
77489         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77491 2008-05-21  Jim Meyering  <meyering@redhat.com>
77493         avoid a warning from gcc
77494         * lib/vasnprintf.c (IF_LINT): Define.
77495         (scale10_round_decimal_long_double):
77496         Use it to avoid a "may be used uninitialized" warning.
77497         (scale10_round_decimal_double): Likewise.
77499 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77501         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77502         declared.
77504 2008-05-20  Bruno Haible  <bruno@clisp.org>
77506         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77507         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77509 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77511         * modules/memcmp-tests: New file.
77512         * tests/test-memcmp.c: New file.
77514 2008-05-19  Bruno Haible  <bruno@clisp.org>
77516         * modules/propername (Notice, configure.ac): Put quoted "..." into
77517         --keyword option.
77518         * lib/propername.h: Update comments accordingly.
77519         Reported by Eric Blake.
77521 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77523         * modules/getpass-gnu (Depends-on): Add fseeko.
77525 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77527         * modules/base64-tests: New file.
77529 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77531         * lib/base64.c (base64_decode_ctx): If a decode context structure
77532         was passed in use it to ignore newlines.  If a context structure
77533         was _not_ passed in, continue to treat newlines as garbage (this
77534         is the historical behavior).  Formerly base64_decode.
77535         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77536         takes a decode context structure.
77537         * lib/base64.h (base64_decode): Macro for four-argument calls.
77538         (base64_decode_alloc): Likewise.
77539         * lib/base64.c (base64_decode_ctx): If a decode context structure
77540         was passed in use it to ignore newlines.  If a context structure
77541         was _not_ passed in, continue to treat newlines as garbage (this
77542         is the historical behavior).  Formerly base64_decode.
77543         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77544         takes a decode context structure.
77545         * lib/base64.h (base64_decode): Macro for four-argument calls.
77546         (base64_decode_alloc): Likewise.
77548 2008-05-19  Jim Meyering  <meyering@redhat.com>
77550         avoid a warning from gcc
77551         * lib/trim.c (IF_LINT): Define.
77552         (trim2): Use it to avoid a "may be used uninitialized" warning.
77554         Fix doc typo.
77555         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77557 2008-05-19  Bruno Haible  <bruno@clisp.org>
77559         * doc/glibc-functions/getpass.texi: Document limits of other
77560         implementations.
77562 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77563             Bruno Haible <bruno@clisp.org>
77565         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77567 2008-05-18  Bruno Haible  <bruno@clisp.org>
77569         * modules/propername: New file, from GNU gettext.
77570         * lib/propername.h: New file, from GNU gettext.
77571         * lib/propername.c: New file, from GNU gettext.
77572         * MODULES.html.sh (Internationalization functions): Add propername.
77574 2008-05-16  Jim Meyering  <meyering@redhat.com>
77575             Bruno Haible  <bruno@clisp.org>
77577         Avoid some warnings from "gcc -Wshadow".
77578         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77580 2008-05-15  Eric Blake  <ebb9@byu.net>
77582         Extend previous patch to cygwin 1.7.0.
77583         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77584         fast implementation in cygwin >= 1.7.0.
77585         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77586         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77588 2008-05-15  Bruno Haible  <bruno@clisp.org>
77590         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77591         implementation in glibc >= 2.9.
77592         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77595 2008-05-15  Bruno Haible  <bruno@clisp.org>
77597         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77598         (Unicode string functions): Add unilbrk/*.
77599         Reported by Karl Berry.
77601 2008-05-15  Eric Blake  <ebb9@byu.net>
77603         Fix violation of <stdbool.h> replacement in regex.
77604         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77605         * lib/regexec.c (re_search_internal): Likewise.
77606         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77608 2008-05-15  Jim Meyering  <meyering@redhat.com>
77610         avoid distracting test output when git or cvs is not found
77611         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77612         * tests/test-vc-list-files-git.sh: Likewise.
77614 2008-05-15  Eric Blake  <ebb9@byu.net>
77616         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77617         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77618         glibc version.
77619         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77620         * doc/posix-functions/strstr.texi (strstr): Likewise.
77621         * lib/str-two-way.h (MAX): Sychronize with glibc.
77623 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77625         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77626         opr.ctx_type.
77627         (calc_first): Initialize constraint field.
77628         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77629         Fix grammar.
77630         (duplicate_node): Merge constraint field for all node types.
77631         (calc_eclosure_iter): Look at constraint field for all node types.
77632         * lib/regex_internal.c (create_cd_newstate): Don't look at
77633         opr.ctx_type.
77635 2008-05-14  Bruno Haible  <bruno@clisp.org>
77637         Help GCC to do better code generation.
77638         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77639         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77640         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77641         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77642         Declare with attribute 'malloc' if supported.
77644 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77646         use "echo STR|wc -c" rather than unportable "expr length STR"
77647         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77648         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77650 2008-05-14  Jim Meyering  <meyering@redhat.com>
77652         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77653         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77654         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77655         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77656         via Collin Lasse.
77658 2008-05-14  Eric Blake  <ebb9@byu.net>
77660         Avoid quadratic growth in gl_LIBSOURCES.
77661         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77662         Suggested by Bruno Haible.
77664         Test xmemdup0.
77665         * modules/xmemdup0-tests: New file.
77666         * tests/test-xmemdup0.c: Likewise.
77668 2008-05-13  Eric Blake  <ebb9@byu.net>
77670         Split xmemdup0 into its own module.
77671         * modules/xmemdup0: New file.
77672         * lib/xmemdup0.h: Likewise.
77673         * lib/xmemdup0.c: Likewise.
77674         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77675         * lib/xalloc.h (xmemdup0): Remove.
77676         * lib/xmalloc.c (xmemdup0): Likewise.
77678 2008-05-13  Eric Blake  <ebb9@byu.net>
77679             Bruno Haible  <bruno@clisp.org>
77681         Reduce number of forks required during autoconf.
77682         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77683         and gl_LIBSOURCES_DIR.
77684         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77685         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77686         m4_syscmd per file.
77687         <m4_foreach_w>: Move...
77688         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77690 2008-05-13  Eric Blake  <ebb9@byu.net>
77692         * gnulib-tool: Fix various comment typos.
77694 2008-05-12  Bruno Haible  <bruno@clisp.org>
77696         Tailor the linebreaking algorithm.
77697         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77699 2008-05-12  Bruno Haible  <bruno@clisp.org>
77701         Update to Unicode 5.0.0.
77702         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77703         LBP_JV, LBP_JT. Redistribute values.
77704         (unilbrk_table): Change size.
77705         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77706         Unicode TR#14 rev. 22.
77707         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77708         LBP_JV, LBP_JT. Redistribute values.
77709         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77710         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77711         Update.
77712         * lib/unilbrk/lbrkprop1.h: Regenerated.
77713         * lib/unilbrk/lbrkprop2.h: Regenerated.
77714         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77715         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77716         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77717         Likewise.
77718         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77719         Likewise.
77720         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77721         result.
77722         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77723         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77724         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77725         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77726         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77727         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77729 2008-05-11  Bruno Haible  <bruno@clisp.org>
77731         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77733 2008-05-11  Bruno Haible  <bruno@clisp.org>
77735         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77736         * modules/unilbrk/gen-lbrk: New file.
77738 2008-05-11  Bruno Haible  <bruno@clisp.org>
77740         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77741         * m4/sha512.m4 (gl_SHA512): Likewise.
77743 2008-05-11  Jim Meyering  <meyering@redhat.com>
77745         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77746         * modules/crypto/sha256: New file.
77747         * modules/crypto/sha512: Likewise.
77748         * lib/sha256.c: Likewise.
77749         * lib/sha256.h: Likewise.
77750         * lib/sha512.c: Likewise.
77751         * lib/sha512.h: Likewise.
77752         * lib/u64.h: Likewise.
77753         * m4/sha256.m4: Likewise.
77754         * m4/sha512.m4: Likewise.
77755         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77757 2008-05-10  Bruno Haible  <bruno@clisp.org>
77759         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77760         (Input/Output <stdio.h>): Add xprintf.
77761         (Signal handling <signal.h>): Add strsignal.
77762         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77763         (Core language properties): Add func.
77764         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77765         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77766         strings.
77767         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77768         (Input/output): New section.
77769         (File system functions): Add openat-die, stat-macros.
77770         (Networking functions): Add sockets.
77771         (Unicode string functions): Add unictype/*.
77772         (Support for building libraries and executables): Add gperf.
77773         (Support for building documentation): Add agpl-3.0.
77774         (Misc): Add nocrash.
77776 2008-05-10  Bruno Haible  <bruno@clisp.org>
77778         * modules/unictype/gen-ctype: New file.
77780 2008-05-10  Jim Meyering  <meyering@redhat.com>
77782         Make chdir-safer.c more efficient on a system with no symlinks.
77783         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77784         also if ELOOP is zero.  Suggested by Bruno Haible.
77786         Make chdir-safer.c slightly safer.
77787         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77788         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77790         Avoid compile failure on systems without ELOOP (like mingw).
77791         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77792         Reported by Bruno Haible.
77794 2008-05-10  Bruno Haible  <bruno@clisp.org>
77796         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77797         (is_utf8_encoding): Use a case-insensitive comparison.
77798         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77799         streq.
77801 2008-05-10  Bruno Haible  <bruno@clisp.org>
77803         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77804         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77805         * lib/unilbrk/ulc-common.h (iconv_string_length,
77806         iconv_string_keeping_offsets): Remove declarations.
77807         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77808         Don't include <iconv.h>, streq.h, xsize.h.
77809         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77810         conversion.
77811         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77812         <iconv.h>, streq.h, xsize.h.
77813         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77814         conversion.
77815         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77816         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77817         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77818         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77820 2008-05-10  Bruno Haible  <bruno@clisp.org>
77822         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77823         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77825         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77826         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77828         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77829         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77831         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77832         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77834         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77835         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77837         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77838         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77840         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77841         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77843         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77844         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77846 2008-05-10  Bruno Haible  <bruno@clisp.org>
77848         Split up 'linebreak' module.
77849         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77850         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77851         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77852         modifications.
77853         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77854         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77855         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77856         lib/linebreak.c.
77857         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77858         lib/linebreak.c.
77859         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77860         lib/linebreak.c.
77861         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77862         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77863         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77864         lib/linebreak.c.
77865         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77866         lib/linebreak.c.
77867         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77868         lib/linebreak.c.
77869         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77870         lib/linebreak.c.
77871         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77872         lib/linebreak.c.
77873         * modules/unilbrk/base: New file.
77874         * modules/unilbrk/tables: New file.
77875         * modules/unilbrk/u8-possible-linebreaks: New file.
77876         * modules/unilbrk/u16-possible-linebreaks: New file.
77877         * modules/unilbrk/u32-possible-linebreaks: New file.
77878         * modules/unilbrk/ulc-common: New file.
77879         * modules/unilbrk/ulc-possible-linebreaks: New file.
77880         * modules/unilbrk/u8-width-linebreaks: New file.
77881         * modules/unilbrk/u16-width-linebreaks: New file.
77882         * modules/unilbrk/u32-width-linebreaks: New file.
77883         * modules/unilbrk/ulc-width-linebreaks: New file.
77884         * lib/linebreak.h: Remove file.
77885         * lib/linebreak.c: Remove file.
77886         * m4/linebreak.m4: Remove file.
77887         * modules/linebreak: Remove file.
77888         * NEWS: Mention the changes.
77890 2008-05-09  Eric Blake  <ebb9@byu.net>
77892         Add xmemdup0.
77893         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77894         implementation.
77895         * lib/xmalloc.c (xmemdup0): New C implementation.
77897 2008-05-08  Bruno Haible  <bruno@clisp.org>
77899         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77901 2008-05-07  Eric Blake  <ebb9@byu.net>
77903         Support cross-compilation of <wctype.h>.
77904         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77905         AC_CACHE_CHECK.
77907 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77909         * build-aux/vc-list-files: Add support for bzr.
77911 2008-05-03  Jim Meyering  <meyering@redhat.com>
77913         avoid failed assertion with tight malloc
77914         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77916 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77918         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77919         are needed from arpa/inet.h.
77920         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77921         Reported by Bruno Haible.
77923 2008-05-02  Jim Meyering  <meyering@redhat.com>
77925         avoid compilation error on FreeBSD 6
77926         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77928 2008-05-01  Jim Meyering  <meyering@redhat.com>
77930         useless-if-before-free: correct --help's exit status description
77931         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77932         for one or more matches, etc.  Reported by Bruno Haible.
77934         vc-list-files: make the stand-alone gnulib test work
77935         * modules/vc-list-files-tests (configure.ac):
77936         Define and AC_SUBST abs_aux_dir.
77937         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77938         $(abs_top_srcdir) to each script and having each of them
77939         duplicate the work of setting PATH, set PATH here, using
77940         the new variable, abs_aux_dir instead.
77941         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77942         * tests/test-vc-list-files-git.sh: Likewise.
77943         Reported by Bruno Haible.
77945 2008-05-01  Bruno Haible  <bruno@clisp.org>
77947         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77948         reallocation. Rename 'done' to 'found_delimiter'.
77950 2008-05-01  Jim Meyering  <meyering@redhat.com>
77952         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77953         * build-aux/vc-list-files: Use `...`, not $(...).
77955 2008-04-30  Jim Meyering  <meyering@redhat.com>
77957         add tests for vc-list-files
77958         * modules/vc-list-files-tests: New module.
77959         * tests/test-vc-list-files-cvs.sh: New file.
77960         * tests/test-vc-list-files-git.sh: New file.
77962         avoid a warning from gcc
77963         * lib/getndelim2.c (IF_LINT): Define.
77964         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77966         vc-list-files: work properly with build-aux/cvsu, too
77967         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77968         to all cvs-based clauses.
77970         vc-list-files: work properly in the CVS+awk case, too
77971         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77973         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77974         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77975         take more than one file argument, so .  Add quotes, just in case $dir
77976         ever contains a shell meta-character.  Prompted by Soren Hansen in
77977         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77979 2008-04-29  Eric Blake  <ebb9@byu.net>
77981         Optimize getndelim2 to use block operations when possible.
77982         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77983         freadseek, and memchr2.
77984         * lib/getndelim2.c (getndelim2): Use them for block reads.
77986 2008-04-29  Bruno Haible  <bruno@clisp.org>
77988         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77989         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77990         * modules/inet_ntop (Depends-on): Add extensions.
77991         * modules/inet_pton (Depends-on): Likewise.
77992         Reported by Simon Josefsson.
77994 2008-04-29  Jim Meyering  <meyering@redhat.com>
77996         When the is more than one match in a block, match all of them.
77997         * build-aux/useless-if-before-free: Iterate through each block
77998         until there are no more matches.
78000         Fix broken useless-if-before-free script.
78001         * build-aux/useless-if-before-free: Fix typo: missing "?" after
78002         the expression to match cast of argument to free-like function.
78004 2008-04-29  Eric Blake  <ebb9@byu.net>
78006         Use new header.
78007         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
78009 2008-04-29  Jim Meyering  <meyering@redhat.com>
78011         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
78012         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
78013         by gnulib to exist and to declare e.g., inet_ntop.
78014         Don't include "inet_ntop.h", now removed.
78016         * m4/arpa_inet_h.m4: Remove trailing blanks.
78018 2008-04-29  Eric Blake  <ebb9@byu.net>
78020         Silence valgrind on safe reads beyond potential array bounds.
78021         * lib/rawmemchr.valgrind: New file.
78022         * lib/strchrnul.valgrind: Likewise.
78023         * modules/rawmemchr (Files): Distribute new file.
78024         * modules/strchrnul (Files): Likewise.
78025         Suggested by Bruno Haible.
78027 2008-04-29  Bruno Haible  <bruno@clisp.org>
78029         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
78030         (inet_ntop, inet_pton): Change portability warning's wording.
78031         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
78032         Invoke gl_CHECK_NEXT_HEADERS.
78033         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
78034         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
78035         set ARPA_INET_H.
78036         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78037         * modules/arpa_inet (Description): No longer only for systems that
78038         lack it.
78039         (Depends-on): Add include_next.
78040         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
78041         HAVE_ARPA_INET_H.
78043 2008-04-29  Jim Meyering  <meyering@redhat.com>
78045         * modules/mkdir (License): Re-license as LGPLv2+.
78047 2008-04-29  Bruno Haible  <bruno@clisp.org>
78049         * modules/rawmemchr (Maintainer): Set to Eric.
78050         * modules/strchrnul (Maintainer): Likewise.
78052 2008-04-29  Simon Josefsson  <simon@josefsson.org>
78054         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
78055         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
78057         * modules/arpa_inet (arpa/inet.h): Use them.
78059 2008-04-28  Eric Blake  <ebb9@byu.net>
78061         Test getndelim2.
78062         * modules/getndelim2-tests: New file.
78063         * tests/test-getndelim2.c: Likewise.
78064         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
78065         stream.
78066         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
78068         * MODULES.html.sh: Document new module.
78070 2008-04-20  Bruno Haible  <bruno@clisp.org>
78072         * lib/c-stack.c (die): Use raise.
78073         * modules/c-stack (Depends-on): Add raise.
78075 2008-04-28  Bruno Haible  <bruno@clisp.org>
78077         Expect rpmatch to be declared.
78078         * lib/yesno.c (rpmatch): Remove declaration.
78080         Declare rpmatch.
78081         * lib/stdlib.in.h (rpmatch): New declaration.
78082         * lib/rpmatch.c: Include <stdlib.h> first.
78083         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
78084         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
78085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
78086         HAVE_RPMATCH.
78087         * modules/rpmatch (Depends-on): Add stdlib, extensions.
78088         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78089         (Include): Set to <stdlib.h>.
78090         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
78091         HAVE_RPMATCH.
78092         * NEWS: Document the change.
78094 2008-04-28  Bruno Haible  <bruno@clisp.org>
78096         Change rpmatch to use nl_langinfo when appropriate.
78097         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
78098         (N_): New macro.
78099         (localized_pattern): New function/macro.
78100         (try): Remove match, nomatch arguments. Copy the pattern into safe
78101         memory before caching it.
78102         (rpmatch): Use localized_pattern. Add translator comments.
78103         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
78104         Suggested by Eric Blake.
78105         * modules/rpmatch (Depends-on): Add stdbool.
78107 2008-04-28  Eric Blake  <ebb9@byu.net>
78109         Add rawmemchr module, matching glibc.
78110         * modules/string (Makefile.am): New indicator.
78111         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
78112         * lib/string.in.h (rawmemchr): Declare when appropriate.
78113         * modules/rawmemchr: New file.
78114         * m4/rawmemchr.m4: Likewise.
78115         * lib/rawmemchr.c: Likewise.
78116         * modules/rawmemchr-tests: Likewise.
78117         * tests/test-rawmemchr.c: Likewise.
78118         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
78119         module.
78120         * modules/strchrnul (Depends-on): Add rawmemchr.
78121         * lib/strchrnul.c (strchrnul): Optimize a corner case.
78123         Whitespace cleanup.
78124         * tests/test-strchrnul.c: Reindent.
78125         * lib/strchrnul.c: Likewise.
78127         Optimize and test strchrnul.
78128         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
78129         * modules/strchrnul-tests: New file.
78130         * tests/test-strchrnul.c: Likewise.
78132         Remove intprops dependency.
78133         * modules/memchr (Depends-on): Remove intprops.
78134         * modules/memrchr (Depends-on): Likewise.
78135         * modules/memchr2 (Depends-on): Likewise.
78136         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
78137         * lib/memrchr.c (__memrchr): Likewise.
78138         * lib/memrchr2.c (memchr2): Likewise.
78139         Reported by Simon Josefsson.
78141 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78143         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
78144         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78146 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78148         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
78150         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
78152         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
78154         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
78155         declarations.
78156         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
78158         * m4/inet_pton.m4: Don't check for header files.
78160         * m4/inet_ntop.m4: Don't check for header files.
78162 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78164         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
78165         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
78166         trigger for cygwin).
78167         Reported by Bruno Haible  <bruno@clisp.org>.
78169 2008-04-28  Bruno Haible  <bruno@clisp.org>
78171         * doc/posix-functions/strdup.texi: Mention mingw problem.
78173 2008-04-27  Bruno Haible  <bruno@clisp.org>
78175         * modules/stat-time-tests (Depends-on): Add sleep.
78176         * tests/test-stat-time.c (force_unlink): New function.
78177         (cleanup): Use it.
78178         (test_mtime): Remove the ctime related tests.
78179         (test_ctime): New function, containing the ctime related tests.
78180         (main): Call test_ctime, except on native Windows platforms.
78182 2008-04-27  Bruno Haible  <bruno@clisp.org>
78184         * lib/rpmatch.c (rpmatch): Add some comments.
78185         Reported by James Youngman <jay@gnu.org>.
78187 2008-04-27  Bruno Haible  <bruno@clisp.org>
78189         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
78190         quiet NaNs.
78192 2008-04-27  Bruno Haible  <bruno@clisp.org>
78194         Make test-yesno.sh work on mingw.
78195         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
78196         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
78197         (main): Set stdin to binary mode.
78198         * modules/yesno-tests (Depends-on): Add binary-io.
78200 2008-04-27  Bruno Haible  <bruno@clisp.org>
78202         Fix 'isfinite' on x86, x86_64, ia64 platforms.
78203         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
78204         argument that lie outside the IEEE 854 domain.
78205         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
78206         (gl_ISFINITE): Use it.
78207         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
78209 2008-04-27  Bruno Haible  <bruno@clisp.org>
78211         Allow local renaming in config.h.
78212         * lib/memrchr.c (memrchr): Don't undefine outside libc.
78214 2008-04-27  Bruno Haible  <bruno@clisp.org>
78216         * lib/memchr.c (__memchr): Change type of 'i'.
78217         * lib/memchr2.c (memchr2): Likewise.
78219 2008-04-26  Eric Blake  <ebb9@byu.net>
78220         and Bruno Haible  <bruno@clisp.org>
78222         Optimize and test memrchr.
78223         * modules/memrchr (Depends-on): Add intprops.
78224         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
78225         * modules/memrchr-tests: New file.
78226         * tests/test-memrchr.c: New file.
78228 2008-04-26  Bruno Haible  <bruno@clisp.org>
78230         Add tentative support for DragonFly BSD.
78231         * lib/stdio-impl.h: Add macros for DragonFly BSD.
78232         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
78233         fp.
78234         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78235         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
78236         * lib/fpurge.c (fpurge): Likewise.
78237         * lib/freadable.c (freaadable): Likewise.
78238         * lib/freadahead.c (freadahead): Likewise.
78239         * lib/freading.c (freading): Likewise.
78240         * lib/freadptr.c (freadptr): Likewise.
78241         * lib/freadseek.c (freadptrinc): Likewise.
78242         * lib/fseeko.c (fseeko): Likewise.
78243         * lib/fseterr.c (fseterr): Likewise.
78244         * lib/fwritable.c (fwritable): Likewise.
78245         * lib/fwriting.c (fwriting): Likewise.
78247 2008-04-26  Bruno Haible  <bruno@clisp.org>
78249         * lib/stdio-impl.h: New file.
78250         * lib/fbufmode.c: Include stdio-impl.h.
78251         (fbufmode): Use fp_, remove redundant #defines.
78252         * lib/fflush.c: Include stdio-impl.h.
78253         (clear_ungetc_buffer): Remove redundant #defines.
78254         * lib/fpurge.c: Include stdio-impl.h.
78255         (fpurge): Remove redundant #defines.
78256         * lib/freadable.c: Include stdio-impl.h.
78257         (freadable): Remove redundant #defines.
78258         * lib/freadahead.c: Include stdio-impl.h.
78259         (freadahead): Remove redundant #defines.
78260         * lib/freading.c: Include stdio-impl.h.
78261         (freading): Remove redundant #defines.
78262         * lib/freadptr.c: Include stdio-impl.h.
78263         (freadptr): Remove redundant #defines.
78264         * lib/freadseek.c: Include stdio-impl.h.
78265         (freadptrinc): Remove redundant #defines.
78266         * lib/fseeko.c: Include stdio-impl.h.
78267         (rpl_fseeko): Remove redundant #defines.
78268         * lib/fseterr.c: Include stdio-impl.h.
78269         (fseterr): Remove redundant #defines.
78270         * lib/fwritable.c: Include stdio-impl.h.
78271         (fwritable: Remove redundant #defines.
78272         * lib/fwriting.c: Include stdio-impl.h.
78273         (fwriting): Remove redundant #defines.
78274         * modules/fbufmode (Files): Add lib/stdio-impl.h.
78275         * modules/fflush (Files): Likewise.
78276         * modules/fpurge (Files): Likewise.
78277         * modules/freadable (Files): Likewise.
78278         * modules/freadahead (Files): Likewise.
78279         * modules/freading (Files): Likewise.
78280         * modules/freadptr (Files): Likewise.
78281         * modules/freadseek (Files): Likewise.
78282         * modules/fseeko (Files): Likewise.
78283         * modules/fseterr (Files): Likewise.
78284         * modules/fwritable (Files): Likewise.
78285         * modules/fwriting (Files): Likewise.
78287 2008-04-26  Bruno Haible  <bruno@clisp.org>
78289         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78290         restore_seek_optimization, update_fpos_cache): New functions, extracted
78291         from rpl_fflush.
78292         (rpl_fflush): Use them.
78293         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
78294         (gl_REPLACE_FFLUSH): Use it.
78296 2008-04-26  Bruno Haible  <bruno@clisp.org>
78298         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
78299         on Solaris.
78300         * tests/test-xstrtoimax.sh: Likewise.
78301         * tests/test-xstrtoumax.sh: Likewise.
78302         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78304 2008-04-26  Bruno Haible  <bruno@clisp.org>
78306         * modules/memchr-tests: New file.
78307         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
78309 2008-04-26  Eric Blake  <ebb9@byu.net>
78310             Bruno Haible  <bruno@clisp.org>
78312         * lib/memchr.c: Include intprops.h.
78313         (__memchr): Optimize parallel detection of matching bytes. Rename local
78314         variables. Add explanatory comments.
78316 2008-04-26  Bruno Haible  <bruno@clisp.org>
78318         Fix module 'memchr', broken since 2000-10-28.
78319         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
78321 2008-04-26  Bruno Haible  <bruno@clisp.org>
78323         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
78324         comments.
78326 2008-04-25  Eric Blake  <ebb9@byu.net>
78328         Use native fstatat on cygwin 1.7.0.
78329         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
78330         first.
78332 2008-04-23  Eric Blake  <ebb9@byu.net>
78334         Improve memchr2 performance.
78335         * lib/memchr2.c (memchr2): Further optimize parallel detection of
78336         NUL bytes.
78337         * modules/memchr2 (Depends-on): Use intprops.h.
78339 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78341         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
78342         an inline function instead of a CPP macro.  Patch by Ben Pfaff
78343         <blp@cs.stanford.edu>.
78345 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78347         * lib/arpa_inet.in.h: New file.
78349         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
78350         (Makefile.am): Sed in substitute header file.
78352         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
78353         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
78355         * modules/inet_ntop (configure.ac): Use
78356         gl_ARPA_INET_MODULE_INDICATOR.
78358         * modules/inet_pton (configure.ac): Use
78359         gl_ARPA_INET_MODULE_INDICATOR.
78361 2008-04-22  Jim Meyering  <meyering@redhat.com>
78363         * modules/verify (License): Re-license as LGPLv2+.
78365 2008-04-22  Simon Josefsson  <simon@josefsson.org>
78367         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
78368         parameter to void* as per POSIX standard (MinGW uses char*).
78370 2008-04-21  Bruno Haible  <bruno@clisp.org>
78372         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78373         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78374         Define to replacements if REPLACE_ISWCNTRL is 1.
78375         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
78376         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
78377         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
78378         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
78379         what it fixes.
78380         * doc/posix-functions/iswalpha.texi: Likewise.
78381         * doc/posix-functions/iswblank.texi: Likewise.
78382         * doc/posix-functions/iswcntrl.texi: Likewise.
78383         * doc/posix-functions/iswdigit.texi: Likewise.
78384         * doc/posix-functions/iswgraph.texi: Likewise.
78385         * doc/posix-functions/iswlower.texi: Likewise.
78386         * doc/posix-functions/iswprint.texi: Likewise.
78387         * doc/posix-functions/iswpunct.texi: Likewise.
78388         * doc/posix-functions/iswspace.texi: Likewise.
78389         * doc/posix-functions/iswupper.texi: Likewise.
78390         * doc/posix-functions/iswxdigit.texi: Likewise.
78391         Reported by Alain Guibert.
78393 2008-04-21  Bruno Haible  <bruno@clisp.org>
78395         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
78396         Patch by Alain Guibert.
78398 2008-04-21  Bruno Haible  <bruno@clisp.org>
78400         Fix test failures on mingw.
78401         * tests/test-xstrtol.c (print_no_progname): New function.
78402         (main): Install it in error_print_progname hook.
78403         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
78404         * tests/test-xstrtoimax.sh: Likewise.
78405         * tests/test-xstrtoumax.sh: Likewise.
78407 2008-04-21  Bruno Haible  <bruno@clisp.org>
78409         Fix test failure on mingw.
78410         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
78412 2008-04-21  Bruno Haible  <bruno@clisp.org>
78414         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
78415         Actually assign a value.
78417 2008-04-20  Bruno Haible  <bruno@clisp.org>
78419         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
78420         take 2.
78421         * lib/canonicalize.c (canonicalize_file_name): Elide if the
78422         'canonicalize-lgpl' module is also used.
78423         * lib/canonicalize-lgpl.c: Undo last change.
78424         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
78426 2008-04-20  Bruno Haible  <bruno@clisp.org>
78428         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
78429         config.h. Provide _mkdir based fallback for mingw.
78430         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
78431         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
78432         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
78433         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
78434         rather than defining mkdir in config.h.
78435         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
78436         (gl_SYS_STAT_H_DEFAULTS): New macro.
78437         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
78438         HAVE_IO_H any more.
78439         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
78440         HAVE_DECL_MKDIR and HAVE_IO_H.
78442 2008-04-20  Bruno Haible  <bruno@clisp.org>
78444         * lib/isapipe.c: Port to native Windows platforms.
78446 2008-04-20  Bruno Haible  <bruno@clisp.org>
78448         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
78450 2008-04-21  Eric Blake  <ebb9@byu.net>
78452         Work around preprocessors that don't handle UINTMAX_MAX.
78453         * lib/memchr2.c (memchr2): Avoid embedded #if.
78454         Reported by Alain Guibert, fix suggested by Bruno Haible.
78456 2008-04-21  Simon Josefsson  <simon@josefsson.org>
78458         * doc/posix-functions/strftime.texi (strftime): Explain better
78459         Windows incompatibility.  Suggested by Micah Cowan
78460         <micah@cowan.name>.
78462 2008-04-20  Bruno Haible  <bruno@clisp.org>
78464         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
78465         unistr/u8-mblen.
78467 2008-04-20  Bruno Haible  <bruno@clisp.org>
78469         Fix test failure on platforms with non-GNU iconv.
78470         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78471         (U_TO_U8): Use it, rather than u16_to_u8.
78472         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78473         units at the end of the input string.
78474         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78476 2008-04-20  Bruno Haible  <bruno@clisp.org>
78478         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78479         when the resulting length is 0.
78480         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78482 2008-04-20  Bruno Haible  <bruno@clisp.org>
78484         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78485         works.
78486         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78488 2008-04-20  Bruno Haible  <bruno@clisp.org>
78490         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78491         * modules/tsearch-tests (configure.ac): Test for initstate function.
78493 2008-04-20  Bruno Haible  <bruno@clisp.org>
78495         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78496         for nlink_t if missing.
78497         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78499 2008-04-19  Bruno Haible  <bruno@clisp.org>
78501         Work around snprintf bug on Linux libc5.
78502         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78503         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78504         gl_SNPRINTF_SIZE1.
78505         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78506         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78507         that test failed.
78508         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78509         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78510         * modules/snprintf (Files): Add m4/printf.m4.
78511         * modules/vsnprintf (Files): Likewise.
78512         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78513         * doc/posix-functions/vsnprintf.texi: Likewise.
78515 2008-04-19  Bruno Haible  <bruno@clisp.org>
78517         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78518         from 0.0058 to less than 10^-7.
78520 2008-04-19  Bruno Haible  <bruno@clisp.org>
78522         Fix rounding when a precision is given.
78523         * lib/vasnprintf.c (is_borderline): New function.
78524         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78525         9...9x.
78526         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78527         %e, %g.
78528         * tests/test-vasprintf-posix.c (test_function): Likewise.
78529         * tests/test-snprintf-posix.h (test_function): Likewise.
78530         * tests/test-sprintf-posix.h (test_function): Likewise.
78531         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78532         * tests/test-printf-posix.h (test_function): Likewise.
78533         * tests/test-printf-posix.output: Update.
78534         Reported by John Darrington <john@darrington.wattle.id.au> via
78535         Ben Pfaff <blp@cs.stanford.edu>.
78537 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78539         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78540         Suggested by Bruno Haible <bruno@clisp.org>.
78542 2008-04-17  Bruno Haible  <bruno@clisp.org>
78544         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78545         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78546         implementation.
78547         Patch by Bruce Merry <bmerry@gmail.com>.
78549 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78551         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78552         doesn't work under Windows.
78554 2008-04-16  Bruno Haible  <bruno@clisp.org>
78556         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78557         New macros.
78558         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78559         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78560         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78561         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78562         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78563         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78564         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78565         macros.
78566         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78567         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78568         Northern Sotho, Uighur.
78570 2008-04-16  Bruno Haible  <bruno@clisp.org>
78572         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78573         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78574         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78575         Reported by Daniel Bergström <daniel@octocode.com>.
78577 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78578             Bruno Haible  <bruno@clisp.org>
78580         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78581         function.
78582         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78583         New functions, mostly extracted from gl_locale_name_default.
78584         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78586 2008-04-16  Eric Blake  <ebb9@byu.net>
78588         Adjust strtod detection to catch glibc 2.7 bug.
78589         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78590         Reported by John Gatewood Ham.
78592 2008-04-16  Bruno Haible  <bruno@clisp.org>
78594         Add tentative support for Linux libc5.
78595         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78596         * lib/fpurge.c (fpurge): Likewise.
78597         * lib/freadable.c (freadable): Likewise.
78598         * lib/freadahead.c (freadahead): Likewise.
78599         * lib/freading.c (freading): Likewise.
78600         * lib/freadptr.c (freadptr): Likewise.
78601         * lib/freadseek.c (freadptrinc): Likewise.
78602         * lib/fseeko.c (rpl_fseeko): Likewise.
78603         * lib/fseterr.c (fseterr): Likewise.
78604         * lib/fwritable.c (fwritable): Likewise.
78605         * lib/fwriting.c (fwriting): Likewise.
78606         Reported by Alain Guibert <alguibert+bts@free.fr>.
78608 2008-04-15  Bruno Haible  <bruno@clisp.org>
78610         * modules/mathl (configure.ac): Define module indicator.
78612 2008-04-15  Bruno Haible  <bruno@clisp.org>
78614         * lib/logl.c (logl): Remove unused variables.
78616 2008-04-15  Bruno Haible  <bruno@clisp.org>
78618         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78619         fails.
78621 2008-04-15  Bruno Haible  <bruno@clisp.org>
78623         * lib/trim.c (trim2): Fix argument of isspace() macro.
78625 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78627         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78628         to 0.
78629         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78631 2008-04-14  Bruno Haible  <bruno@clisp.org>
78633         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78634         AC_LANG_PROGRAM argument.
78635         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78636         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78637         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78638         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78639         * m4/math_h.m4 (gl_MATH_H): Likewise.
78640         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78641         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78642         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78643         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78644         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78645         * m4/regex.m4 (gl_REGEX): Likewise.
78646         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78647         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78648         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78649         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78650         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78651         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78652         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78653         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78655 2008-04-14  Jim Meyering  <meyering@redhat.com>
78657         test-strtod: fix typos: s/abs/fabs/
78658         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78660 2008-04-13  Bruno Haible  <bruno@clisp.org>
78662         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78663         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78664         module is also used and while not building the reloc-wrapper.
78666 2008-04-13  Bruno Haible  <bruno@clisp.org>
78668         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78670 2008-04-13  Bruno Haible  <bruno@clisp.org>
78672         Fix AIX compilation failure introduced on 2008-04-02.
78673         * tests/test-frexp.c (exp): Undefine before redefining.
78674         * tests/test-frexpl.c (exp): Likewise.
78676 2008-04-13  Bruno Haible  <bruno@clisp.org>
78678         Work around a HP-UX stdio bug.
78679         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78680         * tests/test-ftello.c (main): Likewise.
78681         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78682         * doc/posix-functions/ftello.texi: Likewise.
78684 2008-04-13  Bruno Haible  <bruno@clisp.org>
78686         Make test-signbit pass on HP-UX/hppa.
78687         * tests/test-signbit.c (minus_zerol): New variable.
78688         (test_signbitl): Use it.
78690 2008-04-13  Bruno Haible  <bruno@clisp.org>
78692         Make truncl work on OSF/1 4.0.
78693         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78694         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78695         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78696         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78697         HAVE_DECL_TRUNCL.
78698         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78699         HAVE_DECL_TRUNCL.
78700         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78702 2008-04-13  Bruno Haible  <bruno@clisp.org>
78704         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78706 2008-04-13  Bruno Haible  <bruno@clisp.org>
78708         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78709         expression, so as to avoid HP-UX 11 cc compiler bug.
78711 2008-04-13  Bruno Haible  <bruno@clisp.org>
78713         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78715 2008-04-13  Bruno Haible  <bruno@clisp.org>
78717         * lib/git-merge-changelog.c: Remove empty declaration outside of
78718         functions.
78720 2008-04-13  Bruno Haible  <bruno@clisp.org>
78722         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78724 2008-04-13  Bruno Haible  <bruno@clisp.org>
78726         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78727         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78728         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78729         also if it exists but lacks definitions of the SHUT_* macros.
78730         * modules/sys_socket (Description): Update.
78731         Reported by Elbert Pol <e.pol@chello.nl>.
78733 2008-04-13  Bruno Haible  <bruno@clisp.org>
78735         * lib/localcharset.c (OS2): Don't redefine if already defined.
78736         Reported by Elbert Pol <e.pol@chello.nl>.
78738 2008-04-13  Bruno Haible  <bruno@clisp.org>
78740         * lib/binary-io.h [__EMX__]: Include <io.h>.
78741         Reported by Elbert Pol <e.pol@chello.nl>.
78743 2008-04-12  Bruno Haible  <bruno@clisp.org>
78745         * lib/fpucw.h: Enable the definitions also for x86_64.
78746         Needed for NetBSD/x86_64.
78747         Reported by Thomas Klausner <tk@giga.or.at>.
78749 2008-04-12  Bruno Haible  <bruno@clisp.org>
78751         * tests/test-strtod.c: Include isnand.h.
78752         (main): Use isnand instead of isnan.
78753         Reported by Jim Meyering.
78755 2008-04-12  Bruno Haible  <bruno@clisp.org>
78757         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78758         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78760 2008-04-12  Jim Meyering  <meyering@redhat.com>
78762         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78764 2008-04-12  Bruno Haible  <bruno@clisp.org>
78766         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78767         Reported by Elbert Pol <e.pol@chello.nl>.
78769 2008-04-12  Eric Blake  <ebb9@byu.net>
78771         Work around Solaris 10 math.h bug.
78772         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78773         (gl_MATH_H_DEFAULTS): Set up default.
78774         * modules/math (Makefile.am): Replace new indicators.
78775         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78776         * tests/test-math.c (main): Test this.
78777         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78778         * doc/posix-headers/math.texi (math.h): Mention bug.
78779         Reported by Nelson H. F. Beebe and Jim Meyering.
78781 2008-04-11  Bruno Haible  <bruno@clisp.org>
78783         Adapt to future versions of Apple GCC.
78784         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78785         Reported by Peter O'Gorman <peter@pogma.com>.
78787 2008-04-11  Bruno Haible  <bruno@clisp.org>
78789         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78791 2008-04-11  Bruno Haible  <bruno@clisp.org>
78793         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78795         * modules/getaddrinfo-tests (Makefile.am): Define
78796         test_getaddrinfo_LDADD.
78798 2008-04-11  Bruno Haible  <bruno@clisp.org>
78800         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78801         (init): Fix syntax error.
78802         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78803         is declared.
78805 2008-04-11  Bruno Haible  <bruno@clisp.org>
78807         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78808         * modules/glob (Depends-on): Add stdbool.
78810 2008-04-11  Bruno Haible  <bruno@clisp.org>
78812         * lib/trim.c: Include <string.h>.
78814 2008-04-11  Eric Blake  <ebb9@byu.net>
78816         Avoid compile failure on OS/2.
78817         * lib/regex_internal.h (internal_function): Disable optimization
78818         on OS/2 (__EMX__), where it caused compiler error.
78819         Reported by Elbert Pol.
78821 2008-04-11  Bruno Haible  <bruno@clisp.org>
78823         Flush the standard error stream before aborting. Needed on mingw.
78824         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78825         * tests/test-array_list.c (ASSERT): Likewise.
78826         * tests/test-array_oset.c (ASSERT): Likewise.
78827         * tests/test-avltree_list.c (ASSERT): Likewise.
78828         * tests/test-avltree_oset.c (ASSERT): Likewise.
78829         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78830         * tests/test-binary-io.c (ASSERT): Likewise.
78831         * tests/test-byteswap.c (ASSERT): Likewise.
78832         * tests/test-c-ctype.c (ASSERT): Likewise.
78833         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78834         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78835         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78836         * tests/test-c-strstr.c (ASSERT): Likewise.
78837         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78838         * tests/test-canonicalize.c (ASSERT): Likewise.
78839         * tests/test-carray_list.c (ASSERT): Likewise.
78840         * tests/test-ceilf1.c (ASSERT): Likewise.
78841         * tests/test-ceilf2.c (ASSERT): Likewise.
78842         * tests/test-ceill.c (ASSERT): Likewise.
78843         * tests/test-count-one-bits.c (ASSERT): Likewise.
78844         * tests/test-fbufmode.c (ASSERT): Likewise.
78845         * tests/test-fflush2.c (ASSERT): Likewise.
78846         * tests/test-floorf1.c (ASSERT): Likewise.
78847         * tests/test-floorf2.c (ASSERT): Likewise.
78848         * tests/test-floorl.c (ASSERT): Likewise.
78849         * tests/test-fopen.c (ASSERT): Likewise.
78850         * tests/test-fpending.c (ASSERT): Likewise.
78851         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78852         * tests/test-fpurge.c (ASSERT): Likewise.
78853         * tests/test-freadable.c (ASSERT): Likewise.
78854         * tests/test-freadahead.c (ASSERT): Likewise.
78855         * tests/test-freading.c (ASSERT): Likewise.
78856         * tests/test-freadptr.c (ASSERT): Likewise.
78857         * tests/test-freadptr2.c (ASSERT): Likewise.
78858         * tests/test-freadseek.c (ASSERT): Likewise.
78859         * tests/test-freopen.c (ASSERT): Likewise.
78860         * tests/test-frexp.c (ASSERT): Likewise.
78861         * tests/test-frexpl.c (ASSERT): Likewise.
78862         * tests/test-fseek.c (ASSERT): Likewise.
78863         * tests/test-fseeko.c (ASSERT): Likewise.
78864         * tests/test-fstrcmp.c (ASSERT): Likewise.
78865         * tests/test-ftell.c (ASSERT): Likewise.
78866         * tests/test-ftello.c (ASSERT): Likewise.
78867         * tests/test-func.c (ASSERT): Likewise.
78868         * tests/test-fwritable.c (ASSERT): Likewise.
78869         * tests/test-fwriting.c (ASSERT): Likewise.
78870         * tests/test-getdelim.c (ASSERT): Likewise.
78871         * tests/test-getline.c (ASSERT): Likewise.
78872         * tests/test-i-ring.c (ASSERT): Likewise.
78873         * tests/test-iconv-utf.c (ASSERT): Likewise.
78874         * tests/test-iconv.c (ASSERT): Likewise.
78875         * tests/test-isfinite.c (ASSERT): Likewise.
78876         * tests/test-isnand.c (ASSERT): Likewise.
78877         * tests/test-isnanf.c (ASSERT): Likewise.
78878         * tests/test-isnanl.h (ASSERT): Likewise.
78879         * tests/test-ldexpl.c (ASSERT): Likewise.
78880         * tests/test-linked_list.c (ASSERT): Likewise.
78881         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78882         * tests/test-localename.c (ASSERT): Likewise.
78883         * tests/test-lseek.c (ASSERT): Likewise.
78884         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78885         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78886         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78887         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78888         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78889         * tests/test-mbschr.c (ASSERT): Likewise.
78890         * tests/test-mbscspn.c (ASSERT): Likewise.
78891         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78892         * tests/test-mbspbrk.c (ASSERT): Likewise.
78893         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78894         * tests/test-mbsrchr.c (ASSERT): Likewise.
78895         * tests/test-mbsspn.c (ASSERT): Likewise.
78896         * tests/test-mbsstr1.c (ASSERT): Likewise.
78897         * tests/test-mbsstr2.c (ASSERT): Likewise.
78898         * tests/test-mbsstr3.c (ASSERT): Likewise.
78899         * tests/test-memchr2.c (ASSERT): Likewise.
78900         * tests/test-memmem.c (ASSERT): Likewise.
78901         * tests/test-open.c (ASSERT): Likewise.
78902         * tests/test-printf-frexp.c (ASSERT): Likewise.
78903         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78904         * tests/test-printf-posix.c (ASSERT): Likewise.
78905         * tests/test-quotearg.c (ASSERT): Likewise.
78906         * tests/test-rbtree_list.c (ASSERT): Likewise.
78907         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78908         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78909         * tests/test-round1.c (ASSERT): Likewise.
78910         * tests/test-roundf1.c (ASSERT): Likewise.
78911         * tests/test-roundl.c (ASSERT): Likewise.
78912         * tests/test-signbit.c (ASSERT): Likewise.
78913         * tests/test-sleep.c (ASSERT): Likewise.
78914         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78915         * tests/test-snprintf.c (ASSERT): Likewise.
78916         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78917         * tests/test-stat-time.c (ASSERT): Likewise.
78918         * tests/test-strcasestr.c (ASSERT): Likewise.
78919         * tests/test-strerror.c (ASSERT): Likewise.
78920         * tests/test-striconv.c (ASSERT): Likewise.
78921         * tests/test-striconveh.c (ASSERT): Likewise.
78922         * tests/test-striconveha.c (ASSERT): Likewise.
78923         * tests/test-strsignal.c (ASSERT): Likewise.
78924         * tests/test-strstr.c (ASSERT): Likewise.
78925         * tests/test-strtod.c (ASSERT): Likewise.
78926         * tests/test-trunc1.c (ASSERT): Likewise.
78927         * tests/test-trunc2.c (ASSERT): Likewise.
78928         * tests/test-truncf1.c (ASSERT): Likewise.
78929         * tests/test-truncf2.c (ASSERT): Likewise.
78930         * tests/test-truncl.c (ASSERT): Likewise.
78931         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78932         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78933         * tests/test-vasnprintf.c (ASSERT): Likewise.
78934         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78935         * tests/test-vasprintf.c (ASSERT): Likewise.
78936         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78937         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78938         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78939         * tests/test-vsnprintf.c (ASSERT): Likewise.
78940         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78941         * tests/test-wcwidth.c (ASSERT): Likewise.
78942         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78943         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78944         * tests/test-xvasprintf.c (ASSERT): Likewise.
78945         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78946         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78947         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78948         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78949         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78950         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78951         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78952         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78953         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78954         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78955         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78956         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78957         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78958         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78959         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78960         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78961         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78962         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78963         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78964         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78965         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78966         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78967         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78968         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78969         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78970         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78971         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78972         * tests/unictype/test-combining.c (ASSERT): Likewise.
78973         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78974         * tests/unictype/test-digit.c (ASSERT): Likewise.
78975         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78976         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78977         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78978         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78979         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78980         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78981         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78982         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78983         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78984         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78985         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78986         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78987         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78988         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78989         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78990         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78991         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78992         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78993         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78994         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78995         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78996         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78997         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78998         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78999         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
79000         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
79001         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
79002         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
79003         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
79004         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
79005         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
79006         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
79007         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
79008         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
79009         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
79010         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
79011         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
79012         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
79013         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
79014         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
79015         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
79016         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
79017         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
79018         Reported by Eric Blake.
79020 2008-04-11  Bruno Haible  <bruno@clisp.org>
79022         * lib/wchar.in.h: Tweak comment.
79024 2008-04-11  Bruno Haible  <bruno@clisp.org>
79026         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
79027         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
79028         gl_COMMON.
79029         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
79031 2008-04-11  Bruno Haible  <bruno@clisp.org>
79033         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
79035 2008-04-11  Simon Josefsson  <simon@josefsson.org>
79037         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
79038         of attempting to use non-existing /dev/*random.  Based on patch
79039         from Adam Strzelecki <ono@java.pl> in
79040         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
79042 2008-04-08  Bruno Haible  <bruno@clisp.org>
79044         Add tentative support for emx+gcc.
79045         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
79046         * lib/fpurge.c (fpurge): Likewise.
79047         * lib/freadable.c (freadable): Likewise.
79048         * lib/freadahead.c (freadahead): Likewise.
79049         * lib/freading.c (freading): Likewise.
79050         * lib/freadptr.c (freadptr): Likewise.
79051         * lib/freadseek.c (freadptrinc): Likewise.
79052         * lib/fseeko.c (rpl_fseeko): Likewise.
79053         * lib/fseterr.c (fseterr): Likewise.
79054         * lib/fwritable.c (fwritable): Likewise.
79055         * lib/fwriting.c (fwriting): Likewise.
79056         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
79058 2008-04-09  Eric Blake  <ebb9@byu.net>
79060         Avoid some autoconf warnings.
79061         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
79062         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
79063         * m4/afs.m4 (gl_AFS): Likewise.
79064         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
79065         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
79066         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79067         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
79068         (gl_INTEGER_TYPE_SUFFIX): Likewise.
79069         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
79070         (AC_CHECK_DECLS_ONCE): Likewise.
79071         Rename file...
79072         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
79073         gnulib-tool requires autoconf 2.59 or better.
79074         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
79076 2008-04-08  Eric Blake  <ebb9@byu.net>
79078         Use 'git describe --match' if present (added in git 1.5.5).
79079         * build-aux/git-version-gen: Limit result to tags that match 'v*'
79080         if possible.
79082 2008-04-08  Bruno Haible  <bruno@clisp.org>
79084         Add tentative support for OpenServer.
79085         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
79086         _ptr, _cnt.
79087         * lib/fpurge.c (fpurge): Likewise.
79088         * lib/freadable.c (freadable): Likewise.
79089         * lib/freadahead.c (freadahead): Likewise.
79090         * lib/freading.c (freading): Likewise.
79091         * lib/freadptr.c (freadptr): Likewise.
79092         * lib/freadseek.c (freadptrinc): Likewise.
79093         * lib/fseeko.c (rpl_fseeko): Likewise.
79094         * lib/fseterr.c (fseterr): Likewise.
79095         * lib/fwritable.c (fwritable): Likewise.
79096         * lib/fwriting.c (fwriting): Likewise.
79097         Reported by Roger Cornelius <rac@tenzing.org> and
79098         Brian K. White <brian@aljex.com>.
79100 2008-04-06  Jim Meyering  <meyering@redhat.com>
79102         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
79104 2008-04-06  Bruno Haible  <bruno@clisp.org>
79106         Avoid possible error with non-ASCII bytes in UTF-8 locales.
79107         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
79108         * tests/test-printf-posix.sh: Likewise.
79109         * tests/test-vfprintf-posix.sh: Likewise.
79110         * tests/test-vprintf-posix.sh: Likewise.
79111         * tests/test-xprintf-posix.sh: Likewise.
79113 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79115         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
79116         hide error from 'ls', needed on OS/2.
79117         Report by Elbert Pol <elbert.pol@gmail.com>.
79119 2008-04-04  Eric Blake  <ebb9@byu.net>
79121         Make test-fseeko.c failures meaningful.
79122         * tests/test-fseeko.c: Print line number on failure.
79123         * tests/test-fseek.c: Likewise.
79124         Reported by Nelson H. F. Beebe.
79126         Improve strtod bug detection check.
79127         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
79128         required for Solaris 10.
79129         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
79131 2008-04-04  Bruno Haible  <bruno@clisp.org>
79133         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
79134         by m4/setenv.m4.
79136 2008-04-03  Eric Blake  <ebb9@byu.net>
79138         Ensure sane .version contents.
79139         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
79140         version string.
79141         * build-aux/git-version-gen: Improve documentation.
79143         Make GNU make output nicer.
79144         * top/GNUmakefile [!_have-Makefile]: Add dependency on
79145         MAKECMDGOALS to enforce message for all command line targets.  Set
79146         srcdir for use in maint.mk.
79148         Another maintainer tweak.
79149         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
79150         a target that regenerates version.
79152 2008-04-03  Jim Meyering  <meyering@redhat.com>
79154         vc-list-files: don't cause coreutils "make po-check" failure
79155         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
79157 2008-04-03  Eric Blake  <ebb9@byu.net>
79159         Allow VPATH usage of vc-list-files.
79160         * build-aux/vc-list-files (scriptversion): Add timestamp.
79161         (options): Add --help, --version, -C.
79162         (CVS): Support installed cvsu.
79164 2008-04-02  Bruno Haible  <bruno@clisp.org>
79166         Avoid some "statement with no effect" warnings from gcc.
79167         * tests/test-wctype.c (main): Explicitly ignore unused values.
79168         Reported by Jim Meyering.
79170 2008-04-02  Jim Meyering  <meyering@redhat.com>
79172         Avoid some warnings from "gcc -Wshadow".
79173         * tests/test-frexp.c (exp): Define to a different identifier.
79174         * tests/test-frexpl.c (exp): Likewise.
79176 2008-04-03  Jim Meyering  <meyering@redhat.com>
79178         bootstrap: remove dangling *.[ch] symlinks from lib
79179         * build-aux/bootstrap [dangling symlink removal]: Move find's
79180         -depth option to precede all others, to avoid a warning.
79181         Remove *.[ch] files too, and from "$source_base" (usually lib/).
79183 2008-04-02  Bruno Haible  <bruno@clisp.org>
79185         Avoid some warnings from "gcc -Wshadow".
79186         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
79187         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
79188         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
79189         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
79190         Reported by Jim Meyering.
79192 2008-04-01  Bruno Haible  <bruno@clisp.org>
79194         Fix test to work on IRIX 6.5 with cc.
79195         * tests/test-math.c (numeric_equal): New function.
79196         (main): Use it.
79198 2008-04-01  Bruno Haible  <bruno@clisp.org>
79200         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
79202 2008-04-01  Bruno Haible  <bruno@clisp.org>
79204         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
79205         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79206         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
79207         (Depends-on): Remove math.
79209         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
79210         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79211         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
79212         (Depends-on): Remove math.
79214         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
79215         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79216         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
79217         (Depends-on): Remove math.
79218         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
79219         (Depends-on): Remove math.
79221         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
79222         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79223         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
79224         (Depends-on): Remove math.
79225         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
79226         (Depends-on): Remove math.
79228         * tests/test-round1.c: Include nan.h.
79229         (main): Use NaNd instead of NAN.
79230         * modules/round-tests (Files): Add tests/nan.h.
79232         * tests/test-trunc1.c: Include nan.h.
79233         (main): Use NaNd instead of NAN.
79234         * modules/trunc-tests (Files): Add tests/nan.h.
79236         * tests/test-roundf1.c: Include nan.h.
79237         (main): Use NaNf instead of NAN.
79238         * modules/roundf-tests (Files): Add tests/nan.h.
79240         * tests/test-truncf1.c: Include nan.h.
79241         (main): Use NaNf instead of NAN.
79242         * modules/truncf-tests (Files): Add tests/nan.h.
79244         * tests/test-ceilf1.c: Include nan.h.
79245         (main): Use NaNf instead of NAN.
79246         * modules/ceilf-tests (Files): Add tests/nan.h.
79248         * tests/test-floorf1.c: Include nan.h.
79249         (main): Use NaNf instead of NAN.
79250         * modules/floorf-tests (Files): Add tests/nan.h.
79252         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
79253         (main): Use NaNf instead of NAN.
79254         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
79256         * tests/test-isnand.c: Include nan.h instead of <math.h>.
79257         (main): Use NaNd instead of NAN.
79258         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
79260         * tests/test-frexp.c: Include nan.h.
79261         (main): Use NaNd instead of NAN.
79262         * modules/frexp-tests (Files): Add tests/nan.h.
79264         * lib/isnan.c: Don't include <math.h>.
79265         (FUNC): Don't use NAN macro.
79266         * modules/isnand-nolibm (Depends-on): Remove math.
79267         * modules/isnanf-nolibm (Depends-on): Remove math.
79268         * modules/isnanl (Depends-on): Remove math.
79269         * modules/isnanl-nolibm (Depends-on): Remove math.
79271         * tests/nan.h: New file.
79273 2008-04-01  Eric Blake  <ebb9@byu.net>
79275         Fix typos.
79276         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
79277         values to be the right type.
79279         For now, cater to gnulib strtod inaccuracies.
79280         * tests/test-strtod.c (main): Allow 1-ulp error on expected
79281         fractional results.  While not as nice from a QoI perspective, it
79282         is a quicker patch than correctly implementing decimal to binary
79283         rounding.
79285 2008-03-31  Eric Blake  <ebb9@byu.net>
79287         Guarantee a definition of NAN.
79288         * lib/math.in.h (NAN): Define if missing.
79289         * tests/test-math.c (main): Test it.
79290         * doc/posix-headers/math.texi (math.h): Document this.
79291         * lib/isnan.c (rpl_isnand): Use it.
79292         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
79293         * tests/test-floorf1.c (NaN): Likewise.
79294         * tests/test-frexp.c (NaN): Likewise.
79295         * tests/test-isnand.c (NaN): Likewise.
79296         * tests/test-isnanf.c (NaN): Likewise.
79297         * tests/test-round1.c (NaN): Likewise.
79298         * tests/test-roundf1.c (NaN): Likewise.
79299         * tests/test-snprintf-posix.h (NaN): Likewise.
79300         * tests/test-sprintf-posix.h (NaN): Likewise.
79301         * tests/test-trunc1.c (NaN): Likewise.
79302         * tests/test-truncf1.c (NaN): Likewise.
79303         * tests/test-vasnprintf-posix.c (NaN): Likewise.
79304         * tests/test-vasprintf-posix.c (NaN): Likewise.
79305         * modules/isnand-nolibm (Depends-on): Add math.
79306         * modules/isnanf-nolibm (Depends-on): Likewise.
79307         * modules/isnanl (Depends-on): Likewise.
79308         * modules/isnanl-nolibm (Depends-on): Likewise.
79309         * modules/snprintf-posix-tests (Depends-on): Likewise.
79310         * modules/sprintf-posix-tests (Depends-on): Likewise.
79311         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
79312         * modules/vsprintf-posix-tests (Depends-on): Likewise.
79313         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
79314         * modules/vasprintf-posix-tests (Depends-on): Likewise.
79316 2008-03-31  Bruno Haible  <bruno@clisp.org>
79318         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
79319         * doc/posix-functions/strtod.texi: Likewise.
79321 2008-03-31  Bruno Haible  <bruno@clisp.org>
79323         * tests/test-strtod.c (main): Don't use C99 syntax.
79325 2008-03-31  Bruno Haible  <bruno@clisp.org>
79327         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
79328         Reported by Eric Blake.
79330 2008-03-31  Jim Meyering  <meyering@redhat.com>
79332         Don't compare actual signbit return values.
79333         * tests/test-strtod.c (main): Rather, compare only their
79334         zero/non-zero nature.
79336 2008-03-31  Eric Blake  <ebb9@byu.net>
79338         More strtod documentation.
79339         * doc/posix-functions/strtod.texi (strtod): Interpret more test
79340         failures as distinct bugs.
79342 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
79344         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
79345         Problem reported by Erik Benada in
79346         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
79348 2008-03-30  Bruno Haible  <bruno@clisp.org>
79350         * tests/test-strtod.c: Add comments about which assertion fails on which
79351         platform.
79352         * doc/posix-functions/strtod.texi: Add info about many more platforms.
79354 2008-03-30  Eric Blake  <ebb9@byu.net>
79356         Test signbit behavior on zeros.
79357         * tests/test-signbit.c (test_signbitf): Add tests for zero.
79358         (test_signbitd, test_signbitl): Likewise.
79360         More strtod touchups.
79361         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
79362         sign of negative underflow, for now.  Use .5, not .1.
79363         * doc/posix-functions/strtod.texi (strtod): Mention these
79364         limitations.
79365         Reported by Jim Meyering.
79367 2008-03-30  Bruno Haible  <bruno@clisp.org>
79369         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
79370         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
79372 2008-03-30  Bruno Haible  <bruno@clisp.org>
79374         Avoid failure when attempting to return empty iconv results on some
79375         platforms.
79376         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
79377         allocation, don't report ENOMEM when the resulting string is empty.
79379 2008-03-30  Bruno Haible  <bruno@clisp.org>
79381         Fix buffer overrun.
79382         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
79383         Don't consider the width for tmp_length. Check count against tmp_length
79384         before doing the padding. Ensure enough allocation during padding.
79386 2008-03-30  Eric Blake  <ebb9@byu.net>
79388         strtod touchups.
79389         * lib/strtod.c (strtod): Avoid compiler warnings.
79390         Reported by Jim Meyering.
79392 2008-03-30  Bruno Haible  <bruno@clisp.org>
79394         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
79395         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
79396         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
79397         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
79398         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
79399         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
79400         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
79401         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
79403         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
79404         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
79405         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
79406         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
79407         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
79408         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
79409         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
79410         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
79412         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
79413         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
79414         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
79415         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
79416         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
79417         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
79418         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
79419         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
79421         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
79422         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
79424         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
79425         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
79427         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
79428         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
79430         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
79431         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
79432         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
79434         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
79435         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
79436         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
79438         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
79439         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
79440         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
79442         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
79443         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
79444         * modules/vasprintf (Depends-on): Add EOVERFLOW.
79446         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
79447         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
79448         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
79449         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
79450         (Depends-on): Add EOVERFLOW.
79451         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
79452         (Depends-on): Add EOVERFLOW.
79453         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79454         (Depends-on): Add EOVERFLOW.
79455         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79456         (Depends-on): Add EOVERFLOW.
79457         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79458         (Depends-on): Add EOVERFLOW.
79459         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79460         (Depends-on): Add EOVERFLOW.
79461         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79462         (Depends-on): Add EOVERFLOW.
79463         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79464         (Depends-on): Add EOVERFLOW.
79466         * lib/sprintf.c (EOVERFLOW): Remove fallback.
79467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
79468         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
79470         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79471         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79472         * modules/snprintf (Depends-on): Add EOVERFLOW.
79474         * lib/poll.c (EOVERFLOW): Remove fallback.
79475         * modules/poll (Depends-on): Add EOVERFLOW.
79477         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79478         * modules/getugroups (Depends-on): Add EOVERFLOW.
79480         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79481         * modules/getdelim (Depends-on): Add EOVERFLOW.
79483         * lib/ftell.c (EOVERFLOW): Remove fallback.
79484         * modules/ftell (Depends-on): Add EOVERFLOW.
79486         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79487         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79488         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79490         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79492         * modules/EOVERFLOW-tests: New file.
79493         * tests/test-EOVERFLOW.c: New file.
79495         * modules/EOVERFLOW: New file.
79496         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79498 2008-03-30  Bruno Haible  <bruno@clisp.org>
79500         Fix bug introduced on 2007-06-10.
79501         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79502         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79504 2008-03-30  Bruno Haible  <bruno@clisp.org>
79506         Improve freadseek's efficiency after ungetc.
79507         * lib/freadseek.c: Include freadahead.h.
79508         (freadptrinc): New function, extracted from freadseek.
79509         (freadseek): Use it in a loop. Use freadahead to determine the number
79510         of loop iterations.
79511         * modules/freadseek (Depends-on): Add freadahead.
79512         (configure.ac): Require AC_C_INLINE.
79514 2008-03-30  Bruno Haible  <bruno@clisp.org>
79516         * lib/freadseek.c (freadseek): Don't ignore the return value of
79517         freadptr.
79519 2008-03-29  Eric Blake  <ebb9@byu.net>
79521         Add hex float support.
79522         * modules/strtod (Depends-on): Add c-ctype.
79523         (Link): Mention POW_LIB.
79524         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79525         whitespace between 'e' and exponent.
79526         * tests/test-strtod.c (main): Enable hex float tests.
79527         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79528         now provides.
79530         Document various strtod bugs, with some fixes.
79531         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79532         "-0x", "inf", "nan", and hex constants.
79533         * doc/posix-functions/atof.texi (atof): Likewise.
79534         * modules/stdlib (Makefile.am): Support strtod.
79535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79536         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79537         detect additional strtod bugs.
79538         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79539         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79540         bool where appropriate.  Parse 'inf' and 'nan'.
79541         * tests/test-strtod.c: New file.
79542         * modules/strtod (Depends-on): Add stdbool, stdlib.
79543         (configure.ac): Turn on module indicator.
79544         * modules/strtod-tests: New module.
79546 2008-03-29  Eric Blake  <ebb9@byu.net>
79548         Fix ftell on mingw.
79549         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79550         * modules/ftell-tests (Depends-on): Add binary-io.
79551         * modules/ftello-tests (Depends-on): Likewise.
79552         * tests/test-ftell.c (main): Enhance test to cover behavior after
79553         ungetc.  Enforce binary mode.
79554         * tests/test-ftello.c (main): Likewise.
79556         Pass test-freadseek on cygwin.
79557         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79558         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79559         ungetc buffer.
79561         * tests/test-fflush2.c (main): Fix typo.
79563 2008-03-29  Bruno Haible  <bruno@clisp.org>
79565         * tests/test-fflush2.c (main): Temporarily disable the contents of
79566         this test.
79567         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79568         Reported by Eric Blake.
79570 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79572         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79573         (GC_SHA224_DIGEST_SIZE): Add.
79575         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79576         (gc_hash_digest_length): Likewise.
79577         (gc_hash_buffer): Likewise.
79579 2008-03-25  Bruno Haible  <bruno@clisp.org>
79581         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79582         detail which gettext release to use.
79583         Reported by Simon Josefsson.
79585 2008-03-26  Jim Meyering  <meyering@redhat.com>
79587         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79588         * modules/gnumakefile (clean-GNUmakefile): Also, use
79589         test ... && ... || : syntax rather than if-then ... fi.
79591         gnumakefile: Don't double-quote-expand $(VPATH) value.
79592         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79594 2008-03-24  Eric Blake  <ebb9@byu.net>
79596         Alter GNUmakefile to install into top directory.
79597         * modules/maintainer-makefile: Split, and add dependency...
79598         * modules/gnumakefile: to this new module.
79599         * build-aux/GNUmakefile: Move...
79600         * top/GNUmakefile: ...here.
79601         * build-aux/maint.mk: Move...
79602         * top/maint.mk: ...here.
79603         * MODULES.html.sh (Support for maintaining...): Document new
79604         module.
79606 2008-03-23  Bruno Haible  <bruno@clisp.org>
79608         * gnulib-tool: New options --vc-files, --no-vc-files.
79609         (func_usage): Document them.
79610         (vc_files): New variable.
79611         (func_import): Consider vc_files.
79612         (func_create_testdir): Set vc_files to empty.
79613         Suggested by Jim Meyering and Karl Berry.
79615 2008-03-23  Bruno Haible  <bruno@clisp.org>
79617         Fix regex compilation error on HP-UX 11.
79618         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79619         * modules/regex (Files): Add m4/mbstate_t.m4.
79620         Reported by Ton Voon <ton.voon@altinity.com>.
79622 2008-03-23  Bruno Haible  <bruno@clisp.org>
79624         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79626 2008-03-23  Eric Blake  <ebb9@byu.net>
79627             Bruno Haible  <bruno@clisp.org>
79629         Install files from top/ in the destination directory.
79630         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79631         augmentation also for the files from top/.
79632         (func_import, func_create_testdir): Rewrite file names:
79633         top/filename -> filename.
79635 2008-03-23  Bruno Haible  <bruno@clisp.org>
79637         Tweak "gnulib --version" output.
79638         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79640 2008-03-23  Bruno Haible  <bruno@clisp.org>
79642         Tweak "gnulib --version" output.
79643         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79644         rather than contents of ChangeLog, when possible.
79646 2008-03-21  Eric Blake  <ebb9@byu.net>
79648         More --version tweaks.
79649         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79650         date of last ChangeLog entry.
79652 2008-03-21  Jim Meyering  <meyering@redhat.com>
79654         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79656 2008-03-20  Eric Blake  <ebb9@byu.net>
79658         VPATH fix.
79659         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79661 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79663         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79664         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79666 2008-03-20  Eric Blake  <ebb9@byu.net>
79668         Sync GNUmakefile with coreutils.
79669         * build-aux/GNUmakefile (have-Makefile): Rename...
79670         (_have-Makefile): ...to this, for namespace consideration.
79671         (GNUmakefile.cfg): Include, if present.
79672         (_autoreconf): Define a default.
79673         (_is-dist-target): New rule for rebuilds to pick up intra-release
79674         version.
79675         (maint-cfg.mk): Rename...
79676         (cfg.mk): ...to this.
79678 2008-03-18  Jim Meyering  <meyering@redhat.com>
79680         New script and module: mktempd
79681         * MODULES.html.sh (maint+release support): Add mktempd.
79682         * build-aux/mktempd: New file.
79683         * modules/mktempd: New file.
79685 2008-03-15  Jim Meyering  <meyering@redhat.com>
79687         Undo last change.
79688         * lib/sha1.c, lib/md5.c: 63 != ~63.
79689         Reported by Andreas Schwab.
79691         sha1.c, md5.c: Hoist a redundant expression.
79692         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79693         "ctx->buflen" only once, before calling *_process_block.
79694         * lib/md5.c (md5_process_bytes): Likewise.
79696 2008-03-14  Eric Blake  <ebb9@byu.net>
79698         Bump copyright year in files generated by gnulib-tool.
79699         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79700         gnulib-tool, rather than hard-coding it.
79702         Fix 'gnulib-tool --version' output to work with git.
79703         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79704         (startup): ...here.
79705         (func_version): Use it to invoke git-version-gen, rather than
79706         relying on CVS keyword expansion.  Modernize wording.
79707         (cvsdatestamp, last_checkin_date, version): Kill unused
79708         variables.
79710 2008-03-12  Jim Meyering  <meyering@redhat.com>
79712         Recognize optional cast of the argument to free.
79713         * build-aux/useless-if-before-free: Update regexps.
79715         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79717 2008-03-11  Bruno Haible  <bruno@clisp.org>
79719         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79720         by a single package.
79721         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79722         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79723         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79724         Reported by Sam Steingold <sds@gnu.org>.
79726 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79728         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79729         repositories.
79731 2008-03-11  Bruno Haible  <bruno@clisp.org>
79733         Avoid conflicts between local macro definitions.
79734         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79735         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79737 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79738             Bruno Haible  <bruno@clisp.org>
79740         Make va_copy work with some version of xlc on AIX 5.1.
79741         * lib/stdarg.in.h: New file.
79742         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79743         On AIX, use a <stdarg.h> file substitute.
79744         * modules/stdarg (Files): Add lib/stdarg.in.h.
79745         (Depends-on): Add include_next.
79746         (Makefile.am): Build a stdarg.h substitute if requested.
79747         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79749 2008-03-10  Bruno Haible  <bruno@clisp.org>
79751         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79752         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79753         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79755 2008-03-10  Bruno Haible  <bruno@clisp.org>
79757         * modules/stdlib (Depends-on): Add include_next, remove
79758         absolute-header.
79760 2008-03-09  Bruno Haible  <bruno@clisp.org>
79762         * lib/freadahead.h (freadahead): Document more precisely.
79763         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79764         the sum of both buffer sizes.
79765         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79766         * NEWS: Document the change.
79768 2008-03-09  Bruno Haible  <bruno@clisp.org>
79770         Extend freadptr to return also the buffer size.
79771         * lib/freadptr.h (freadptr): Add sizep argument.
79772         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79773         (freadptr): Add sizep argument. Determine buffer size like freadahead
79774         does.
79775         * tests/test-freadptr.c: Don't include freadahead.h.
79776         (main): Adapt for new calling convention of freadptr.
79777         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79778         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79779         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79780         tests/test-freadptr2.sh.
79781         (Depends): Remove freadahead.
79782         (TESTS): Add test-freadptr2.sh.
79783         (check_PROGRAMS): Add test-freadptr2.
79785 2008-03-09  Bruno Haible  <bruno@clisp.org>
79787         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79788         Report and solution by Simon Josefsson.
79790 2008-03-06  Bruno Haible  <bruno@clisp.org>
79792         Make fflush after ungetc work on BSD platforms.
79793         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79794         * tests/test-fflush2.c: New file.
79795         * tests/test-fflush2.sh: New file.
79796         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79797         tests/test-fflush2.c.
79798         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79799         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79801 2008-03-06  Eric Blake  <ebb9@byu.net>
79803         Likewise for ftello.
79804         * modules/ftello (Dependencies): Add extensions.
79805         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79807 2008-03-06  Bruno Haible  <bruno@clisp.org>
79809         * modules/fseeko (Dependencies): Add extensions.
79810         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79811         Needed on glibc systems.
79813 2008-03-06  Bruno Haible  <bruno@clisp.org>
79815         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79816         email address.
79817         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79819 2008-03-06  Bruno Haible  <bruno@clisp.org>
79821         * users.txt: Add libgnupdf.
79823 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79825         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79826         (Header File Substitutes, Function Substitutes,
79827         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79828         (Build robot for gnulib): Fix typo.
79830 2008-03-06  Bruno Haible  <bruno@clisp.org>
79832         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79833         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79835 2008-03-06  Bruno Haible  <bruno@clisp.org>
79837         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79838         * doc/gnulib.texi: Include it.
79840 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79842         * modules/func (License): Change license to unlimited; there was
79843         no LGPL parts in the module anyway.
79845 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79847         * modules/__func__: Renamed to modules/func.
79848         * modules/__func__-tests: Renamed to modules/func-tests.
79849         * tests/test-__func__.c: Renamed to tests/test-func.c.
79850         * m4/__func__.m4: Renamed to m4/func.m4.
79851         * doc/gnulib.texi (__func__): Section renamed to func.
79852         Suggested by Eric Blake <ebb9@byu.net>.
79854 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79856         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79857         about __func__.  Make example self-contained.  Suggested by Eric
79858         Blake <ebb9@byu.net>.
79860         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79861         Suggested by Eric Blake <ebb9@byu.net>.
79863 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79865         * modules/__func__: New file.
79866         * modules/__func__-tests: New file.
79867         * tests/test-__func__.c: New file.
79868         * m4/__func__.m4: New file.
79869         * doc/gnulib.texi (__func__): Document __func__ module.
79871 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79873         * modules/byteswap (License): Re-license as LGPLv2+.
79875 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79877         * doc/Makefile: Add pdf target.
79879 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79881         * modules/inline (License): Use 'unlimited', since there are only
79882         *.m4 files in this module.
79884 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79885             Bruno Haible  <bruno@clisp.org>
79887         Add support for HP C 7.1 on OpenVMS 8.3.
79888         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79890 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79892         Update VMS specifics.
79893         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79895 2008-03-02  Jim Meyering  <meyering@redhat.com>
79897         Remove the last dependency on the "free" module.
79898         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79899         Reported by Bob Proulx.
79901         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79903         Remove useless "if" tests before free.  Deprecate "free" module.
79904         * doc/posix-functions/free.texi: Mention that this
79905         module is no longer useful.
79906         * modules/free (Notice): Say this module is obsolete.
79907         * modules/readutmp (Depends-on): Remove free.
79908         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79909         * lib/putenv.c (putenv): Likewise.
79910         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79911         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79912         * tests/test-c-strcasestr.c (main): Likewise.
79913         * tests/test-c-strstr.c (main): Likewise.
79914         * tests/test-mbscasestr1.c (main): Likewise.
79915         * tests/test-mbscasestr2.c (main): Likewise.
79916         * tests/test-mbsstr1.c (main): Likewise.
79917         * tests/test-mbsstr2.c (main): Likewise.
79918         * tests/test-memmem.c (main): Likewise.
79919         * tests/test-strcasestr.c (main): Likewise.
79920         * tests/test-striconv.c (main): Likewise.
79921         * tests/test-striconveh.c (main): Likewise.
79922         * tests/test-striconveha.c (main): Likewise.
79923         * tests/test-strstr.c (main): Likewise.
79925         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79927         bootstrap: sync from coreutils again
79928         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79930 2008-03-01  Jim Meyering  <meyering@redhat.com>
79932         bootstrap: sync from coreutils
79933         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79934         also when the target doesn't exist.
79936 2008-03-01  Eric Blake  <ebb9@byu.net>
79938         Fix bugs in last patch.
79939         * lib/memchr2.c (memchr2): Fix typo.
79940         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79941         extension.
79942         Reported by Bruce Korb.
79944         New module 'memchr2'.
79945         * modules/memchr2: New file.
79946         * modules/memchr2-tests: Likewise.
79947         * lib/memchr2.h: Likewise.
79948         * lib/memchr2.c: Likewise, based on memchr.c.
79949         * tests/test-memchr2.c: New test.
79950         * MODULES.html.sh (String handling): Add memchr2.
79952 2008-02-29  Bruno Haible  <bruno@clisp.org>
79954         * modules/freadseek-tests: New file.
79955         * tests/test-freadseek.sh: New file.
79956         * tests/test-freadseek.c: New file.
79958         New module 'freadseek'.
79959         * modules/freadseek: New file.
79960         * lib/freadseek.h: New file.
79961         * lib/freadseek.c: New file.
79962         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79964 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79966         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79967         wydawca.
79969         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79970         program_invocation_name and program_invocation_short_name are
79971         present.
79973 2008-02-28  Bruno Haible  <bruno@clisp.org>
79975         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79976         * tests/test-freadptr.sh: Also test non-seekable stdin.
79978 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79980         * build-aux/bootstrap (source_base, m4_base)
79981         (doc_base, tests_base): New variables.
79982         (gnulib_tool_options): Do not hardcode base directories, use
79983         the above variables instead.
79985 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79987         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79989 2008-02-28  Bruno Haible  <bruno@clisp.org>
79991         * modules/freadptr-tests: New file.
79992         * tests/test-freadptr.sh: New file.
79993         * tests/test-freadptr.c: New file.
79995         New module 'freadptr'.
79996         * modules/freadptr: New file.
79997         * lib/freadptr.h: New file.
79998         * lib/freadptr.c: New file.
79999         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
80001 2008-02-26  Karl Berry  <karl@freefriends.org>
80003         Sync from Libtool:
80004         * libltdl/argz.c (argz_add, argz_count): New functions.
80005         * libltdl/argz.in.h: Declare them.
80006         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
80008 2008-02-22  Bruno Haible  <bruno@clisp.org>
80010         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
80011         is a pointer type.  Needed for HP-UX 10.
80012         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
80013         * doc/posix-functions/gmtime_r.texi: Likewise.
80014         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
80016 2008-02-24  Bruno Haible  <bruno@clisp.org>
80018         * modules/environ-tests: New file.
80019         * tests/test-environ.c: New file.
80021         New module 'environ'.
80022         * modules/environ: New file.
80023         * lib/unistd.in.h (environ): New declaration.
80024         * m4/environ.m4: New file.
80025         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
80026         after use.
80027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
80028         HAVE_DECL_ENVIRON.
80029         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
80030         HAVE_DECL_ENVIRON.
80031         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
80032         wrong claim that 'environ' is missing on some systems.
80033         * modules/execute (Depends-on): Add environ.
80034         * lib/execute.c (environ): Remove fallback declaration.
80035         * modules/pipe (Depends-on): Add environ.
80036         * lib/pipe.c (environ): Remove fallback declaration.
80037         * modules/setenv (Depends-on): Add environ.
80038         * lib/setenv.c (environ): Remove fallback declaration.
80039         * modules/unsetenv (Depends-on): Add environ.
80040         * lib/unsetenv.c (environ): Remove fallback declaration.
80041         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
80042         m4/environ.m4.
80043         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
80044         (gl_PREREQ_UNSETENV): Likewise.
80046 2008-02-24  Bruno Haible  <bruno@clisp.org>
80048         * doc/posix-functions/environ.texi: Document the MacOS X problem.
80050 2008-02-20  Bob Proulx  <bob@proulx.com>
80052         Enable use of older two part flavor 'git describe'.
80053         * build-aux/git-version-gen: If using the older two part flavor of
80054         git version then recreate the third part now present in the
80055         newer three part flavor of git describe.
80057 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
80059         * lib/fts.c (fts_build): Typo correction to comment.
80061 2008-02-17  Bruno Haible  <bruno@clisp.org>
80063         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
80064         generating no-op conflicts.
80066 2008-02-17  Bruno Haible  <bruno@clisp.org>
80068         Speed up by 10%.
80069         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
80070         result_entries, rather than an index-based loop.
80072 2008-02-17  Bruno Haible  <bruno@clisp.org>
80074         Speed up by 25%.
80075         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
80076         'hashcode_cached'.
80077         (entry_create): New function.
80078         (entry_hashcode): Use the cached hashcode if possible.
80079         (read_changelog_file, try_split_merged_entry): Use entry_create.
80081 2008-02-17  Bruno Haible  <bruno@clisp.org>
80083         Speed up from O(n^2) to O(n) for long ChangeLog files.
80084         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
80085         (read_changelog_file): Change implementation of entries_reversed list
80086         to rbtreehash.
80087         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
80089 2008-02-17  Bruno Haible  <bruno@clisp.org>
80091         New option --split-merged-entry.
80092         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
80093         (find_paragraph_end, try_split_merged_entry): New functions.
80094         (long_options): Add option --split-merged-entry.
80095         (usage): Document option --split-merged-entry.
80096         (main): Implement option --split-merged-entry.
80097         Reported by Eric Blake.
80099 2008-02-17  Bruno Haible  <bruno@clisp.org>
80101         * lib/git-merge-changelog.c: Include c-strstr.h.
80102         (main): Support the "git pull --rebase" situation.
80103         * modules/git-merge-changelog (Depends-on): Add c-strstr.
80104         Reported by Eric Blake.
80106 2008-02-16  Eric Blake  <ebb9@byu.net>
80108         Avoid doubling \ in common case of "c-maybe" quoting style.
80109         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
80110         eliding outer quotes.
80111         * lib/quotearg.h: Document this.
80112         * tests/test-quotearg.c (result_strings, inputs, results_g)
80113         (flag_results, locale_results): Test it by adding a new string to
80114         each test group.
80115         (compare_strings): Test new string.
80117 2008-02-13  Eric Blake  <ebb9@byu.net>
80119         Avoid trigraph quoting in default output.
80120         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
80121         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
80122         unless explicitly requested.
80123         * tests/test-quotearg.c (flag_results, main): Add additional tests.
80125 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
80127         Don't rely on signed integer overflowing to negative value.
80128         * lib/getugroups.c (getugroups): Include <limits.h>.
80129         Instead, compare against INT_MAX, and increment only if the test passes.
80131 2008-02-13  Jim Meyering  <meyering@redhat.com>
80132         and Eric Blake  <ebb9@byu.net>
80134         Avoid shadowing warning and compile errors on Linux.
80135         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
80136         forwarding macros on Linux.
80137         (dcgettext): Define a stub, for Linux.
80138         (results_g, main): Avoid warnings.
80140 2008-02-12  Eric Blake  <ebb9@byu.net>
80142         Silence warning in last patch.
80143         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
80145         Quotearg part 4: add tests, fix c-maybe colon quoting.
80146         * lib/quotearg.h: Improve documentation.
80147         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
80148         escapes when adding outer quotes.  When quoting trigraphs, use
80149         valid C notation.  When quoting NUL, omit extra characters if next
80150         character is not digit.  Alter prototype.
80151         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
80152         callers.
80153         * modules/quotearg-tests: New module.
80154         * tests/test-quotearg.c: New test.
80156 2008-02-07  Eric Blake  <ebb9@byu.net>
80158         Quotearg part 3: add flag to control outer quote elision.
80159         * lib/quotearg.h (c_maybe_quoting_style): New style.
80160         (enum quoting_flags): Better documentation of flags.
80161         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
80162         c-maybe style.
80163         (quotearg_buffer_restyled): Handle new flag to elide outer
80164         quotes.
80166         Quotearg part 2: add flag that can control NUL elision.
80167         * lib/quotearg.h (set_quoting_flags): New prototype.
80168         * lib/quotearg.c (struct quoting_options): Add flag field.
80169         (set_quoting_flags): New function.
80170         (quotearg_buffer_restyled): Add flags parameter.
80171         (quotearg_alloc_mem): Set the flag if length cannot be returned.
80172         (quotearg_n_options): Set the flag, since length cannot be
80173         returned.
80174         (quoting_options_from_style): Default flags correctly.
80176         Quotearg part 1: more wrappers, restore quotearg_char state.
80177         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
80178         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
80179         (quotearg_colon_mem): New wrappers.
80180         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
80181         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
80182         functions.
80183         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
80184         (quotearg_colon_mem): New functions.
80186 2008-02-11  Bruno Haible  <bruno@clisp.org>
80188         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
80189         library in the current directory: it does not work with parallel make.
80190         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80192 2008-02-11  Bruno Haible  <bruno@clisp.org>
80194         * .gitattributes: New file.
80196 2008-02-11  Jim Meyering  <meyering@redhat.com>
80198         useless-if-before-free: Fix reversed exit values.
80199         * build-aux/useless-if-before-free: Use correct values
80200         for EXIT_MATCH and EXIT_NO_MATCH.
80202         * build-aux/useless-if-before-free: Close stdout carefully.
80204 2008-02-10  Bruno Haible  <bruno@clisp.org>
80206         New module 'git-merge-changelog'.
80207         * modules/git-merge-changelog: New file.
80208         * lib/git-merge-changelog.c: New file.
80210 2008-02-10  Jim Meyering  <meyering@redhat.com>
80212         useless-if-before-free: New option: --list (-l).
80214         useless-if-before-free: Don't exit immediately upon open failure.
80215         * build-aux/useless-if-before-free: Exit 2 for errors.
80216         Upon failure to open a file, don't exit immediately.
80217         Rather, just warn and continue with any remaining files.
80219 2008-02-10  Bruno Haible  <bruno@clisp.org>
80221         New abstract list operation 'node_set_value'.
80222         * lib/gl_list.h (gl_list_node_set_value): New function.
80223         (struct gl_list_implementation): New field node_set_value.
80224         * lib/gl_list.c (gl_list_node_set_value): New function.
80225         * lib/gl_array_list.c (gl_array_node_set_value): New function.
80226         (gl_array_list_implementation): Update.
80227         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
80228         (gl_carray_list_implementation): Update.
80229         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
80230         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
80231         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
80232         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
80233         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
80234         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
80235         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
80236         Update.
80237         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
80238         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
80239         (gl_sublist_list_implementation): Update.
80241 2008-02-10  Bruno Haible  <bruno@clisp.org>
80243         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
80244         Needed when ELEMENT is #defined to 'some_type *'.
80246 2008-02-10  Jim Meyering  <meyering@redhat.com>
80248         New script and module: useless-if-before-free
80249         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
80250         * build-aux/useless-if-before-free: New file.
80251         * modules/useless-if-before-free: New file.
80253         * build-aux/gitlog-to-changelog: Use committer date, not author date.
80255         xstrtol_error: Fix typo.
80256         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
80257         s/exit_failure/exit_status/.
80259 2008-02-09  Jim Meyering  <meyering@redhat.com>
80261         New script and module: gitlog-to-changelog
80262         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
80263         * modules/gitlog-to-changelog: New file.
80264         * build-aux/gitlog-to-changelog: New file.
80266 2008-02-08  Jim Meyering  <meyering@redhat.com>
80268         Avoid two "parameter unused" warnings.
80269         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
80270         Mark "st" as used.
80272         Use "git COMMAND", not "git-COMMAND".
80273         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
80274         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
80275         * build-aux/git-version-gen: Use "git status", not "git-status".
80277 2008-02-07  Bruno Haible  <bruno@clisp.org>
80279         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
80280         Avoids a crash on Windows Vista.
80281         Reported by Adam Strzelecki <ono@java.pl> via
80282         Simon Josefsson <simon@josefsson.org>.
80284 2008-02-06  Bruno Haible  <bruno@clisp.org>
80286         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
80287         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
80288         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
80289         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
80290         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
80291         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
80292         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
80293         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
80294         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
80295         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
80296         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
80297         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
80298         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
80299         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
80300         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
80301         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
80302         left-adjust flag.
80303         * tests/test-snprintf-posix.h (test_function): Likewise.
80304         * tests/test-sprintf-posix.h (test_function): Likewise.
80305         * tests/test-vasprintf-posix.c (test_function): Likewise.
80306         * doc/posix-functions/fprintf.texi: Update.
80307         * doc/posix-functions/printf.texi: Update.
80308         * doc/posix-functions/snprintf.texi: Update.
80309         * doc/posix-functions/sprintf.texi: Update.
80310         * doc/posix-functions/vfprintf.texi: Update.
80311         * doc/posix-functions/vprintf.texi: Update.
80312         * doc/posix-functions/vsnprintf.texi: Update.
80313         * doc/posix-functions/vsprintf.texi: Update.
80314         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80316 2008-02-06  Bruno Haible  <bruno@clisp.org>
80318         Fix bug introduced on 2008-01-26.
80319         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
80321 2008-02-06  Bruno Haible  <bruno@clisp.org>
80323         Fix bug introduced on 2007-06-10.
80324         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
80325         !NEED_PRINTF_FLAG_ZERO.
80327 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
80329         getloadavg: use libperfstat on AIX5
80330         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
80332 2008-02-03  Bruno Haible  <bruno@clisp.org>
80334         * lib/diffseq.h: Add comments about required #includes.
80335         Reported by Michael Biggs <gnulib@doubleplum.net>.
80337 2008-02-01  Bruno Haible  <bruno@clisp.org>
80339         * users.txt: Add gnuit.
80341 2008-01-31  Bruno Haible  <bruno@clisp.org>
80343         * lib/md4.c (set_uint32): Mark as inline.
80344         * lib/md5.c (set_uint32): Likewise.
80345         * lib/sha1.c (set_uint32): Likewise.
80346         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
80347         * m4/md5.m4 (gl_MD5): Likewise.
80348         * m4/sha1.m4 (gl_SHA1): Likewise.
80350 2008-01-31  Jim Meyering  <meyering@redhat.com>
80352         Use "sizeof VAR", rather than a literal "4".
80353         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
80354         * lib/md4.c (md4_read_ctx): Likewise.
80355         * lib/sha1.c (sha1_read_ctx): Likewise.
80357 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80359         * tests/test-sha1.c: New file, based on test-md5.c.
80361         * modules/crypto/sha1-tests: New file.
80363 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80365         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
80367 2008-01-31  Jim Meyering  <meyering@redhat.com>
80369         Prefer "sizeof v" over the equivalent "4".
80370         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
80371         * lib/md5.c (set_uint32): Likewise.
80372         * lib/sha1.c (set_uint32): Likewise.
80374 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80376         * lib/sha1.c (set_uint32): Mark function as static.
80378 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80380         md2: clarify comments to say that alignment is not required.
80381         * lib/md2.h: Remove warning about alignment in comment.
80382         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
80383         never been required.
80385 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80387         md4: adapt alignment constraint fix from sha1.
80388         * lib/md4.c (set_uint32): New function, from sha1.c
80389         (md4_read_ctx): Use it.
80390         (md4_finish_ctx): Doc fix.
80391         * lib/md4.h: Doc fix.
80393 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80395         md5: adapt alignment constraint fix from sha1.
80396         * lib/md5.c (set_uint32): New function, from sha1.c
80397         (md5_read_ctx): Use it.
80398         (md5_finish_ctx): Doc fix.
80399         * lib/md5.h: Doc fix.
80401 2008-01-30  Peter Palfrader  <weasel@debian.org>
80403         sha1: remove the result buffer alignment constraint
80404         * lib/sha1.c (set_uint32): New function.
80405         (sha1_read_ctx): Rewrite to remove the result buffer alignment
80406         constraint.
80407         (sha1_finish_ctx): Remove comment warning about alignment constraint.
80408         * lib/sha1.h: Likewise.
80410 2008-01-30  Andreas Schwab  <schwab@suse.de>
80411             Bruno Haible  <bruno@clisp.org>
80413         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
80414         correct definition of LDBL_MIN_EXP.
80416 2008-01-30  Karl Berry  <karl@gnu.org>
80418         * config/srclist-update: try to preserve x bit on updates.
80419         * config/srclistvars.sh: update for karl.
80421 2008-01-29  Jim Meyering  <meyering@redhat.com>
80423         vasnprintf.c: Avoid warning about unused label
80424         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
80425         "overflow" label definition and associated code with the
80426         same cpp condition that guards the sole use of that label.
80428 2008-01-26  Bruno Haible  <bruno@clisp.org>
80430         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
80431         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
80432         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
80433         * lib/isnanl-nolibm.h (isnanl): Likewise.
80434         Reported by Paul Eggert <eggert@cs.ucla.edu>.
80436 2008-01-26  Bruno Haible  <bruno@clisp.org>
80438         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
80439         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
80441 2008-01-26  Bruno Haible  <bruno@clisp.org>
80443         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
80444         GCC >= 4.0 built-in.
80445         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
80447 2008-01-26  Bruno Haible  <bruno@clisp.org>
80449         Rename isnan, applicable to 'double' only, to isnand.
80450         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
80451         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
80452         (configure.ac): Update.
80453         (Include): Replace "isnan.h" with "isnand.h".
80454         * m4/isnand.m4: Renamed from m4/isnan.m4.
80455         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
80456         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
80457         instead of isnan.c.
80458         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
80459         instead of HAVE_ISNAN_IN_LIBC.
80460         (isnand): Renamed from isnan.
80461         * lib/isnand.c: New file.
80462         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
80463         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
80464         (Makefile.am): Update.
80465         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
80466         Include isnand.h instead of isnan.h.
80467         (main): Test isnand instead of isnan.
80468         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
80469         isnan-nolibm.
80470         * modules/frexp (Depends-on): Likewise.
80471         * modules/frexp-tests (Depends-on): Likewise.
80472         * modules/frexp-nolibm (Depends-on): Likewise.
80473         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80474         * modules/isfinite (Depends-on): Likewise.
80475         * modules/round-tests (Depends-on): Likewise.
80476         * modules/signbit (Depends-on): Likewise.
80477         * modules/signbit-tests (Depends-on): Likewise.
80478         * modules/snprintf-posix (Depends-on): Likewise.
80479         * modules/sprintf-posix (Depends-on): Likewise.
80480         * modules/trunc-tests (Depends-on): Likewise.
80481         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80482         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80483         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80484         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80485         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80486         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80487         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80488         * modules/vasnprintf-posix (Depends-on): Likewise.
80489         * modules/vasprintf-posix (Depends-on): Likewise.
80490         * modules/vfprintf-posix (Depends-on): Likewise.
80491         * modules/vsnprintf-posix (Depends-on): Likewise.
80492         * modules/vsprintf-posix (Depends-on): Likewise.
80493         * lib/frexp.c: Include isnand.h instead of isnan.h.
80494         (ISNAN): Set to isnand instead of isnan.
80495         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80496         (gl_isfinited): Use isnand instead of isnan.
80497         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80498         (gl_signbitd): Use isnand instead of isnan.
80499         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80500         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80501         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80502         (main): Use isnand instead of isnan.
80503         * tests/test-round1.c: Include isnand.h.
80504         (main): Use isnand instead of isnan.
80505         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80506         (ISNAN): Set to isnand instead of isnan.
80507         * tests/test-trunc1.c: Include isnand.h.
80508         (main): Use isnand instead of isnan.
80509         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80510         (equal): Use isnand instead of isnan.
80511         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80512         isnand-nolibm.
80513         * NEWS: Mention the change.
80515 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80516             Bruno Haible  <bruno@clisp.org>
80518         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80519         the GCC builtins for signbits are present and set
80520         REPLACE_SIGNBIT_USING_GCC if so.
80521         * lib/math.in.h (signbit): Define using GCC builtins if
80522         REPLACE_SIGNBIT_USING_GCC is set.
80523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80524         REPLACE_SIGNBIT_USING_GCC.
80525         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80527 2008-01-25  Jim Meyering  <meyering@redhat.com>
80529         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80530         * lib/poll.c: Include <config.h>, not "config.h".
80531         * tests/test-getaddrinfo.c: Likewise.
80533 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80535         * modules/sockets-tests: New file.
80537 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80539         * modules/sockets: New module, can be used to call WSA_Startup and
80540         WSA_Cleanup when needed.
80542         * lib/sockets.h, lib/sockets.c: New files.
80544         * m4/sockets.m4: New file.
80546         * tests/test-sockets.c: New file.
80548 2008-01-19  Bruno Haible  <bruno@clisp.org>
80550         * doc/posix-headers: Renamed from doc/headers.
80551         * doc/posix-functions: Renamed from doc/functions.
80552         * doc/gnulib.texi: Update.
80554 2008-01-19  Bruno Haible  <bruno@clisp.org>
80556         * doc/glibc-functions/strcasestr.texi: Include contents of
80557         doc/functions/strcasestr.texi, fixing the list of platforms.
80558         * doc/functions/strcasestr.texi: Remove file.
80560 2008-01-19  Bruno Haible  <bruno@clisp.org>
80562         * doc/glibc-functions/memmem.texi: Include contents of
80563         doc/functions/memmem.texi.
80564         * doc/functions/memmem.texi: Remove file.
80566 2008-01-18  Bruno Haible  <bruno@clisp.org>
80568         * doc/glibc-functions/*.texi: New files.
80569         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80570         to use the new files.
80572 2008-01-17  Bruno Haible  <bruno@clisp.org>
80574         * tests/test-gethostname.c (main): Fix printf statement.
80576 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80578         * modules/gethostname-tests: New file.
80580         * tests/test-gethostname.c: New file.
80582 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80584         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80585         used by the UNAME case.  Reported by Bruno Haible
80586         <bruno@clisp.org>.
80588 2008-01-17  Eric Blake  <ebb9@byu.net>
80590         Convert c-strcasestr to be more efficient.
80591         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80592         (Depends-on): Add c-strcase, remove malloca, strnlen.
80593         * tests/test-c-strcasestr.c (main): Enhance test.
80594         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80596 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80598         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80599         Use it in creating po/Makevars.
80601 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80603         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80604         Applications that requires it should initialize libgcrypt
80605         manually.
80607 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80609         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80611 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80613         Fix problem with getdate on mingw32 reported by Simon Josefsson
80614         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80615         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80616         tzname", when deciding whether to declare tzname.
80617         * lib/strftime.c (tzname): Likewise.
80619 2008-01-15  Bruno Haible  <bruno@clisp.org>
80621         Work around a MacOS X 10.5 bug in frexpl().
80622         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80623         * doc/functions/frexpl.texi: Document the bug.
80624         Reported by Elias Pipping <pipping@gentoo.org>.
80626 2008-01-14  Eric Blake  <ebb9@byu.net>
80628         Touch up previous patch.
80629         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80630         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80632         Convert strcasestr module to use Two-Way algorithm.
80633         * modules/strcasestr-simple: New module, based on the old
80634         strcasestr, but with Two-Way rather than KMP.
80635         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80636         * lib/string.in.h (rpl_strcasestr): Declare.
80637         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80638         performance.
80639         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80640         * modules/string (Makefile.am): Support strcasestr.
80641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80642         * modules/strcasestr-tests (Depends-on): Check for alarm.
80643         * tests/test-strcasestr.c: Augment test.
80644         * lib/str-two-way.h: Clean up stray macro.
80645         * NEWS: Document new module.
80646         * MODULES.html.sh (string handling): Likewise.
80647         * doc/functions/strcasestr.texi: New file.
80648         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80649         here, since it is not a POSIX function.
80651 2008-01-14  Colin Watson  <cjwatson@debian.org>
80652             Bruno Haible  <bruno@clisp.org>
80654         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80655         works fine; if not, set REPLACE_STRSIGNAL.
80656         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80658         REPLACE_STRSIGNAL.
80659         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80660         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80661         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80663 2008-01-14  Bruno Haible  <bruno@clisp.org>
80665         * modules/strsignal (Include): Change to <string.h>.
80667 2008-01-14  Colin Watson  <cjwatson@debian.org>
80669         * modules/argp (Notice): Add a notice recommending to change
80670         XGETTEXT_OPTIONS.
80671         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80673 2008-01-13  Colin Watson  <cjwatson@debian.org>
80675         * modules/strsignal-tests: New file.
80676         * tests/test-strsignal.c: New file.
80678         * lib/strsignal.c: New file, from glibc with modifications.
80679         * lib/siglist.h: New file, from glibc with modifications.
80680         * lib/string.in.h (strsignal): New declaration.
80681         * m4/strsignal.m4: New file.
80682         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80683         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80684         * modules/strsignal: New file.
80685         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80686         HAVE_DECL_STRSIGNAL.
80688 2008-01-13  Bruno Haible  <bruno@clisp.org>
80690         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80691         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80692         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80693         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80695 2008-01-13  Bruno Haible  <bruno@clisp.org>
80697         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80698         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80699         * lib/argp.h (__attribute__): Likewise.
80700         * lib/c-stack.c (__attribute__): Likewise.
80701         * lib/error.h (__attribute__): Likewise.
80702         * lib/fts.c (__attribute__): Likewise.
80703         * lib/openat.h (__attribute__): Likewise.
80704         * lib/stdio.in.h (__attribute__): Likewise.
80705         * lib/string.in.h (__attribute__): Likewise.
80706         * lib/utimens.c (__attribute__): Likewise.
80707         * lib/vasnprintf.h (__attribute__): Likewise.
80708         * lib/xalloc.h (__attribute__): Likewise.
80709         * lib/xprintf.h (__attribute__): Likewise.
80710         * lib/xstrtol.h (__attribute__): Likewise.
80711         * lib/xvasprintf.h (__attribute__): Likewise.
80713 2008-01-12  Bruno Haible  <bruno@clisp.org>
80715         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80716         * doc/glibc-headers/a.out.texi: New file.
80717         * doc/glibc-headers/aliases.texi: New file.
80718         * doc/glibc-headers/alloca.texi: New file.
80719         * doc/glibc-headers/ar.texi: New file.
80720         * doc/glibc-headers/argp.texi: New file.
80721         * doc/glibc-headers/argz.texi: New file.
80722         * doc/glibc-headers/byteswap.texi: New file.
80723         * doc/glibc-headers/crypt.texi: New file.
80724         * doc/glibc-headers/endian.texi: New file.
80725         * doc/glibc-headers/envz.texi: New file.
80726         * doc/glibc-headers/err.texi: New file.
80727         * doc/glibc-headers/error.texi: New file.
80728         * doc/glibc-headers/execinfo.texi: New file.
80729         * doc/glibc-headers/fpu_control.texi: New file.
80730         * doc/glibc-headers/fstab.texi: New file.
80731         * doc/glibc-headers/fts.texi: New file.
80732         * doc/glibc-headers/getopt.texi: New file.
80733         * doc/glibc-headers/ieee754.texi: New file.
80734         * doc/glibc-headers/ifaddrs.texi: New file.
80735         * doc/glibc-headers/libintl.texi: New file.
80736         * doc/glibc-headers/mcheck.texi: New file.
80737         * doc/glibc-headers/mntent.texi: New file.
80738         * doc/glibc-headers/obstack.texi: New file.
80739         * doc/glibc-headers/paths.texi: New file.
80740         * doc/glibc-headers/printf.texi: New file.
80741         * doc/glibc-headers/pty.texi: New file.
80742         * doc/glibc-headers/resolv.texi: New file.
80743         * doc/glibc-headers/shadow.texi: New file.
80744         * doc/glibc-headers/sysexits.texi: New file.
80745         * doc/glibc-headers/ttyent.texi: New file.
80747 2008-01-12  Jim Meyering  <meyering@redhat.com>
80749         announce-gen: emit Gnulib's git-based version string.
80750         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80751         New option --gnulib-version=V, where V is expected to be
80752         the output of running git describe in the gnulib directory.
80753         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80754         not useful, and plan to stop publishing an xdelta file with each
80755         coreutils release.
80757         * build-aux/announce-gen: Also check for lzma-compressed files.
80759 2008-01-11  Bruno Haible  <bruno@clisp.org>
80761         * tests/test-memmem.c (main): Increase maximum allowed time.
80762         * tests/test-strstr.c (main): Likewise.
80764 2008-01-11  Bruno Haible  <bruno@clisp.org>
80766         * doc/functions/memmem.texi: Add more precisions about platforms.
80767         * doc/functions/strstr.texi: Likewise.
80769 2008-01-10  Eric Blake  <ebb9@byu.net>
80771         * m4/strstr.m4: Delete cruft from copy-n-paste.
80772         Reported by Bruno Haible.
80774 2008-01-10  Bruno Haible  <bruno@clisp.org>
80776         Make c-strstr rely on strstr.
80777         * lib/c-strstr.c: Don't include str-kmp.h.
80778         (c_strstr): Define in terms of strstr.
80779         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80780         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80782 2008-01-10  Bruno Haible  <bruno@clisp.org>
80784         * doc/gnulib.texi (String Functions in C Locale): New section.
80785         * doc/c-ctype.texi: New file.
80786         * doc/c-strcase.texi: New file.
80787         * doc/c-strcaseeq.texi: New file.
80788         * doc/c-strcasestr.texi: New file.
80789         * doc/c-strstr.texi: New file.
80790         * doc/c-strtod.texi: New file.
80791         * doc/c-strtold.texi: New file.
80793 2008-01-10  Eric Blake  <ebb9@byu.net>
80795         * lib/relocatable.h: Fix a comment.
80797 2008-01-10  Eric Blake  <ebb9@byu.net>
80799         Share two-way algorithm.
80800         * lib/str-two-way.h: New file, merged from...
80801         * lib/memmem.c: ...here...
80802         * lib/strstr.c: ...and here.
80803         * modules/memmem (Files): Use it.
80804         * modules/strstr (Files): Likewise.
80806         Avoid quadratic strstr implementations.
80807         * lib/strstr.c: New file.
80808         * m4/strstr.m4: Likewise.
80809         * modules/strstr: Likewise.
80810         * modules/strstr-tests: Likewise.
80811         * tests/test-strstr.c: Likewise.
80812         * lib/string.in.h (rpl_strstr): Declare.
80813         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80814         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80815         * modules/string (Makefile.am): Likewise.
80816         * MODULES.html.sh (string handling): Mention new module.
80817         * doc/functions/strstr.texi (strstr): Document the bug.
80819 2008-01-10  Bruno Haible  <bruno@clisp.org>
80821         * lib/relocatable.h (relocate): State whether result is freshly
80822         allocated or not.
80823         * lib/relocatable.c (relocate): Return a freshly allocated string
80824         instead of a pointer to a privately held string.
80825         Reported by Sylvain Beucler <beuc@gnu.org>.
80827 2008-01-10  Colin Watson  <cjwatson@debian.org>
80829         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80830         s/S_ISNLK/S_ISLNK/.
80832 2008-01-09  Bruno Haible  <bruno@clisp.org>
80834         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80835         and other files.
80836         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80837         if it's only a guess.
80838         * modules/memmem: Simplify by depending on memmem-simple.
80840 2008-01-09  Bruno Haible  <bruno@clisp.org>
80842         Work around OpenBSD 4.0 tdelete() bug.
80843         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80844         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80845         macros and don't redefine the enum values.
80846         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80847         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80848         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80850 2008-01-09  Bruno Haible  <bruno@clisp.org>
80852         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80853         (main): Don't perform the tests if setlocale did not install a UTF-8
80854         locale. Needed on OpenBSD 4.0.
80855         * modules/wcwidth-tests (Depends-on): Add localcharset.
80857 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80859         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80860         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80861         * NEWS: announce this.
80862         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80864 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80865         and Eric Blake  <ebb9@byu.net>
80867         Add memmem-simple module.
80868         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80869         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80870         * modules/memmem-simple: New file.
80871         * modules/memmem (Description): Tweak.
80872         * MODULES.html.sh (string handling): Mention new module.
80873         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80874         addressed by memmem-simple.
80875         * NEWS: Document the difference.
80877 2008-01-09  Eric Blake  <ebb9@byu.net>
80879         Give gcc some memmem optimization hints.
80880         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80881         (strcasestr): Declare as pure.
80882         * modules/memmem (Maintainer): Claim my implementation.
80884 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80886         Support AIX 6.1 and higher.
80887         * build-aux/config.libpath: Likewise.
80888         * build-aux/config.rpath: Likewise.
80890 2008-01-08  Jim Meyering  <meyering@redhat.com>
80891             Bruno Haible  <bruno@clisp.org>
80893         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80894         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80895         Reported by Peter Fales in
80896         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80898 2008-01-08  Bruno Haible  <bruno@clisp.org>
80900         * modules/unictype/category-of (Depends-on): Add
80901         unictype/category-none.
80902         * modules/unictype/category-and-tests (Depends-on): Add
80903         unictype/category-{L,N,Lu,Nd}.
80904         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80905         * modules/unictype/category-or-tests (Depends-on): Add
80906         unictype/category-{L,N}.
80907         * modules/unictype/category-name-tests (Depends-on): Add
80908         unictype/category-{Z,Nl}.
80909         Reported by Simon Josefsson.
80911 2008-01-08  Bruno Haible  <bruno@clisp.org>
80913         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80914         convention better.
80915         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80916         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80917         Reported by Peter Miller <millerp@canb.auug.org.au>.
80919 2008-01-08  Eric Blake  <ebb9@byu.net>
80921         Rewrite memmem to guarantee linear complexity without malloc.
80922         * lib/memmem.c (memmem): Use Two-Way rather than
80923         Knuth-Morris-Pratt, to allow O(1) space usage.
80924         (critical_factorization, two_way_short_needle)
80925         (two_way_long_needle): New functions.
80926         (knuth_morris_pratt): Delete.
80927         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80928         Add stdint.
80929         * tests/test-memmem.c (main): Add tests for periodic needle and
80930         sublinear performance.
80931         * doc/functions/memmem.texi (memmem): Document other deficiencies
80932         in cygwin and older glibc.
80934 2008-01-08  Bruno Haible  <bruno@clisp.org>
80936         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80937         augmentation.
80939 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80941         Add a configure time option: --disable-acl.
80942         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80943         AC_ARG_ENABLE(acl).
80945 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80947         * tests/test-localename.c: Don't include obsolete "setenv.h".
80949         * modules/localename-tests (Depends-on): Need unsetenv.
80951 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80953         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80955 2008-01-06  Colin Watson  <cjwatson@debian.org>
80957         * users.txt: Add man-db.
80959 2008-01-07  Bruno Haible  <bruno@clisp.org>
80961         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80962         previous section name.
80964 2008-01-07  Bruno Haible  <bruno@clisp.org>
80966         * lib/progname.c (set_program_name): Don't strip off a leading
80967         "lt-" prefix outside a .libs directory.
80968         Suggested by Paul Eggert.
80970 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80971             Bruno Haible  <bruno@clisp.org>
80973         Improve memory cleanup in 'relocatable' module.
80974         * lib/relocatable.h (compute_curr_prefix): Change return type to
80975         'char *'.
80976         * lib/relocatable.c (compute_curr_prefix): Change return type to
80977         'char *'. Free curr_installdir after use.
80978         (relocate): Free curr_prefix_better after use.
80979         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80981 2008-01-01  Bruno Haible  <bruno@clisp.org>
80983         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80984         failure on older glibc systems.
80985         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80987 2008-01-05  Eric Blake  <ebb9@byu.net>
80989         Avoid quadratic system memmem.
80990         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80991         Reported by Ralf Wildenhues.
80993         Fix memmem test for mingw.
80994         * modules/memmem-tests (configure.ac): Check for alarm.
80995         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80996         it.
80997         * doc/functions/memmem.texi: New file.
80998         * doc/gnulib.texi (Function Substitutes): Add memmem.
80999         Reported by Bruno Haible.
81001 2008-01-04  Bruno Haible  <bruno@clisp.org>
81003         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
81004         Require gl_HEADER_STRINGS_H_DEFAULTS, not
81005         gl_HEADER_STRING_H_DEFAULTS.
81007 2008-01-04  Eric Blake  <ebb9@byu.net>
81009         Shorten duration of memmem test.
81010         * tests/test-memmem.c (main): Use alarm to declare failure if test
81011         is taking too long.
81012         Reported by Ralf Wildenhues.
81014 2007-12-21  Simon Josefsson  <simon@josefsson.org>
81016         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
81017         string, needed by strerror.
81019 2008-01-03  Colin Watson  <cjwatson@debian.org>
81020             Bruno Haible  <bruno@clisp.org>
81022         * doc/gnulib-tool.texi (Localization): New section.
81024 2008-01-02  Bruno Haible  <bruno@clisp.org>
81026         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
81027         variables to 'unsigned char *' type.
81028         Reported by Paul Eggert.
81030 2008-01-02  Jim Meyering  <jim@meyering.net>
81032         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
81034 2007-12-31  Jim Meyering  <jim@meyering.net>
81036         Avoid use of private FTS type name.
81037         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
81039 2007-12-30  Karl Berry  <karl@gnu.org>
81041         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
81042         work around defect in Texinfo and/or the standalone Info browser.
81044 2007-12-30  Bruno Haible  <bruno@clisp.org>
81046         Unify 5 copies of the KMP code.
81047         * lib/str-kmp.h: New file.
81048         * lib/c-strcasestr.c: Include str-kmp.h.
81049         (knuth_morris_pratt): Remove function.
81050         (c_strcasestr): Update.
81051         * lib/c-strstr.c: Include str-kmp.h.
81052         (knuth_morris_pratt): Remove function.
81053         (c_strcasestr): Update.
81054         * lib/mbscasestr.c: Include str-kmp.h.
81055         (knuth_morris_pratt_unibyte): Remove function.
81056         * lib/mbsstr.c: Include str-kmp.h.
81057         (knuth_morris_pratt_unibyte): Remove function.
81058         * lib/strcasestr.c: Include str-kmp.h.
81059         (knuth_morris_pratt): Remove function.
81060         (strcasestr): Update.
81061         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
81062         * modules/c-strstr (Files): Likewise.
81063         * modules/mbscasestr (Files): Likewise.
81064         * modules/mbsstr (Files): Likewise.
81065         * modules/strcasestr (Files): Likewise.
81066         Suggested by Paul Eggert.
81068 2007-12-30  Bruno Haible  <bruno@clisp.org>
81070         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81071         defined.
81073 2007-12-30  Bruno Haible  <bruno@clisp.org>
81075         * lib/xmalloca.h: Include xalloc.h.
81076         (xnmalloca): New macro.
81078 2007-12-30  Bruno Haible  <bruno@clisp.org>
81080         * lib/malloca.h (nmalloca): New macro.
81081         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
81082         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
81083         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
81084         knuth_morris_pratt_multibyte): Likewise.
81085         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
81086         knuth_morris_pratt_multibyte): Likewise.
81087         * lib/memmem.c (knuth_morris_pratt): Likewise.
81088         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
81090 2007-12-25  Bruno Haible  <bruno@clisp.org>
81092         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
81093         * lib/glob.c: Don't include openat.h.
81094         (link_exists2_p): Add back the code that deals with the
81095         !GLOB_ALTDIRFUNC case.
81096         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
81097         let it do the filename concatenation.
81098         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
81099         * modules/glob (Depends-on): Remove openat.
81101 2007-12-31  Bruno Haible  <bruno@clisp.org>
81103         * modules/dirfd (License): Change to LGPLv2+.
81104         Approved by Jim Meyering.
81106 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
81108         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
81109         when multiplying M by sizeof (size_t).
81111 2007-12-10  Martin Lambers  <marlam@marlam.de>
81113         Override getpagesize on mingw.
81114         * lib/getpagesize.c: New file.
81115         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
81116         * modules/getpagesize (Files): Add lib/getpagesize.c.
81117         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
81118         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81119         REPLACE_GETPAGESIZE.
81120         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
81122 2007-12-25  Bruno Haible  <bruno@clisp.org>
81124         * modules/localcharset (Notice): New field.
81125         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
81126         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
81128 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
81129             Bruno Haible  <bruno@clisp.org>
81131         Avoid using the syntax symbol() in formatted documentation.
81132         * MODULES.html.sh (func_module): When replacing symbol() with a
81133         hyperlink, remove the parentheses. Show an error if some remain.
81134         Recognize and render the '...' syntax.
81135         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
81136         Rework. Add paragraph about GCC's inlining.
81137         * doc/alloca.texi: Likewise.
81138         * doc/error.texi: Remove parentheses from symbol reference.
81139         * doc/gnulib-intro.texi: Likewise.
81140         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
81141         * modules/fnmatch (Description): Reword to say "the ... function".
81142         * modules/full-read (Description): Likewise.
81143         * modules/full-write (Description): Likewise.
81144         * modules/safe-read (Description): Likewise.
81145         * modules/safe-write (Description): Likewise.
81146         * modules/strchrnul (Description): Likewise.
81147         * modules/trim (Description): Likewise.
81148         * modules/error (Description): Remove parentheses from symbol
81149         references.
81150         * modules/verror (Description): Likewise.
81151         Reported by Karl Berry.
81153 2007-12-25  Bruno Haible  <bruno@clisp.org>
81155         Fixup after 2007-10-16 commit.
81156         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
81158 2007-12-24  Bruno Haible  <bruno@clisp.org>
81160         Make --enable-relocatable work with DESTDIR.
81161         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
81162         to compute installdir from destprog.
81163         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
81164         also set the RELOC_DESTDIR variable.
81165         Reported by Левашев Иван <octagram@bluebottle.com>.
81167 2007-12-24  Bruno Haible  <bruno@clisp.org>
81169         Fix link error due to xalloc_die().
81170         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
81171         of xreadlink.
81172         * lib/relocwrapper.c: Update comments.
81173         * build-aux/install-reloc: Remove xreadlink.c from file list.
81174         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
81175         xreadlink.c.
81176         Reported by Левашев Иван <octagram@bluebottle.com>.
81178 2007-12-24  Bruno Haible  <bruno@clisp.org>
81180         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
81181         * lib/setenv.h: Remove file.
81182         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
81183         lib/setenv.h.
81184         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
81185         (Depends-on): Add stdlib.
81186         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
81187         gl_FUNC_UNSETENV.
81188         (Include): Replace setenv.h with <stdlib.h>.
81189         * modules/unsetenv: New file.
81190         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
81191         * lib/unsetenv.c: Include <stdlib.h> first.
81192         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
81193         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
81194         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
81195         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
81196         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
81197         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
81199         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81200         * doc/functions/unsetenv.texi: Update.
81201         * modules/xsetenv (Depends-on): Add unsetenv.
81202         * modules/getdate (Depends-on): Likewise.
81203         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
81204         * lib/xsetenv.c: Don't include setenv.h.
81205         * lib/getdate.y: Likewise.
81206         * lib/relocwrapper.c: Likewise.
81207         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
81208         (Depends-on): Add stdlib.
81209         * NEWS: Mention the changes.
81210         Reported by Левашев Иван <octagram@bluebottle.com>.
81212 2007-12-23  Bruno Haible  <bruno@clisp.org>
81214         * lib/memmem.c (memmem): Use lowercase variable names. Tab
81215         indentation.
81217 2007-12-23  Bruno Haible  <bruno@clisp.org>
81219         * lib/c-strcasestr.c: Add more comments.
81220         * lib/c-strstr.c: Likewise.
81221         * lib/mbscasestr.c: Likewise.
81222         * lib/mbsstr.c: Likewise.
81223         * lib/strcasestr.c: Likewise.
81224         * lib/memmem.c: Likewise.
81226 2007-12-23  Bruno Haible  <bruno@clisp.org>
81228         * tests/test-memmem.c: Include <string.h> first.
81230 2007-12-22  Bruno Haible  <bruno@clisp.org>
81232         * gnulib-tool (func_create_testdir): Change $auxdir while generating
81233         the contents of $testsbase.
81234         Reported by Ralf Wildenhues.
81236 2007-12-22  Bruno Haible  <bruno@clisp.org>
81238         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
81239         two variables local_ldadd_before, local_ldadd_last.
81241 2007-12-20  Eric Blake  <ebb9@byu.net>
81243         Work around circular library issue when cross-compiling.
81244         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
81245         that progname.o does not need to pull in rpl_memcmp.
81247 2007-12-19  Eric Blake  <ebb9@byu.net>
81249         Fix memmem to avoid O(n^2) worst-case complexity.
81250         * lib/memmem.c (knuth_morris_pratt): New function.
81251         (memmem): Use it if first few naive iterations fail.
81252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
81253         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
81254         * modules/memchr (License): Likewise.
81255         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
81256         malloca.
81257         * tests/test-memmem.c: Rewrite, borrowing ideas from
81258         test-mbsstr1.c; the old version wouldn't even compile!
81259         * modules/memmem-tests: New file.
81260         * lib/string.in.h (rpl_memmem): Add declaration.
81261         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
81262         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
81263         REPLACE_MEMMEM.
81265 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
81267         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
81268         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
81269         before any system include files, and undef after them all.  This
81270         should fix a problem on VMS reported by John E. Malmberg in
81271         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
81273 2007-12-17  Eric Blake  <ebb9@byu.net>
81275         Revert addition of verify, for BSD/OS.
81276         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
81277         can't handle large files, for the sake of obsolete platforms.
81278         * modules/fseeko (Depends-on): Remove verify.
81279         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
81280         * doc/functions/ftello.texi (ftello): Likewise.
81281         * doc/functions/fgetpos.texi (fgetpos): Likewise.
81282         Reported by Larry Jones.
81284 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
81286         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
81287         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
81289 2007-12-17  Jim Meyering  <meyering@redhat.com>
81291         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
81292         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
81293         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
81294         * modules/getcwd (Depends-on): Add openat.
81295         Reported by Petr Salinger.
81297 2007-12-17  Bruno Haible  <bruno@clisp.org>
81299         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
81300         avoid a segmentation fault of the configure test on x86_64 systems.
81302 2007-12-15  Jim Meyering  <meyering@redhat.com>
81304         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
81306 2007-12-13  Eric Blake  <ebb9@byu.net>
81308         Another fseek test.
81309         * tests/test-fseek.c (main): Also test ungetc handling.
81310         * tests/test-fseeko.c (main): Likewise.
81311         * modules/fseeko (Depends-on): Add verify.
81312         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
81313         large.
81314         Reported by Larry Jones.
81316         Fix fseeko on mingw.
81317         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
81318         seek.
81320         Beef up fseek tests.
81321         * tests/test-fseek.c (main): Also test eof handling.
81322         * tests/test-fseeko.c (main): Likewise.
81323         Reported by Larry Jones.
81325 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
81327         Fix fseeko on BSD-based platforms.
81328         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
81329         successful seek.
81331 2007-12-12  Eric Blake  <ebb9@byu.net>
81333         Allow circular dependency of separate libtests.a
81334         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
81335         when use_libtests.
81337 2007-12-11  Eric Blake  <ebb9@byu.net>
81339         Fix bug with -0.0L in previous patch.
81340         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
81341         * tests/test-isnan.c (main): Also test on zeroes.
81342         * tests/test-isnanf.c (main): Likewise.
81343         * tests/test-isnanl.h (main): Likewise.
81345         Detect pseudo-denormals on x86 even when cross-compiling.
81346         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
81347         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
81348         invalid bit patterns that happen to satisfy ==.
81350         Avoid link failures with separate libtests.a.
81351         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
81352         last, to satisfy circular dependencies.
81354 2007-12-11  Eric Blake  <ebb9@byu.net>
81355         and Bruno Haible  <bruno@clisp.org>
81357         Fix OpenBSD 4.0 <float.h> handling of long double.
81358         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
81359         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
81360         * doc/headers/float.texi (float.h): Document OpenBSD bug.
81362 2007-12-11  Jim Meyering  <meyering@redhat.com>
81364         * users.txt: Add libvirt.
81366         Support versions of autoconf prior to 2.59c.
81367         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
81368         if it is not already defined.
81370 2007-12-09  Bruno Haible  <bruno@clisp.org>
81372         Let 'gnulib-tool --import' collect sources needed for the tests in
81373         tests/ rather than in lib/.
81374         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
81375         argument. If true, add rules to generate libtests.a, and put libtests.a
81376         into $(LDADD). Consider source files in subdirectories and set
81377         uses_subdirs.
81378         (func_emit_initmacro_start, func_emit_initmacro_end,
81379         func_emit_initmacro_done): Pass all arguments explicitly.
81380         (func_import): Determine two module lists main_modules,
81381         testsrelated_modules. Determine use_libtests. Determine two variables
81382         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
81383         instead of just sed_transform_lib_file. Determine two variables
81384         main_files and testsrelated_files. Compute 'files' as the union of
81385         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
81386         func_add_or_update. In the generated gnulib-comp.m4, collect the
81387         object files for tests/ in different variables than those for lib/.
81388         Substitute LIBTESTS_LIBDEPS.
81389         (func_create_testdir): Combine the uses_subdirs results from
81390         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
81392 2007-12-09  Bruno Haible  <bruno@clisp.org>
81394         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
81395         the build-aux directory.
81397 2007-12-09  Bruno Haible  <bruno@clisp.org>
81399         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
81400         introduced on 2006-09-09.
81402 2007-12-07  Jim Meyering  <meyering@redhat.com>
81404         Let these macros work also with autoconf-2.59.
81405         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
81406         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
81407         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
81409 2007-12-06  Jim Meyering  <meyering@redhat.com>
81411         Avoid a configure-time syntax error in gl_FUNC_ACL.
81412         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
81413         function in each branch, before testing the cache variable.
81415 2007-12-04  Eric Blake  <ebb9@byu.net>
81417         Make scripts executable.
81418         * build-aux/config.guess: Add execute permissions.
81419         * build-aux/config.sub: Likewise.
81420         * build-aux/gendocs.sh: Likewise.
81422         Fix frexp on mingw.
81423         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
81424         cross-compiling.
81425         * doc/functions/frexp.texi (frexp): Document the bug.
81427         Make cygwin fseeko check more reliable.
81428         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
81429         version numbers, rather than unrelated feature check.
81430         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
81431         * doc/functions/ftello.texi (ftello): Likewise.
81432         Reported by Bruno Haible.
81434         * m4/strerror.m4: Bump version number.
81436 2007-12-03  Bruno Haible  <bruno@clisp.org>
81438         * doc/functions/mprotect.texi: Mention the mingw problem.
81440 2007-12-03  Eric Blake  <ebb9@byu.net>
81442         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
81443         REPLACE_STRERROR is initialized before this macro.
81445 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
81447         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
81448         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
81449         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
81450         put -lsec in even for programs other than 'ls'.  This fixes a problem
81451         for gettext reported by Bruno Haible in
81452         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
81453         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
81454         Add support for Solaris 10.  This isn't efficient, but should get the
81455         job done for now.
81457 2007-12-03  James Youngman  <jay@gnu.org>
81459         * doc/regexprops-generic.texi: change "an close-group" to "a
81460         close-group" and "illegal" to "not allowed".
81462 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81464         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
81465         pr_byname.h. Needed for the rare case when the maintainer has done
81466         "make maintainer-clean" in the source directory and then attempts a
81467         build outside the source directory.
81468         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
81469         scripts_byname.h.
81471 2007-12-02  Martin Lambers  <marlam@marlam.de>
81472             Bruno Haible  <bruno@clisp.org>
81474         * lib/getpagesize.h: Remove file.
81475         * lib/unistd.in.h: Include declaration of getpagesize here.
81476         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81477         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81478         HAVE_SYS_PARAM_H.
81479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81480         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81481         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81482         (Depends-on): Add unistd.
81483         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81484         (Include): Use <unistd.h> instead of getpagesize.h.
81485         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81486         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81487         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81488         gl_GETPAGESIZE invocation, already handled by module dependency.
81489         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81491 2007-12-02  Bruno Haible  <bruno@clisp.org>
81493         * modules/strings-tests: New file.
81494         * tests/test-strings.c: New file.
81496         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81497         * lib/strings.in.h: New file.
81498         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81499         * m4/strings_h.m4: New file.
81500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81501         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81502         * modules/strings: New file.
81503         * modules/string (Makefile.am): Update.
81504         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81505         Reported by Karl Berry.
81507 2007-12-01  Eric Blake  <ebb9@byu.net>
81509         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81510         accommodate fix in cygwin 1.5.25.
81512 2007-12-01  Jim Meyering  <meyering@redhat.com>
81514         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81515         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81516         that would inhibit utf8-optimization of a regexp containing line-
81517         or buffer-anchors, e.g., `^', `$'.
81519 2007-11-30  Bruno Haible  <bruno@clisp.org>
81521         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81522         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81523         glthread_recursive_lock_init.
81524         * lib/lock.c (glthread_recursive_lock_init)
81525         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81526         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81528 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81530         New function qset_acl, like set_acl but with syscall semantics.
81531         * lib/acl.h (qset_acl): New decl.
81532         * lib/acl.c (qset_acl): New function.
81533         (set_acl): Use new function.  Use more-consistent diagnostics.
81535 2007-11-28  Jim Meyering  <meyering@redhat.com>
81537         * modules/physmem (License): Change from GPL to LGPLv2+.
81539 2007-11-26  Bruno Haible  <bruno@clisp.org>
81541         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81542         'long double' type has excess precision.
81543         Reported by Jim Meyering in
81544         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81546 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81548         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81549         Sync from <http://gnu.org/licenses>.
81550         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81551         with license text from same location.
81552         * doc/maintain.texi, doc/standards.texi:  Sync from
81553         <http://savannah.gnu.org/projects/gnustandards>.
81555 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81556         and Jim Meyering  <meyering@redhat.com>
81558         Adjust getdate' grammar to accept a slightly more regular language.
81559         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81560         Before, the former was rejected.
81561         * lib/getdate.y (digits_to_date_time): New function, factored
81562         out of ...
81563         (number): ...here.  Just call digits_to_date_time.
81564         (hybrid): New non-terminal to handle an <unsigned number,
81565         signed relative offset> sequence consistently.
81567 2007-11-18  Jim Meyering  <meyering@redhat.com>
81569         Pull my changes from coreutils:
81570         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81571         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81572         use of $gnulib_tool_option_extras, so that it's separated from the
81573         preceding argument.
81575         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81576         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81577         parent destination directories before copying a file into place.
81579 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81581         bootstrap: work also with 4-argument variant of AC_INIT
81582         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81584 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81586         Port test-getaddrinfo to Solaris.
81587         Problem reported by Bruno Haible in
81588         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81589         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81590         explanation of setting 'hints'.
81591         Don't reject an implementation merely because it returns EAI_SERVICE.
81592         (EAI_SERVICE): Define to 0 if not defined.
81594 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81596         The license of gnu-make and posix-shell is now "GPLed build tool".
81597         * modules/gnu-make (License): Likewise.
81598         * modules/posix-shell (License): Likewise.
81600         New module posix-shell, for determining a POSIX shell
81601         or perhaps something that is close enough to a POSIX shell.
81602         * m4/posix-shell.m4: New file.
81603         * modules/posix-shell: New file.
81605         * MODULES.html.sh: Mention new module.
81607         New module gnu-make, for determining whether we're using GNU Make.
81608         * m4/gnu-make.m4: New file.
81609         * modules/gnu-make: New file.
81610         * MODULES.html.sh: Mention new module.
81612 2007-11-14  Jim Meyering  <meyering@redhat.com>
81614         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81615         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81616         use this macro to create a function _definition_.
81617         Remove useless "#undef ARGMATCH_DIE".
81619 2007-11-14  Bruno Haible  <bruno@clisp.org>
81621         * lib/config.charset: Update for OpenBSD 4.1.
81622         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81624 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81626         Document 64-bit #if problems in stdint.texi.
81627         * doc/headers/stdint.texi (stdint.h): Mention problems with
81628         64-bit-#if, and how to work around them.
81630         Don't insist on 'long long int' support in the preprocessor.  It
81631         breaks too many things.  For example, PRIdMAX still uses a 'long
81632         long int' format with the latest Sun compiler, even though
81633         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81634         preprocessor problem.  This causes the latest coreutils to dump
81635         core on Solaris 10 sparc with the Sun C compiler.
81636         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81637         the troublesome expressions at configure-time, not at #if-time.
81638         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81639         preprocessor.
81640         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81641         compile-time C checks, done at 'configure'-time.
81642         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81643         * modules/inttypes (Makefile): Substitute the new symbols that
81644         gl_INTTYPES_H now generates.
81645         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81647 2007-11-12  Bruno Haible  <bruno@clisp.org>
81649         Tests for Unicode character classification functions.
81651         * modules/unictype/bidicategory-byname-tests: New file.
81652         * modules/unictype/bidicategory-name-tests: New file.
81653         * modules/unictype/bidicategory-of-tests: New file.
81654         * modules/unictype/bidicategory-test-tests: New file.
81655         * modules/unictype/block-list-tests: New file.
81656         * modules/unictype/block-of-tests: New file.
81657         * modules/unictype/block-test-tests: New file.
81658         * modules/unictype/category-C-tests: New file.
81659         * modules/unictype/category-Cc-tests: New file.
81660         * modules/unictype/category-Cf-tests: New file.
81661         * modules/unictype/category-Cn-tests: New file.
81662         * modules/unictype/category-Co-tests: New file.
81663         * modules/unictype/category-Cs-tests: New file.
81664         * modules/unictype/category-L-tests: New file.
81665         * modules/unictype/category-Ll-tests: New file.
81666         * modules/unictype/category-Lm-tests: New file.
81667         * modules/unictype/category-Lo-tests: New file.
81668         * modules/unictype/category-Lt-tests: New file.
81669         * modules/unictype/category-Lu-tests: New file.
81670         * modules/unictype/category-M-tests: New file.
81671         * modules/unictype/category-Mc-tests: New file.
81672         * modules/unictype/category-Me-tests: New file.
81673         * modules/unictype/category-Mn-tests: New file.
81674         * modules/unictype/category-N-tests: New file.
81675         * modules/unictype/category-Nd-tests: New file.
81676         * modules/unictype/category-Nl-tests: New file.
81677         * modules/unictype/category-No-tests: New file.
81678         * modules/unictype/category-P-tests: New file.
81679         * modules/unictype/category-Pc-tests: New file.
81680         * modules/unictype/category-Pd-tests: New file.
81681         * modules/unictype/category-Pe-tests: New file.
81682         * modules/unictype/category-Pf-tests: New file.
81683         * modules/unictype/category-Pi-tests: New file.
81684         * modules/unictype/category-Po-tests: New file.
81685         * modules/unictype/category-Ps-tests: New file.
81686         * modules/unictype/category-S-tests: New file.
81687         * modules/unictype/category-Sc-tests: New file.
81688         * modules/unictype/category-Sk-tests: New file.
81689         * modules/unictype/category-Sm-tests: New file.
81690         * modules/unictype/category-So-tests: New file.
81691         * modules/unictype/category-Z-tests: New file.
81692         * modules/unictype/category-Zl-tests: New file.
81693         * modules/unictype/category-Zp-tests: New file.
81694         * modules/unictype/category-Zs-tests: New file.
81695         * modules/unictype/category-and-not-tests: New file.
81696         * modules/unictype/category-and-tests: New file.
81697         * modules/unictype/category-byname-tests: New file.
81698         * modules/unictype/category-name-tests: New file.
81699         * modules/unictype/category-none-tests: New file.
81700         * modules/unictype/category-of-tests: New file.
81701         * modules/unictype/category-or-tests: New file.
81702         * modules/unictype/category-test-withtable-tests: New file.
81703         * modules/unictype/combining-class-tests: New file.
81704         * modules/unictype/ctype-alnum-tests: New file.
81705         * modules/unictype/ctype-alpha-tests: New file.
81706         * modules/unictype/ctype-blank-tests: New file.
81707         * modules/unictype/ctype-cntrl-tests: New file.
81708         * modules/unictype/ctype-digit-tests: New file.
81709         * modules/unictype/ctype-graph-tests: New file.
81710         * modules/unictype/ctype-lower-tests: New file.
81711         * modules/unictype/ctype-print-tests: New file.
81712         * modules/unictype/ctype-punct-tests: New file.
81713         * modules/unictype/ctype-space-tests: New file.
81714         * modules/unictype/ctype-upper-tests: New file.
81715         * modules/unictype/ctype-xdigit-tests: New file.
81716         * modules/unictype/decimal-digit-tests: New file.
81717         * modules/unictype/digit-tests: New file.
81718         * modules/unictype/mirror-tests: New file.
81719         * modules/unictype/numeric-tests: New file.
81720         * modules/unictype/property-alphabetic-tests: New file.
81721         * modules/unictype/property-ascii-hex-digit-tests: New file.
81722         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81723         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81724         * modules/unictype/property-bidi-block-separator-tests: New file.
81725         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81726         * modules/unictype/property-bidi-common-separator-tests: New file.
81727         * modules/unictype/property-bidi-control-tests: New file.
81728         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81729         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81730         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81731         * modules/unictype/property-bidi-european-digit-tests: New file.
81732         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81733         * modules/unictype/property-bidi-left-to-right-tests: New file.
81734         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81735         * modules/unictype/property-bidi-other-neutral-tests: New file.
81736         * modules/unictype/property-bidi-pdf-tests: New file.
81737         * modules/unictype/property-bidi-segment-separator-tests: New file.
81738         * modules/unictype/property-bidi-whitespace-tests: New file.
81739         * modules/unictype/property-byname-tests: New file.
81740         * modules/unictype/property-combining-tests: New file.
81741         * modules/unictype/property-composite-tests: New file.
81742         * modules/unictype/property-currency-symbol-tests: New file.
81743         * modules/unictype/property-dash-tests: New file.
81744         * modules/unictype/property-decimal-digit-tests: New file.
81745         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81746         * modules/unictype/property-deprecated-tests: New file.
81747         * modules/unictype/property-diacritic-tests: New file.
81748         * modules/unictype/property-extender-tests: New file.
81749         * modules/unictype/property-format-control-tests: New file.
81750         * modules/unictype/property-grapheme-base-tests: New file.
81751         * modules/unictype/property-grapheme-extend-tests: New file.
81752         * modules/unictype/property-grapheme-link-tests: New file.
81753         * modules/unictype/property-hex-digit-tests: New file.
81754         * modules/unictype/property-hyphen-tests: New file.
81755         * modules/unictype/property-id-continue-tests: New file.
81756         * modules/unictype/property-id-start-tests: New file.
81757         * modules/unictype/property-ideographic-tests: New file.
81758         * modules/unictype/property-ids-binary-operator-tests: New file.
81759         * modules/unictype/property-ids-trinary-operator-tests: New file.
81760         * modules/unictype/property-ignorable-control-tests: New file.
81761         * modules/unictype/property-iso-control-tests: New file.
81762         * modules/unictype/property-join-control-tests: New file.
81763         * modules/unictype/property-left-of-pair-tests: New file.
81764         * modules/unictype/property-line-separator-tests: New file.
81765         * modules/unictype/property-logical-order-exception-tests: New file.
81766         * modules/unictype/property-lowercase-tests: New file.
81767         * modules/unictype/property-math-tests: New file.
81768         * modules/unictype/property-non-break-tests: New file.
81769         * modules/unictype/property-not-a-character-tests: New file.
81770         * modules/unictype/property-numeric-tests: New file.
81771         * modules/unictype/property-other-alphabetic-tests: New file.
81772         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81773         * modules/unictype/property-other-grapheme-extend-tests: New file.
81774         * modules/unictype/property-other-id-continue-tests: New file.
81775         * modules/unictype/property-other-id-start-tests: New file.
81776         * modules/unictype/property-other-lowercase-tests: New file.
81777         * modules/unictype/property-other-math-tests: New file.
81778         * modules/unictype/property-other-uppercase-tests: New file.
81779         * modules/unictype/property-paired-punctuation-tests: New file.
81780         * modules/unictype/property-paragraph-separator-tests: New file.
81781         * modules/unictype/property-pattern-syntax-tests: New file.
81782         * modules/unictype/property-pattern-white-space-tests: New file.
81783         * modules/unictype/property-private-use-tests: New file.
81784         * modules/unictype/property-punctuation-tests: New file.
81785         * modules/unictype/property-quotation-mark-tests: New file.
81786         * modules/unictype/property-radical-tests: New file.
81787         * modules/unictype/property-sentence-terminal-tests: New file.
81788         * modules/unictype/property-soft-dotted-tests: New file.
81789         * modules/unictype/property-space-tests: New file.
81790         * modules/unictype/property-terminal-punctuation-tests: New file.
81791         * modules/unictype/property-test-tests: New file.
81792         * modules/unictype/property-titlecase-tests: New file.
81793         * modules/unictype/property-unassigned-code-value-tests: New file.
81794         * modules/unictype/property-unified-ideograph-tests: New file.
81795         * modules/unictype/property-uppercase-tests: New file.
81796         * modules/unictype/property-variation-selector-tests: New file.
81797         * modules/unictype/property-white-space-tests: New file.
81798         * modules/unictype/property-xid-continue-tests: New file.
81799         * modules/unictype/property-xid-start-tests: New file.
81800         * modules/unictype/property-zero-width-tests: New file.
81801         * modules/unictype/scripts-tests: New file.
81802         * modules/unictype/syntax-c-ident-tests: New file.
81803         * modules/unictype/syntax-c-whitespace-tests: New file.
81804         * modules/unictype/syntax-java-ident-tests: New file.
81805         * modules/unictype/syntax-java-whitespace-tests: New file.
81806         * tests/unictype/test-bidi_byname.c: New file.
81807         * tests/unictype/test-bidi_name.c: New file.
81808         * tests/unictype/test-bidi_of.c: New file.
81809         * tests/unictype/test-bidi_test.c: New file.
81810         * tests/unictype/test-block_list.c: New file.
81811         * tests/unictype/test-block_of.c: New file.
81812         * tests/unictype/test-block_test.c: New file.
81813         * tests/unictype/test-categ_and.c: New file.
81814         * tests/unictype/test-categ_and_not.c: New file.
81815         * tests/unictype/test-categ_byname.c: New file.
81816         * tests/unictype/test-categ_name.c: New file.
81817         * tests/unictype/test-categ_none.c: New file.
81818         * tests/unictype/test-categ_of.c: New file.
81819         * tests/unictype/test-categ_or.c: New file.
81820         * tests/unictype/test-categ_test_withtable.c: New file.
81821         * tests/unictype/test-combining.c: New file.
81822         * tests/unictype/test-decdigit.c: New file.
81823         * tests/unictype/test-digit.c: New file.
81824         * tests/unictype/test-mirror.c: New file.
81825         * tests/unictype/test-numeric.c: New file.
81826         * tests/unictype/test-pr_byname.c: New file.
81827         * tests/unictype/test-pr_test.c: New file.
81828         * tests/unictype/test-predicate-part1.h: New file.
81829         * tests/unictype/test-predicate-part2.h: New file.
81830         * tests/unictype/test-scripts.c: New file.
81831         * tests/unictype/test-sy_c_ident.c: New file.
81832         * tests/unictype/test-sy_java_ident.c: New file.
81834         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81835         for Unicode 5.0.0.
81836         * tests/unictype/test-categ_Cc.c: Likewise.
81837         * tests/unictype/test-categ_Cf.c: Likewise.
81838         * tests/unictype/test-categ_Cn.c: Likewise.
81839         * tests/unictype/test-categ_Co.c: Likewise.
81840         * tests/unictype/test-categ_Cs.c: Likewise.
81841         * tests/unictype/test-categ_L.c: Likewise.
81842         * tests/unictype/test-categ_Ll.c: Likewise.
81843         * tests/unictype/test-categ_Lm.c: Likewise.
81844         * tests/unictype/test-categ_Lo.c: Likewise.
81845         * tests/unictype/test-categ_Lt.c: Likewise.
81846         * tests/unictype/test-categ_Lu.c: Likewise.
81847         * tests/unictype/test-categ_M.c: Likewise.
81848         * tests/unictype/test-categ_Mc.c: Likewise.
81849         * tests/unictype/test-categ_Me.c: Likewise.
81850         * tests/unictype/test-categ_Mn.c: Likewise.
81851         * tests/unictype/test-categ_N.c: Likewise.
81852         * tests/unictype/test-categ_Nd.c: Likewise.
81853         * tests/unictype/test-categ_Nl.c: Likewise.
81854         * tests/unictype/test-categ_No.c: Likewise.
81855         * tests/unictype/test-categ_P.c: Likewise.
81856         * tests/unictype/test-categ_Pc.c: Likewise.
81857         * tests/unictype/test-categ_Pd.c: Likewise.
81858         * tests/unictype/test-categ_Pe.c: Likewise.
81859         * tests/unictype/test-categ_Pf.c: Likewise.
81860         * tests/unictype/test-categ_Pi.c: Likewise.
81861         * tests/unictype/test-categ_Po.c: Likewise.
81862         * tests/unictype/test-categ_Ps.c: Likewise.
81863         * tests/unictype/test-categ_S.c: Likewise.
81864         * tests/unictype/test-categ_Sc.c: Likewise.
81865         * tests/unictype/test-categ_Sk.c: Likewise.
81866         * tests/unictype/test-categ_Sm.c: Likewise.
81867         * tests/unictype/test-categ_So.c: Likewise.
81868         * tests/unictype/test-categ_Z.c: Likewise.
81869         * tests/unictype/test-categ_Zl.c: Likewise.
81870         * tests/unictype/test-categ_Zp.c: Likewise.
81871         * tests/unictype/test-categ_Zs.c: Likewise.
81872         * tests/unictype/test-ctype_alnum.c: Likewise.
81873         * tests/unictype/test-ctype_alpha.c: Likewise.
81874         * tests/unictype/test-ctype_blank.c: Likewise.
81875         * tests/unictype/test-ctype_cntrl.c: Likewise.
81876         * tests/unictype/test-ctype_digit.c: Likewise.
81877         * tests/unictype/test-ctype_graph.c: Likewise.
81878         * tests/unictype/test-ctype_lower.c: Likewise.
81879         * tests/unictype/test-ctype_print.c: Likewise.
81880         * tests/unictype/test-ctype_punct.c: Likewise.
81881         * tests/unictype/test-ctype_space.c: Likewise.
81882         * tests/unictype/test-ctype_upper.c: Likewise.
81883         * tests/unictype/test-ctype_xdigit.c: Likewise.
81884         * tests/unictype/test-decdigit.h: Likewise.
81885         * tests/unictype/test-digit.h: Likewise.
81886         * tests/unictype/test-numeric.h: Likewise.
81887         * tests/unictype/test-pr_alphabetic.c: Likewise.
81888         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81889         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81890         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81891         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81892         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81893         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81894         * tests/unictype/test-pr_bidi_control.c: Likewise.
81895         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81896         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81897         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81898         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81899         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81900         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81901         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81902         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81903         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81904         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81905         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81906         * tests/unictype/test-pr_combining.c: Likewise.
81907         * tests/unictype/test-pr_composite.c: Likewise.
81908         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81909         * tests/unictype/test-pr_dash.c: Likewise.
81910         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81911         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81912         * tests/unictype/test-pr_deprecated.c: Likewise.
81913         * tests/unictype/test-pr_diacritic.c: Likewise.
81914         * tests/unictype/test-pr_extender.c: Likewise.
81915         * tests/unictype/test-pr_format_control.c: Likewise.
81916         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81917         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81918         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81919         * tests/unictype/test-pr_hex_digit.c: Likewise.
81920         * tests/unictype/test-pr_hyphen.c: Likewise.
81921         * tests/unictype/test-pr_id_continue.c: Likewise.
81922         * tests/unictype/test-pr_id_start.c: Likewise.
81923         * tests/unictype/test-pr_ideographic.c: Likewise.
81924         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81925         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81926         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81927         * tests/unictype/test-pr_iso_control.c: Likewise.
81928         * tests/unictype/test-pr_join_control.c: Likewise.
81929         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81930         * tests/unictype/test-pr_line_separator.c: Likewise.
81931         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81932         * tests/unictype/test-pr_lowercase.c: Likewise.
81933         * tests/unictype/test-pr_math.c: Likewise.
81934         * tests/unictype/test-pr_non_break.c: Likewise.
81935         * tests/unictype/test-pr_not_a_character.c: Likewise.
81936         * tests/unictype/test-pr_numeric.c: Likewise.
81937         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81938         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81939         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81940         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81941         * tests/unictype/test-pr_other_id_start.c: Likewise.
81942         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81943         * tests/unictype/test-pr_other_math.c: Likewise.
81944         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81945         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81946         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81947         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81948         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81949         * tests/unictype/test-pr_private_use.c: Likewise.
81950         * tests/unictype/test-pr_punctuation.c: Likewise.
81951         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81952         * tests/unictype/test-pr_radical.c: Likewise.
81953         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81954         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81955         * tests/unictype/test-pr_space.c: Likewise.
81956         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81957         * tests/unictype/test-pr_titlecase.c: Likewise.
81958         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81959         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81960         * tests/unictype/test-pr_uppercase.c: Likewise.
81961         * tests/unictype/test-pr_variation_selector.c: Likewise.
81962         * tests/unictype/test-pr_white_space.c: Likewise.
81963         * tests/unictype/test-pr_xid_continue.c: Likewise.
81964         * tests/unictype/test-pr_xid_start.c: Likewise.
81965         * tests/unictype/test-pr_zero_width.c: Likewise.
81966         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81967         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81969 2007-11-12  Bruno Haible  <bruno@clisp.org>
81971         Unicode character classification functions.
81972         * lib/unictype.h: New file.
81973         * modules/unictype/base: New file.
81974         * modules/unictype/category-L: New file.
81975         * modules/unictype/category-Lu: New file.
81976         * modules/unictype/category-Ll: New file.
81977         * modules/unictype/category-Lt: New file.
81978         * modules/unictype/category-Lm: New file.
81979         * modules/unictype/category-Lo: New file.
81980         * modules/unictype/category-M: New file.
81981         * modules/unictype/category-Mn: New file.
81982         * modules/unictype/category-Mc: New file.
81983         * modules/unictype/category-Me: New file.
81984         * modules/unictype/category-N: New file.
81985         * modules/unictype/category-Nd: New file.
81986         * modules/unictype/category-Nl: New file.
81987         * modules/unictype/category-No: New file.
81988         * modules/unictype/category-P: New file.
81989         * modules/unictype/category-Pc: New file.
81990         * modules/unictype/category-Pd: New file.
81991         * modules/unictype/category-Ps: New file.
81992         * modules/unictype/category-Pe: New file.
81993         * modules/unictype/category-Pi: New file.
81994         * modules/unictype/category-Pf: New file.
81995         * modules/unictype/category-Po: New file.
81996         * modules/unictype/category-S: New file.
81997         * modules/unictype/category-Sm: New file.
81998         * modules/unictype/category-Sc: New file.
81999         * modules/unictype/category-Sk: New file.
82000         * modules/unictype/category-So: New file.
82001         * modules/unictype/category-Z: New file.
82002         * modules/unictype/category-Zs: New file.
82003         * modules/unictype/category-Zl: New file.
82004         * modules/unictype/category-Zp: New file.
82005         * modules/unictype/category-C: New file.
82006         * modules/unictype/category-Cc: New file.
82007         * modules/unictype/category-Cf: New file.
82008         * modules/unictype/category-Cs: New file.
82009         * modules/unictype/category-Co: New file.
82010         * modules/unictype/category-Cn: New file.
82011         * modules/unictype/category-or: New file.
82012         * modules/unictype/category-of: New file.
82013         * modules/unictype/category-test: New file.
82014         * modules/unictype/category-test-withtable: New file.
82015         * modules/unictype/category-byname: New file.
82016         * modules/unictype/category-none: New file.
82017         * modules/unictype/category-and: New file.
82018         * modules/unictype/category-and-not: New file.
82019         * modules/unictype/category-name: New file.
82020         * modules/unictype/combining-class: New file.
82021         * modules/unictype/category-all: New file.
82022         * modules/unictype/bidicategory-all: New file.
82023         * modules/unictype/bidicategory-byname: New file.
82024         * modules/unictype/bidicategory-name: New file.
82025         * modules/unictype/bidicategory-of: New file.
82026         * modules/unictype/bidicategory-test: New file.
82027         * modules/unictype/decimal-digit: New file.
82028         * modules/unictype/digit: New file.
82029         * modules/unictype/numeric: New file.
82030         * modules/unictype/mirror: New file.
82031         * modules/unictype/property-white-space: New file.
82032         * modules/unictype/property-alphabetic: New file.
82033         * modules/unictype/property-other-alphabetic: New file.
82034         * modules/unictype/property-not-a-character: New file.
82035         * modules/unictype/property-default-ignorable-code-point: New file.
82036         * modules/unictype/property-other-default-ignorable-code-point: New
82037         file.
82038         * modules/unictype/property-deprecated: New file.
82039         * modules/unictype/property-logical-order-exception: New file.
82040         * modules/unictype/property-variation-selector: New file.
82041         * modules/unictype/property-private-use: New file.
82042         * modules/unictype/property-unassigned-code-value: New file.
82043         * modules/unictype/property-uppercase: New file.
82044         * modules/unictype/property-other-uppercase: New file.
82045         * modules/unictype/property-lowercase: New file.
82046         * modules/unictype/property-other-lowercase: New file.
82047         * modules/unictype/property-titlecase: New file.
82048         * modules/unictype/property-soft-dotted: New file.
82049         * modules/unictype/property-id-start: New file.
82050         * modules/unictype/property-other-id-start: New file.
82051         * modules/unictype/property-id-continue: New file.
82052         * modules/unictype/property-other-id-continue: New file.
82053         * modules/unictype/property-xid-start: New file.
82054         * modules/unictype/property-xid-continue: New file.
82055         * modules/unictype/property-pattern-white-space: New file.
82056         * modules/unictype/property-pattern-syntax: New file.
82057         * modules/unictype/property-join-control: New file.
82058         * modules/unictype/property-grapheme-base: New file.
82059         * modules/unictype/property-grapheme-extend: New file.
82060         * modules/unictype/property-other-grapheme-extend: New file.
82061         * modules/unictype/property-grapheme-link: New file.
82062         * modules/unictype/property-bidi-control: New file.
82063         * modules/unictype/property-bidi-left-to-right: New file.
82064         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
82065         * modules/unictype/property-bidi-arabic-right-to-left: New file.
82066         * modules/unictype/property-bidi-european-digit: New file.
82067         * modules/unictype/property-bidi-eur-num-separator: New file.
82068         * modules/unictype/property-bidi-eur-num-terminator: New file.
82069         * modules/unictype/property-bidi-arabic-digit: New file.
82070         * modules/unictype/property-bidi-common-separator: New file.
82071         * modules/unictype/property-bidi-block-separator: New file.
82072         * modules/unictype/property-bidi-segment-separator: New file.
82073         * modules/unictype/property-bidi-whitespace: New file.
82074         * modules/unictype/property-bidi-non-spacing-mark: New file.
82075         * modules/unictype/property-bidi-boundary-neutral: New file.
82076         * modules/unictype/property-bidi-pdf: New file.
82077         * modules/unictype/property-bidi-embedding-or-override: New file.
82078         * modules/unictype/property-bidi-other-neutral: New file.
82079         * modules/unictype/property-hex-digit: New file.
82080         * modules/unictype/property-ascii-hex-digit: New file.
82081         * modules/unictype/property-ideographic: New file.
82082         * modules/unictype/property-unified-ideograph: New file.
82083         * modules/unictype/property-radical: New file.
82084         * modules/unictype/property-ids-binary-operator: New file.
82085         * modules/unictype/property-ids-trinary-operator: New file.
82086         * modules/unictype/property-zero-width: New file.
82087         * modules/unictype/property-space: New file.
82088         * modules/unictype/property-non-break: New file.
82089         * modules/unictype/property-iso-control: New file.
82090         * modules/unictype/property-format-control: New file.
82091         * modules/unictype/property-dash: New file.
82092         * modules/unictype/property-hyphen: New file.
82093         * modules/unictype/property-punctuation: New file.
82094         * modules/unictype/property-line-separator: New file.
82095         * modules/unictype/property-paragraph-separator: New file.
82096         * modules/unictype/property-quotation-mark: New file.
82097         * modules/unictype/property-sentence-terminal: New file.
82098         * modules/unictype/property-terminal-punctuation: New file.
82099         * modules/unictype/property-currency-symbol: New file.
82100         * modules/unictype/property-math: New file.
82101         * modules/unictype/property-other-math: New file.
82102         * modules/unictype/property-paired-punctuation: New file.
82103         * modules/unictype/property-left-of-pair: New file.
82104         * modules/unictype/property-combining: New file.
82105         * modules/unictype/property-composite: New file.
82106         * modules/unictype/property-decimal-digit: New file.
82107         * modules/unictype/property-numeric: New file.
82108         * modules/unictype/property-diacritic: New file.
82109         * modules/unictype/property-extender: New file.
82110         * modules/unictype/property-ignorable-control: New file.
82111         * modules/unictype/property-test: New file.
82112         * modules/unictype/property-byname: New file.
82113         * modules/unictype/property-all: New file.
82114         * modules/unictype/scripts: New file.
82115         * modules/unictype/scripts-all: New file.
82116         * modules/unictype/block-of: New file.
82117         * modules/unictype/block-test: New file.
82118         * modules/unictype/block-list: New file.
82119         * modules/unictype/block-all: New file.
82120         * modules/unictype/syntax-c-whitespace: New file.
82121         * modules/unictype/syntax-java-whitespace: New file.
82122         * modules/unictype/syntax-c-ident: New file.
82123         * modules/unictype/syntax-java-ident: New file.
82124         * modules/unictype/ctype-alnum: New file.
82125         * modules/unictype/ctype-alpha: New file.
82126         * modules/unictype/ctype-cntrl: New file.
82127         * modules/unictype/ctype-digit: New file.
82128         * modules/unictype/ctype-graph: New file.
82129         * modules/unictype/ctype-lower: New file.
82130         * modules/unictype/ctype-print: New file.
82131         * modules/unictype/ctype-punct: New file.
82132         * modules/unictype/ctype-space: New file.
82133         * modules/unictype/ctype-upper: New file.
82134         * modules/unictype/ctype-xdigit: New file.
82135         * modules/unictype/ctype-blank: New file.
82136         * lib/unictype/bidi_byname.c: New file.
82137         * lib/unictype/bidi_name.c: New file.
82138         * lib/unictype/bidi_of.c: New file.
82139         * lib/unictype/bidi_test.c: New file.
82140         * lib/unictype/bitmap.h: New file.
82141         * lib/unictype/block_test.c: New file.
82142         * lib/unictype/blocks.c: New file.
82143         * lib/unictype/categ_C.c: New file.
82144         * lib/unictype/categ_Cc.c: New file.
82145         * lib/unictype/categ_Cf.c: New file.
82146         * lib/unictype/categ_Cn.c: New file.
82147         * lib/unictype/categ_Co.c: New file.
82148         * lib/unictype/categ_Cs.c: New file.
82149         * lib/unictype/categ_L.c: New file.
82150         * lib/unictype/categ_Ll.c: New file.
82151         * lib/unictype/categ_Lm.c: New file.
82152         * lib/unictype/categ_Lo.c: New file.
82153         * lib/unictype/categ_Lt.c: New file.
82154         * lib/unictype/categ_Lu.c: New file.
82155         * lib/unictype/categ_M.c: New file.
82156         * lib/unictype/categ_Mc.c: New file.
82157         * lib/unictype/categ_Me.c: New file.
82158         * lib/unictype/categ_Mn.c: New file.
82159         * lib/unictype/categ_N.c: New file.
82160         * lib/unictype/categ_Nd.c: New file.
82161         * lib/unictype/categ_Nl.c: New file.
82162         * lib/unictype/categ_No.c: New file.
82163         * lib/unictype/categ_P.c: New file.
82164         * lib/unictype/categ_Pc.c: New file.
82165         * lib/unictype/categ_Pd.c: New file.
82166         * lib/unictype/categ_Pe.c: New file.
82167         * lib/unictype/categ_Pf.c: New file.
82168         * lib/unictype/categ_Pi.c: New file.
82169         * lib/unictype/categ_Po.c: New file.
82170         * lib/unictype/categ_Ps.c: New file.
82171         * lib/unictype/categ_S.c: New file.
82172         * lib/unictype/categ_Sc.c: New file.
82173         * lib/unictype/categ_Sk.c: New file.
82174         * lib/unictype/categ_Sm.c: New file.
82175         * lib/unictype/categ_So.c: New file.
82176         * lib/unictype/categ_Z.c: New file.
82177         * lib/unictype/categ_Zl.c: New file.
82178         * lib/unictype/categ_Zp.c: New file.
82179         * lib/unictype/categ_Zs.c: New file.
82180         * lib/unictype/categ_and.c: New file.
82181         * lib/unictype/categ_and_not.c: New file.
82182         * lib/unictype/categ_byname.c: New file.
82183         * lib/unictype/categ_name.c: New file.
82184         * lib/unictype/categ_none.c: New file.
82185         * lib/unictype/categ_of.c: New file.
82186         * lib/unictype/categ_or.c: New file.
82187         * lib/unictype/categ_test.c: New file.
82188         * lib/unictype/combining.c: New file.
82189         * lib/unictype/ctype_alnum.c: New file.
82190         * lib/unictype/ctype_alpha.c: New file.
82191         * lib/unictype/ctype_blank.c: New file.
82192         * lib/unictype/ctype_cntrl.c: New file.
82193         * lib/unictype/ctype_digit.c: New file.
82194         * lib/unictype/ctype_graph.c: New file.
82195         * lib/unictype/ctype_lower.c: New file.
82196         * lib/unictype/ctype_print.c: New file.
82197         * lib/unictype/ctype_punct.c: New file.
82198         * lib/unictype/ctype_space.c: New file.
82199         * lib/unictype/ctype_upper.c: New file.
82200         * lib/unictype/ctype_xdigit.c: New file.
82201         * lib/unictype/decdigit.c: New file.
82202         * lib/unictype/digit.c: New file.
82203         * lib/unictype/identsyntaxmap.h: New file.
82204         * lib/unictype/mirror.c: New file.
82205         * lib/unictype/numeric.c: New file.
82206         * lib/unictype/pr_alphabetic.c: New file.
82207         * lib/unictype/pr_ascii_hex_digit.c: New file.
82208         * lib/unictype/pr_bidi_arabic_digit.c: New file.
82209         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
82210         * lib/unictype/pr_bidi_block_separator.c: New file.
82211         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
82212         * lib/unictype/pr_bidi_common_separator.c: New file.
82213         * lib/unictype/pr_bidi_control.c: New file.
82214         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
82215         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
82216         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
82217         * lib/unictype/pr_bidi_european_digit.c: New file.
82218         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
82219         * lib/unictype/pr_bidi_left_to_right.c: New file.
82220         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
82221         * lib/unictype/pr_bidi_other_neutral.c: New file.
82222         * lib/unictype/pr_bidi_pdf.c: New file.
82223         * lib/unictype/pr_bidi_segment_separator.c: New file.
82224         * lib/unictype/pr_bidi_whitespace.c: New file.
82225         * lib/unictype/pr_byname.c: New file.
82226         * lib/unictype/pr_byname.gperf: New file.
82227         * lib/unictype/pr_combining.c: New file.
82228         * lib/unictype/pr_composite.c: New file.
82229         * lib/unictype/pr_currency_symbol.c: New file.
82230         * lib/unictype/pr_dash.c: New file.
82231         * lib/unictype/pr_decimal_digit.c: New file.
82232         * lib/unictype/pr_default_ignorable_code_point.c: New file.
82233         * lib/unictype/pr_deprecated.c: New file.
82234         * lib/unictype/pr_diacritic.c: New file.
82235         * lib/unictype/pr_extender.c: New file.
82236         * lib/unictype/pr_format_control.c: New file.
82237         * lib/unictype/pr_grapheme_base.c: New file.
82238         * lib/unictype/pr_grapheme_extend.c: New file.
82239         * lib/unictype/pr_grapheme_link.c: New file.
82240         * lib/unictype/pr_hex_digit.c: New file.
82241         * lib/unictype/pr_hyphen.c: New file.
82242         * lib/unictype/pr_id_continue.c: New file.
82243         * lib/unictype/pr_id_start.c: New file.
82244         * lib/unictype/pr_ideographic.c: New file.
82245         * lib/unictype/pr_ids_binary_operator.c: New file.
82246         * lib/unictype/pr_ids_trinary_operator.c: New file.
82247         * lib/unictype/pr_ignorable_control.c: New file.
82248         * lib/unictype/pr_iso_control.c: New file.
82249         * lib/unictype/pr_join_control.c: New file.
82250         * lib/unictype/pr_left_of_pair.c: New file.
82251         * lib/unictype/pr_line_separator.c: New file.
82252         * lib/unictype/pr_logical_order_exception.c: New file.
82253         * lib/unictype/pr_lowercase.c: New file.
82254         * lib/unictype/pr_math.c: New file.
82255         * lib/unictype/pr_non_break.c: New file.
82256         * lib/unictype/pr_not_a_character.c: New file.
82257         * lib/unictype/pr_numeric.c: New file.
82258         * lib/unictype/pr_other_alphabetic.c: New file.
82259         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
82260         * lib/unictype/pr_other_grapheme_extend.c: New file.
82261         * lib/unictype/pr_other_id_continue.c: New file.
82262         * lib/unictype/pr_other_id_start.c: New file.
82263         * lib/unictype/pr_other_lowercase.c: New file.
82264         * lib/unictype/pr_other_math.c: New file.
82265         * lib/unictype/pr_other_uppercase.c: New file.
82266         * lib/unictype/pr_paired_punctuation.c: New file.
82267         * lib/unictype/pr_paragraph_separator.c: New file.
82268         * lib/unictype/pr_pattern_syntax.c: New file.
82269         * lib/unictype/pr_pattern_white_space.c: New file.
82270         * lib/unictype/pr_private_use.c: New file.
82271         * lib/unictype/pr_punctuation.c: New file.
82272         * lib/unictype/pr_quotation_mark.c: New file.
82273         * lib/unictype/pr_radical.c: New file.
82274         * lib/unictype/pr_sentence_terminal.c: New file.
82275         * lib/unictype/pr_soft_dotted.c: New file.
82276         * lib/unictype/pr_space.c: New file.
82277         * lib/unictype/pr_terminal_punctuation.c: New file.
82278         * lib/unictype/pr_test.c: New file.
82279         * lib/unictype/pr_titlecase.c: New file.
82280         * lib/unictype/pr_unassigned_code_value.c: New file.
82281         * lib/unictype/pr_unified_ideograph.c: New file.
82282         * lib/unictype/pr_uppercase.c: New file.
82283         * lib/unictype/pr_variation_selector.c: New file.
82284         * lib/unictype/pr_white_space.c: New file.
82285         * lib/unictype/pr_xid_continue.c: New file.
82286         * lib/unictype/pr_xid_start.c: New file.
82287         * lib/unictype/pr_zero_width.c: New file.
82288         * lib/unictype/scripts.c: New file.
82289         * lib/unictype/sy_c_ident.c: New file.
82290         * lib/unictype/sy_c_whitespace.c: New file.
82291         * lib/unictype/sy_java_ident.c: New file.
82292         * lib/unictype/sy_java_whitespace.c: New file.
82294         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
82295         Unicode 5.0.0.
82296         * lib/unictype/blocks.h: Likewise.
82297         * lib/unictype/categ_C.h: Likewise.
82298         * lib/unictype/categ_Cc.h: Likewise.
82299         * lib/unictype/categ_Cf.h: Likewise.
82300         * lib/unictype/categ_Cn.h: Likewise.
82301         * lib/unictype/categ_Co.h: Likewise.
82302         * lib/unictype/categ_Cs.h: Likewise.
82303         * lib/unictype/categ_L.h: Likewise.
82304         * lib/unictype/categ_Ll.h: Likewise.
82305         * lib/unictype/categ_Lm.h: Likewise.
82306         * lib/unictype/categ_Lo.h: Likewise.
82307         * lib/unictype/categ_Lt.h: Likewise.
82308         * lib/unictype/categ_Lu.h: Likewise.
82309         * lib/unictype/categ_M.h: Likewise.
82310         * lib/unictype/categ_Mc.h: Likewise.
82311         * lib/unictype/categ_Me.h: Likewise.
82312         * lib/unictype/categ_Mn.h: Likewise.
82313         * lib/unictype/categ_N.h: Likewise.
82314         * lib/unictype/categ_Nd.h: Likewise.
82315         * lib/unictype/categ_Nl.h: Likewise.
82316         * lib/unictype/categ_No.h: Likewise.
82317         * lib/unictype/categ_P.h: Likewise.
82318         * lib/unictype/categ_Pc.h: Likewise.
82319         * lib/unictype/categ_Pd.h: Likewise.
82320         * lib/unictype/categ_Pe.h: Likewise.
82321         * lib/unictype/categ_Pf.h: Likewise.
82322         * lib/unictype/categ_Pi.h: Likewise.
82323         * lib/unictype/categ_Po.h: Likewise.
82324         * lib/unictype/categ_Ps.h: Likewise.
82325         * lib/unictype/categ_S.h: Likewise.
82326         * lib/unictype/categ_Sc.h: Likewise.
82327         * lib/unictype/categ_Sk.h: Likewise.
82328         * lib/unictype/categ_Sm.h: Likewise.
82329         * lib/unictype/categ_So.h: Likewise.
82330         * lib/unictype/categ_Z.h: Likewise.
82331         * lib/unictype/categ_Zl.h: Likewise.
82332         * lib/unictype/categ_Zp.h: Likewise.
82333         * lib/unictype/categ_Zs.h: Likewise.
82334         * lib/unictype/categ_of.h: Likewise.
82335         * lib/unictype/combining.h: Likewise.
82336         * lib/unictype/ctype_alnum.h: Likewise.
82337         * lib/unictype/ctype_alpha.h: Likewise.
82338         * lib/unictype/ctype_blank.h: Likewise.
82339         * lib/unictype/ctype_cntrl.h: Likewise.
82340         * lib/unictype/ctype_digit.h: Likewise.
82341         * lib/unictype/ctype_graph.h: Likewise.
82342         * lib/unictype/ctype_lower.h: Likewise.
82343         * lib/unictype/ctype_print.h: Likewise.
82344         * lib/unictype/ctype_punct.h: Likewise.
82345         * lib/unictype/ctype_space.h: Likewise.
82346         * lib/unictype/ctype_upper.h: Likewise.
82347         * lib/unictype/ctype_xdigit.h: Likewise.
82348         * lib/unictype/decdigit.h: Likewise.
82349         * lib/unictype/digit.h: Likewise.
82350         * lib/unictype/mirror.h: Likewise.
82351         * lib/unictype/numeric.h: Likewise.
82352         * lib/unictype/pr_alphabetic.h: Likewise.
82353         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
82354         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
82355         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
82356         * lib/unictype/pr_bidi_block_separator.h: Likewise.
82357         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
82358         * lib/unictype/pr_bidi_common_separator.h: Likewise.
82359         * lib/unictype/pr_bidi_control.h: Likewise.
82360         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
82361         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
82362         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
82363         * lib/unictype/pr_bidi_european_digit.h: Likewise.
82364         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
82365         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
82366         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
82367         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
82368         * lib/unictype/pr_bidi_pdf.h: Likewise.
82369         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
82370         * lib/unictype/pr_bidi_whitespace.h: Likewise.
82371         * lib/unictype/pr_combining.h: Likewise.
82372         * lib/unictype/pr_composite.h: Likewise.
82373         * lib/unictype/pr_currency_symbol.h: Likewise.
82374         * lib/unictype/pr_dash.h: Likewise.
82375         * lib/unictype/pr_decimal_digit.h: Likewise.
82376         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
82377         * lib/unictype/pr_deprecated.h: Likewise.
82378         * lib/unictype/pr_diacritic.h: Likewise.
82379         * lib/unictype/pr_extender.h: Likewise.
82380         * lib/unictype/pr_format_control.h: Likewise.
82381         * lib/unictype/pr_grapheme_base.h: Likewise.
82382         * lib/unictype/pr_grapheme_extend.h: Likewise.
82383         * lib/unictype/pr_grapheme_link.h: Likewise.
82384         * lib/unictype/pr_hex_digit.h: Likewise.
82385         * lib/unictype/pr_hyphen.h: Likewise.
82386         * lib/unictype/pr_id_continue.h: Likewise.
82387         * lib/unictype/pr_id_start.h: Likewise.
82388         * lib/unictype/pr_ideographic.h: Likewise.
82389         * lib/unictype/pr_ids_binary_operator.h: Likewise.
82390         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
82391         * lib/unictype/pr_ignorable_control.h: Likewise.
82392         * lib/unictype/pr_iso_control.h: Likewise.
82393         * lib/unictype/pr_join_control.h: Likewise.
82394         * lib/unictype/pr_left_of_pair.h: Likewise.
82395         * lib/unictype/pr_line_separator.h: Likewise.
82396         * lib/unictype/pr_logical_order_exception.h: Likewise.
82397         * lib/unictype/pr_lowercase.h: Likewise.
82398         * lib/unictype/pr_math.h: Likewise.
82399         * lib/unictype/pr_non_break.h: Likewise.
82400         * lib/unictype/pr_not_a_character.h: Likewise.
82401         * lib/unictype/pr_numeric.h: Likewise.
82402         * lib/unictype/pr_other_alphabetic.h: Likewise.
82403         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
82404         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
82405         * lib/unictype/pr_other_id_continue.h: Likewise.
82406         * lib/unictype/pr_other_id_start.h: Likewise.
82407         * lib/unictype/pr_other_lowercase.h: Likewise.
82408         * lib/unictype/pr_other_math.h: Likewise.
82409         * lib/unictype/pr_other_uppercase.h: Likewise.
82410         * lib/unictype/pr_paired_punctuation.h: Likewise.
82411         * lib/unictype/pr_paragraph_separator.h: Likewise.
82412         * lib/unictype/pr_pattern_syntax.h: Likewise.
82413         * lib/unictype/pr_pattern_white_space.h: Likewise.
82414         * lib/unictype/pr_private_use.h: Likewise.
82415         * lib/unictype/pr_punctuation.h: Likewise.
82416         * lib/unictype/pr_quotation_mark.h: Likewise.
82417         * lib/unictype/pr_radical.h: Likewise.
82418         * lib/unictype/pr_sentence_terminal.h: Likewise.
82419         * lib/unictype/pr_soft_dotted.h: Likewise.
82420         * lib/unictype/pr_space.h: Likewise.
82421         * lib/unictype/pr_terminal_punctuation.h: Likewise.
82422         * lib/unictype/pr_titlecase.h: Likewise.
82423         * lib/unictype/pr_unassigned_code_value.h: Likewise.
82424         * lib/unictype/pr_unified_ideograph.h: Likewise.
82425         * lib/unictype/pr_uppercase.h: Likewise.
82426         * lib/unictype/pr_variation_selector.h: Likewise.
82427         * lib/unictype/pr_white_space.h: Likewise.
82428         * lib/unictype/pr_xid_continue.h: Likewise.
82429         * lib/unictype/pr_xid_start.h: Likewise.
82430         * lib/unictype/pr_zero_width.h: Likewise.
82431         * lib/unictype/scripts.h: Likewise.
82432         * lib/unictype/scripts_byname.gperf: Likewise.
82433         * lib/unictype/sy_c_ident.h: Likewise.
82434         * lib/unictype/sy_c_whitespace.h: Likewise.
82435         * lib/unictype/sy_java_ident.h: Likewise.
82436         * lib/unictype/sy_java_whitespace.h: Likewise.
82438         * lib/unictype/Makefile: New file.
82439         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
82440         glibc.
82441         * lib/unictype/3level.h: New file, copied from glibc.
82442         * lib/unictype/3levelbit.h: New file.
82444 2007-11-11  Bruno Haible  <bruno@clisp.org>
82446         * modules/gperf: New file.
82447         * modules/iconv_open (Depends-on): Add it.
82448         (Makefile.am): Remove the GPERF definition.
82450 2007-11-11  Bruno Haible  <bruno@clisp.org>
82452         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
82453         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
82455 2007-11-11  Bruno Haible  <bruno@clisp.org>
82457         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
82458         (usage): Remove function.
82460 2007-11-11  Bruno Haible  <bruno@clisp.org>
82462         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
82463         gl_FUNC_CEILF_LIBS.
82464         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
82465         gl_FUNC_CEIL_LIBS.
82466         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
82467         gl_FUNC_CEILL_LIBS.
82468         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
82469         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
82470         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82472 2007-11-11  Bruno Haible  <bruno@clisp.org>
82474         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82475         roundf were declared but do not exist on functions.
82476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82477         roundl were declared but do not exist on functions.
82478         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82479         HAVE_FLOORL_AND_CEILL, respectively.
82480         Needed for Sun C on Solaris 10.
82482 2007-11-11  Bruno Haible  <bruno@clisp.org>
82484         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82485         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82486         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82487         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82488         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82489         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82490         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82491         HAVE_DECL_ROUNDF.
82492         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82493         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82495         of HAVE_DECL_ROUND*.
82496         * modules/math (Makefile.am): Update.
82498 2007-11-10  Bruno Haible  <bruno@clisp.org>
82500         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82501         ptrdiff_t as m4/intl.m4.
82503 2007-11-10  Jim Meyering  <meyering@redhat.com>
82505         Avoid link failure for the argmatch test.
82506         * tests/test-argmatch.c (usage): Define function to avoid a link
82507         failure: argmatch_die requires a usage function.
82509 2007-11-09  Bruno Haible  <bruno@clisp.org>
82511         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82512         * doc/functions/vsnprintf.texi: Likewise.
82513         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82514         with a size argument < 2.
82516 2007-11-09  Bruno Haible  <bruno@clisp.org>
82518         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82519         buffer. Fixes an inefficiency introduced on 2007-11-03.
82521 2007-11-09  Bruno Haible  <bruno@clisp.org>
82523         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82524         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82526 2007-11-08  Jim Meyering  <meyering@redhat.com>
82528         Change cache variable name prefix "jm_" to "gl_" everywhere.
82529         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82530         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82531         * m4/uptime.m4: s/gl_/jm_/
82533 2007-11-07  Bruno Haible  <bruno@clisp.org>
82535         Update to GNU gettext 0.17.
82536         * m4/intl.m4: Update to GNU gettext 0.17.
82537         * m4/po.m4: Likewise.
82538         * modules/gettext (Files): Remove m4/ulonglong.m4.
82539         (configure.ac): Require gettext infrastructure from version 0.17.
82541 2007-11-06  Bruno Haible  <bruno@clisp.org>
82543         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82544         symbolic values are not defined in a public header.
82545         * lib/freadable.c (freadable) [QNX]: Likewise.
82546         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82547         * lib/freading.c (freading) [QNX]: Likewise.
82548         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82549         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82550         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82551         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82552         Reported by Alain Magloire.
82554         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82556 2007-11-05  Bruno Haible  <bruno@clisp.org>
82558         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82559         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82560         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82561         Reported by Eric Blake.
82563 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82564             Bruno Haible  <bruno@clisp.org>
82566         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82567         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82568         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82569         (malloc): Undefine also before including <stdlib.h>.
82570         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82571         Needed on OSF/1 4.0.
82573 2007-11-05  Jim Meyering  <meyering@redhat.com>
82575         git-version-gen: sync from coreutils.
82576         * build-aux/git-version-gen: Add comments.
82577         Change the first '-' to '.' in the snapshot version string,
82578         e.g., 6.9-377-08144 -> 6.9.377-08144
82579         Remove first parameter.
82580         Don't declare a version "-dirty" merely because a time
82581         stamp has changed.
82583 2007-11-04  Bruno Haible  <bruno@clisp.org>
82585         * lib/lock.h: Protect all macro definitions containing an 'if'
82586         statement through a "do { ... } while (0)".
82587         * lib/tls.h: Likewise.
82589 2007-11-04  Bruno Haible  <bruno@clisp.org>
82591         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82593 2007-11-04  Bruno Haible  <bruno@clisp.org>
82595         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82596         * modules/fprintf-posix (Depends-on): Add nocrash.
82597         * modules/snprintf-posix (Depends-on): Likewise.
82598         * modules/sprintf-posix (Depends-on): Likewise.
82599         * modules/vasnprintf-posix (Depends-on): Likewise.
82600         * modules/vasprintf-posix (Depends-on): Likewise.
82601         * modules/vfprintf-posix (Depends-on): Likewise.
82602         * modules/vsnprintf-posix (Depends-on): Likewise.
82603         * modules/vsprintf-posix (Depends-on): Likewise.
82604         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82605         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82606         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82607         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82608         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82609         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82610         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82612 2007-11-04  Bruno Haible  <bruno@clisp.org>
82614         * modules/nocrash: New file.
82615         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82616         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82618 2007-11-04  Bruno Haible  <bruno@clisp.org>
82620         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82621         precision handling.
82622         * tests/test-vasprintf-posix.c (test_function): Likewise.
82623         * tests/test-snprintf-posix.h (test_function): Likewise.
82624         * tests/test-sprintf-posix.h (test_function): Likewise.
82626         Fix *printf behaviour for large precisions on mingw and BeOS.
82627         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82628         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82629         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82630         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82631         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82632         gl_PRINTF_PRECISION and test its result. Invoke
82633         gl_PREREQ_VASNPRINTF_PRECISION.
82634         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82635         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82636         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82637         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82638         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82639         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82640         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82641         * doc/functions/fprintf.texi: Update.
82642         * doc/functions/printf.texi: Update.
82643         * doc/functions/snprintf.texi: Update.
82644         * doc/functions/sprintf.texi: Update.
82645         * doc/functions/vfprintf.texi: Update.
82646         * doc/functions/vprintf.texi: Update.
82647         * doc/functions/vsnprintf.texi: Update.
82648         * doc/functions/vsprintf.texi: Update.
82650 2007-11-04  Bruno Haible  <bruno@clisp.org>
82652         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82654 2007-11-04  Bruno Haible  <bruno@clisp.org>
82656         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82657         Reported by Sylvain Beucler <beuc@gnu.org>.
82659 2007-11-03  Bruno Haible  <bruno@clisp.org>
82661         * tests/test-fprintf-posix2.sh: New file.
82662         * tests/test-fprintf-posix2.c: New file.
82663         * modules/fprintf-posix-tests (Files): Add them.
82664         (TESTS): Add test-fprintf-posix2.sh.
82665         (configure.ac): Check for getrlimit and setrlimit.
82666         (check_PROGRAMS): Add test-fprintf-posix2.
82668         * tests/test-printf-posix2.sh: New file.
82669         * tests/test-printf-posix2.c: New file.
82670         * modules/printf-posix-tests (Files): Add them.
82671         (TESTS): Add test-printf-posix2.sh.
82672         (configure.ac): Check for getrlimit and setrlimit.
82673         (check_PROGRAMS): Add test-printf-posix2.
82675         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82676         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82677         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82678         (decode_double): New function, copied from decode_long_double.
82679         (scale10_round_decimal_decoded): New function, extracted from
82680         scale10_round_decimal_long_double.
82681         (scale10_round_decimal_long_double): Use it.
82682         (scale10_round_decimal_double): New function.
82683         (floorlog10): New function.
82684         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82686         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82688         gl_PRINTF_ENOMEM and test its result. Invoke
82689         gl_PREREQ_VASNPRINTF_ENOMEM.
82690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82692         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82694         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82695         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82696         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82697         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82698         * modules/snprintf-posix (Depends-on): Likewise.
82699         * modules/sprintf-posix (Depends-on): Likewise.
82700         * modules/vasnprintf-posix (Depends-on): Likewise.
82701         * modules/vasprintf-posix (Depends-on): Likewise.
82702         * modules/vfprintf-posix (Depends-on): Likewise.
82703         * modules/vsnprintf-posix (Depends-on): Likewise.
82704         * modules/vsprintf-posix (Depends-on): Likewise.
82705         * doc/functions/fprintf.texi: Update.
82706         * doc/functions/printf.texi: Update.
82707         * doc/functions/snprintf.texi: Update.
82708         * doc/functions/sprintf.texi: Update.
82709         * doc/functions/vfprintf.texi: Update.
82710         * doc/functions/vprintf.texi: Update.
82711         * doc/functions/vsnprintf.texi: Update.
82712         * doc/functions/vsprintf.texi: Update.
82714 2007-11-03  Bruno Haible  <bruno@clisp.org>
82716         * modules/frexp-nolibm-tests: New file.
82718         * modules/frexp-nolibm: New file.
82719         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82721 2007-11-03  Bruno Haible  <bruno@clisp.org>
82723         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82724         value is C99 compliant.
82725         Needed for OSF/1 5.1.
82727 2007-11-03  Bruno Haible  <bruno@clisp.org>
82729         Fix out-of-memory handling of vasnprintf.
82730         * lib/printf-parse.c: Include <errno.h>.
82731         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82732         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82733         is already set.
82735 2007-11-02  Eric Blake  <ebb9@byu.net>
82737         Fix tests on cygwin.
82738         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82740 2007-11-01  Bruno Haible  <bruno@clisp.org>
82742         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82743         warning.
82744         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82745         needed for POSIX compatibility.
82747 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82749         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82750         for compatibility with GNU.
82752 2007-11-01  Bruno Haible  <bruno@clisp.org>
82754         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82755         (putenv): Renamed from rpl_putenv. Change argument type from
82756         'const char *' to 'char *'.
82757         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82758         of defining putenv in config.h, just set REPLACE_PUTENV.
82759         * modules/putenv (Depends-on): Add stdlib.
82760         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82761         (Include): Use <stdlib.h>.
82762         * lib/stdlib.in.h (putenv): New declaration.
82763         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82764         REPLACE_PUTENV.
82765         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82766         REPLACE_PUTENV.
82767         Needed for MacOS X 10.5.0.
82768         Reported by Peter O'Gorman <peter@pogma.com>.
82770 2007-11-01  Jim Meyering  <meyering@redhat.com>
82772         Treat an empty date string exactly like "0".
82773         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82774         if the remaining date string (to be parsed) is empty, use "0".
82775         Reported by Mischa Molhoek and discussed in this thread:
82776         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82778 2007-10-31  Bruno Haible  <bruno@clisp.org>
82780         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82781         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82782         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82783         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82784         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82785         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82787 2007-10-31  Bruno Haible  <bruno@clisp.org>
82789         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82790         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82791         (AC_TYPE_LONG_LONG_INT): Use it.
82792         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82793         it as well.
82794         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82795         to m4/longlong.m4.
82796         * modules/stdint (Files): Remove m4/ulonglong.m4.
82797         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82798         m4/ulonglong.m4.
82799         * modules/strtoumax (Files): Likewise.
82801 2007-10-30  Bruno Haible  <bruno@clisp.org>
82803         * modules/xvasprintf-posix: New file.
82804         Suggested by Eric Blake.
82806 2007-10-30  Bruno Haible  <bruno@clisp.org>
82808         * modules/xprintf-posix-tests: New file.
82809         * tests/test-xprintf-posix.sh: New file.
82810         * tests/test-xprintf-posix.c: New file.
82811         * tests/test-xfprintf-posix.c: New file.
82813         * modules/xprintf-posix: New file.
82815 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82817         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82818         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82819         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82821 2007-10-29  Bruno Haible  <bruno@clisp.org>
82823         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82824         contain the special marker '_cv_'.
82825         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82826         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82827         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82828         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82829         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82830         Reported by Ralf Wildenhues.
82832 2007-10-29  Bruno Haible  <bruno@clisp.org>
82834         * gnulib-tool (func_import): When --lgpl is not specified, set
82835         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82836         GPLv3.
82837         Reported by Simon Josefsson.
82839 2007-10-28  Bruno Haible  <bruno@clisp.org>
82841         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82842         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82843         HAVE_DECL_ISFINITE.
82844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82845         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82846         HAVE_DECL_ISFINITE.
82848 2007-10-28  Bruno Haible  <bruno@clisp.org>
82850         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82851         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82853 2007-10-28  Bruno Haible  <bruno@clisp.org>
82855         Fix link errors with Sun C 5.0 on Solaris 10.
82856         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82857         function is declared but not present in the compiler's libm.
82858         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82859         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82860         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82861         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82862         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82863         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82864         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82866         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82867         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82868         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82869         HAVE_DECL_FLOORL.
82871 2007-10-28  Bruno Haible  <bruno@clisp.org>
82873         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82874         gl_FUNC_FLOORL. Cache the result.
82875         (gl_FUNC_FLOORL): Use it.
82876         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82877         gl_FUNC_CEILL. Cache the result.
82878         (gl_FUNC_CEILL): Use it.
82880         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82881         gl_FUNC_FLOOR. Cache the result.
82882         (gl_FUNC_FLOOR): Use it.
82883         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82884         gl_FUNC_CEIL. Cache the result.
82885         (gl_FUNC_CEIL): Use it.
82887         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82888         gl_FUNC_FLOORF. Cache the result.
82889         (gl_FUNC_FLOORF): Use it.
82890         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82891         gl_FUNC_CEILF. Cache the result.
82892         (gl_FUNC_CEILF): Use it.
82894 2007-10-28  Bruno Haible  <bruno@clisp.org>
82896         * gnulib-tool: Allow specifying the LGPL version number through
82897         --lgpl=2 or --lgpl=3.
82898         (func_usage): Document --lgpl with argument.
82899         Handle --lgpl=... arguments.
82900         (func_import): Recognize also gl_LGPL calls with an argument. When
82901         --lgpl=2 is used and the module's license is just LGPL, report an
82902         error. Set sed_transform_lib_file according to the lgpl variable. In
82903         the generated files, use --lgpl or gl_LGPL invocations with argument,
82904         if necessary.
82905         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82906         an LGPv2+ license.
82907         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82908         gl_LGPL macro.
82910 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82911             Bruno Haible  <bruno@clisp.org>
82913         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82914         (u16_uctomb_aux): Likewise.
82915         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82916         !HAVE_INLINE.
82917         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82919 2007-10-28  Bruno Haible  <bruno@clisp.org>
82921         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82922         Invoke AM_GETTEXT_OPTION if it exists.
82923         * modules/vasprintf: Likewise.
82924         * modules/verror: Likewise.
82925         * modules/xprintf: Likewise.
82926         * modules/xvasprintf: Likewise.
82928 2007-10-27  Ben Pfaff  <blp@gnu.org>
82930         * lib/math.in.h: Define isfinite macro and prototypes for
82931         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82932         implementations.
82933         * m4/math_h.m4: New substitutions for isfinite module.
82934         * lib/isfinite.c: New file.
82935         * m4/isfinite.m4: New file.
82936         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82937         * modules/isfinite: New file.
82938         * modules/isfinite-tests: New file.
82939         * tests/tests-isfinite.c: New file.
82940         * doc/functions/isfinite.texi: Mention isfinite module.
82941         * MODULES.html.sh: Mention new module.
82943 2007-10-27  Ben Pfaff  <blp@gnu.org>
82945         Ralf Wildenhues reported that Tru64 4.0D declares the round
82946         functions but does not have definitions.
82947         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82948         cannot be found in any library, set the output variable to
82949         "missing" instead of "".
82950         * m4/round.m4: Also use our substitute if we cannot find round in
82951         any library, even if it is declared.
82952         * m4/roundf.m4: Likewise for roundf.
82953         * m4/roundl.m4: Likewise for roundl.
82954         * lib/math.in.h: Undefine roundf, round, roundl before defining
82955         their replacements, to allow for hypothetical systems where these
82956         may be defined as macros but not available in libraries.
82958 2007-10-27  Bruno Haible  <bruno@clisp.org>
82960         * doc/gnulib.texi: Invoke @firstparagraphindent.
82961         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82962         changes in gnulib.
82963         (Source changes): New section.
82965 2007-10-26  Bruno Haible  <bruno@clisp.org>
82967         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82968         borrowed from autoconf.
82970 2007-10-26  Bruno Haible  <bruno@clisp.org>
82972         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82973         strerror returned the empty string. Needed on HP-UX 11.00.
82975 2007-10-24  Micah Cowan  <micah@cowan.name>
82977         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82978         * build-aux/bootstrap: Remove support for now-unnecessary option,
82979         --cvs-user, and envvars CVS_USER, CVS_RSH.
82981 2007-10-24  Jim Meyering  <meyering@redhat.com>
82983         Avoid diagnostics from sha1sum when there is no cached checksum.
82984         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82985         if the po.s1 file hasn't been created yet.
82987         * build-aux/bootstrap: Sync from coreutils:
82988         2007-10-24  Jim Meyering  <meyering@redhat.com>
82989         Get gnulib from the git repository, not from an obsolete cvs one.
82990         * build-aux/bootstrap: Suggestion from Micah Cowan.
82991         2007-10-04  Jim Meyering  <jim@meyering.net>
82992         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82993         (update_po_files): Work also when there are no .po files in po/.
82995 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82997         * README: Append ".git" to git and cg examples.
82998         Problem reported by Benoit Sigoure.
83000 2007-10-23  Micah Cowan  <micah@cowan.name>
83002         * users.txt: Add wget.
83004 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83006         Fix linking of some unistdio tests on FreeBSD.
83007         * modules/unistdio/u16-vsnprintf-tests
83008         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
83009         * modules/unistdio/u16-vsprintf-tests
83010         (test_u16_vsnprintf1_LDADD): Likewise.
83011         * modules/unistdio/u32-vsnprintf-tests
83012         (test_u32_vsnprintf1_LDADD): Likewise.
83013         * modules/unistdio/u32-vsprintf-tests
83014         (test_u32_vsprintf1_LDADD): Likewise.
83015         * modules/unistdio/u8-vsnprintf-tests
83016         (test_u8_vsnprintf1_LDADD): Likewise.
83017         * modules/unistdio/u8-vsprintf-tests
83018         (test_u8_vsprintf1_LDADD): Likewise.
83019         * modules/unistdio/ulc-vsnprintf-tests
83020         (test_ulc_vsnprintf1_LDADD): Likewise.
83021         * modules/unistdio/ulc-vsprintf-tests
83022         (test_ulc_vsprintf1_LDADD): Likewise.
83024         Fix linking of some uniconv tests on FreeBSD.
83025         * modules/uniconv/u16-conv-from-enc-tests
83026         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
83027         * modules/uniconv/u16-conv-to-enc-tests
83028         (test_u16_conv_to_enc_LDADD): Likewise.
83029         * modules/uniconv/u16-strconv-from-enc-tests
83030         (test_u16_strconv_from_enc_LDADD): Likewise.
83031         * modules/uniconv/u16-strconv-to-enc-tests
83032         (test_u16_strconv_to_enc_LDADD): Likewise.
83033         * modules/uniconv/u32-conv-from-enc-tests
83034         (test_u32_conv_from_enc_LDADD): Likewise.
83035         * modules/uniconv/u32-conv-to-enc-tests
83036         (test_u32_conv_to_enc_LDADD): Likewise.
83037         * modules/uniconv/u32-strconv-from-enc-tests
83038         (test_u32_strconv_from_enc_LDADD): Likewise.
83039         * modules/uniconv/u32-strconv-to-enc-tests
83040         (test_u32_strconv_to_enc_LDADD): Likewise.
83041         * modules/uniconv/u8-conv-from-enc-tests
83042         (test_u8_conv_from_enc_LDADD): Likewise.
83043         * modules/uniconv/u8-conv-to-enc-tests
83044         (test_u8_conv_to_enc_LDADD): Likewise.
83045         * modules/uniconv/u8-strconv-from-enc-tests
83046         (test_u8_strconv_from_enc_LDADD): Likewise.
83047         * modules/uniconv/u8-strconv-to-enc-tests
83048         (test_u8_strconv_to_enc_LDADD): Likewise.
83050 2007-10-22  Bruno Haible  <bruno@clisp.org>
83052         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
83053         size.
83055 2007-10-22  Eric Blake  <ebb9@byu.net>
83057         Tweak x*printf documentation.
83058         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
83059         variable name and comments.
83060         Suggested by Bruno Haible.
83062 2007-10-22  Bruno Haible  <bruno@clisp.org>
83064         * lib/acl.c (copy_acl): Fix file name in comment.
83066 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83068         Fix Tru64 problem with stdbool.h.
83069         * lib/stdbool.in.h (false, true):
83070         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
83071         Don't declare as an enum in this situation; it runs afoul of Tru64.
83072         Problem reported by Steven M. Schweda in
83073         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
83075 2007-10-22  Eric Blake  <ebb9@byu.net>
83077         Also wrap vf?printf.
83078         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
83079         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
83080         (xvprintf, xvfprintf): New functions.
83082 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83084         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
83085         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
83087         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
83088         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
83090 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83092         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
83093         by Bruno Haible.
83095 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83097         * lib/getloadavg.c
83098         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
83099         Undef `sys' after including sys/table.h, for Tru64 4.0D.
83101         * tests/test-i-ring.c: Work for C89.
83103 2007-10-22  Bruno Haible  <bruno@clisp.org>
83105         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
83106         -1u, in preprocessor expression, so that we don't test for the bug
83107         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
83108         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
83110 2007-10-22  Eric Blake  <ebb9@byu.net>
83112         * tests/test-yesno.sh: Silence stderr during test.
83114 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83116         * modules/crypto/gc-camellia: New file.
83118         * m4/gc-camellia.m4: New file.
83120         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
83122         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
83124 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83126         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
83127         --help to stdout.  Reported by sms@antinode.org (Steven
83128         M. Schweda).
83130 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83132         * users.txt: Fix link to libksba.
83134 2007-10-21  Ben Pfaff  <blp@gnu.org>
83136         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
83137         round.c roundf implementation that depends on floorf and ceilf to
83138         be tested unconditionally.
83140 2007-10-21  Ben Pfaff  <blp@gnu.org>
83142         * m4/check-libm-func.m4: Removed.
83143         * m4/check-math-lib.m4: New file.
83144         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
83145         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
83146         definition and lack of AC_LIBOBJ([roundf]).
83147         * m4/roundl.m4: Ditto, and similarly for roundl.
83148         * modules/round: Reference new m4 file.
83149         * modules/roundf: Ditto.
83150         * modules/roundl: Ditto.
83151         * tests/test-round2.c (main): Use ROUND instead of round.
83152         Bug report from Bruno Haible.
83154 2007-10-21  Bruno Haible  <bruno@clisp.org>
83156         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
83157         context.
83159 2007-10-21  Bruno Haible  <bruno@clisp.org>
83161         * tests/test-wcwidth.c (main): Allow negative result for some control
83162         characters.
83164         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
83165         Needed on OSF/1 5.1.
83167 2007-10-21  Bruno Haible  <bruno@clisp.org>
83169         * tests/test-floorf1.c: Include isnanf.h.
83170         (main): Use isnanf() instead of isnan().
83171         * tests/test-ceilf1.c: Include isnanf.h.
83172         (main): Use isnanf() instead of isnan().
83173         * tests/test-truncf1.c: Include isnanf.h.
83174         (main): Use isnanf() instead of isnan().
83175         * tests/test-roundf1.c: Include isnanf.h.
83176         (main): Use isnanf() instead of isnan().
83178 2007-10-21  Eric Blake  <ebb9@byu.net>
83180         * users.txt: Update URL for m4.
83182 2007-10-21  Bruno Haible  <bruno@clisp.org>
83184         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
83186 2007-10-21  Bruno Haible  <bruno@clisp.org>
83188         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
83189         Git's management files if the CVS files are not present.
83191 2007-10-20  Bruno Haible  <bruno@clisp.org>
83193         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
83194         gcc-3.4.x.
83196 2007-10-20  Ben Pfaff  <blp@gnu.org>
83198         * lib/math.in.h: Declare round, roundf, roundl if we are providing
83199         implementations.
83200         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
83201         * lib/round.c: New file.
83202         * lib/roundf.c: New file.
83203         * lib/roundl.c: New file.
83204         * m4/round.m4: New file.
83205         * m4/roundf.m4: New file.
83206         * m4/roundl.m4: New file.
83207         * m4/check-libm-func-m4: New file.
83208         * modules/math: Replace round, roundf, roundl related @VARS@ in
83209         math.in.h.
83210         * modules/round: New file.
83211         * modules/round-tests: New file.
83212         * modules/roundf: New file.
83213         * modules/roundf-tests: New file.
83214         * modules/roundl: New file.
83215         * modules/roundl-tests: New file.
83216         * tests/test-round1.c: New file.
83217         * tests/test-round2.c: New file.
83218         * tests/test-roundf1.c: New file.
83219         * tests/test-roundf2.c: New file.
83220         * tests/test-roundl.c: New file.
83221         * doc/functions/round.texi: Mention round module.
83222         * doc/functions/roundf.texi: Mention roundf module.
83223         * doc/functions/roundl.texi: Mention roundl module.
83224         * MODULES.html.sh: Mention new modules.
83225         Thanks to Bruno Haible for suggestions.
83227 2007-10-20  Jim Meyering  <meyering@redhat.com>
83229         * lib/xprintf.c: Include <config.h> unconditionally.
83231         Change xprintf's license to GPL.
83232         * modules/xprintf (License): s/LGPL/GPL/, since this module
83233         depends on modules (exit and exitfail) which are GPL.
83234         Suggestion from Bruno Haible.
83236         xprintf fixes.
83237         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
83238         Use a clearer diagnostic.
83239         Patch from Bruno Haible.
83241 2007-10-20  Bruno Haible  <bruno@clisp.org>
83243         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
83244         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
83245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83247 2007-10-20  Bruno Haible  <bruno@clisp.org>
83249         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
83250         precision in the comparison result > x - 1 or similar.
83251         * tests/test-ceilf2.c (correct_result_p): Likewise.
83252         * tests/test-truncf2.c (correct_result_p): Likewise.
83253         * tests/test-trunc2.c (correct_result_p): Likewise.
83254         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83256 2007-10-20  Bruno Haible  <bruno@clisp.org>
83258         * modules/ceil: New file.
83259         * m4/ceil.m4: New file.
83260         * doc/functions/ceil.texi: Mention the 'ceil' module.
83262 2007-10-20  Bruno Haible  <bruno@clisp.org>
83264         * modules/floor: New file.
83265         * m4/floor.m4: New file.
83266         * doc/functions/floor.texi: Mention the 'floor' module.
83268 2007-10-20  Bruno Haible  <bruno@clisp.org>
83270         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
83271         of %a.
83272         * modules/floorf-tests (Depends-on): Likewise.
83273         * modules/truncf-tests (Depends-on): Likewise.
83274         * modules/trunc-tests (Depends-on): Likewise.
83275         Reported by Ben Pfaff.
83277 2007-10-19  Jim Meyering  <meyering@redhat.com>
83279         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
83280         Don't bother testing specific errno values.  Just test ferror.
83282         New module: xprintf
83283         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
83285 2007-10-19  Bruno Haible  <bruno@clisp.org>
83287         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
83288         syntax.
83289         * modules/javaexec (Makefile.am): Likewise.
83290         * modules/relocatable-prog (Makefile.am): Likewise.
83291         Suggested by Jim Meyering.
83293 2007-10-18  Bruno Haible  <bruno@clisp.org>
83295         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
83296         Reported by Jim Meyering.
83298 2007-10-18  Eric Blake  <ebb9@byu.net>
83300         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
83302 2007-10-18  Bruno Haible  <bruno@clisp.org>
83304         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
83305         the format string into writable memory. Needed in Fortify conditions.
83307 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
83308             Bruno Haible  <bruno@clisp.org>
83310         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
83311         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
83312         * modules/trim (Depends-on): Add mbchar.
83313         (configure.ac): Add gl_FUNC_MBRTOWC.
83314         (Makefile.am): Augment lib_SOURCES.
83316 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83318         Modify glob.c to use fstatat and dirfd, to simplify it.
83319         Suggested by Eric Blake.
83320         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
83321         Don't include <stdbool.h>; not used.
83322         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
83323         (link_exists_p): Simplify implementation, since we can now assume
83324         dirfd and fstatat.
83325         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
83327 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83329         * gnulib-tool (func_get_dependencies): Fix sed script to
83330         match only tests.
83332 2007-10-17  Bruno Haible  <bruno@clisp.org>
83334         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
83335         allow locale names without encoding suffix.
83336         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
83337         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
83339 2007-10-16  Bruno Haible  <bruno@clisp.org>
83341         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
83342         * lib/getgroups.c (getgroups): Likewise.
83343         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
83345 2007-10-16  Bruno Haible  <bruno@clisp.org>
83347         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
83348         * modules/malloc-posix (License): Likewise.
83349         * modules/realloc-posix (License): Likewise.
83350         * modules/calloc-posix (License): Likewise.
83351         * modules/intprops (License): Change from GPL to LGPL, with
83352         Paul Eggert's approval.
83354 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83356         Merge glibc changes into lib/glob.c.
83358         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
83359         2007-10-15 04:59:03 UTC.  Here are the changes:
83361         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
83363         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
83365         * lib/glob.c: Add some branch prediction throughout.
83367         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
83369         [BZ #5103]
83370         * lib/glob.c (glob): Recognize patterns starting \/.
83372         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
83374         [BZ #3996]
83375         * lib/glob.c (attribute_hidden): Define if not defined.
83376         (glob): Unescape dirname, filename or username when needed and not
83377         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
83378         is NULL.  Handle unescaped [ in pattern without closing ].
83379         Don't pass GLOB_CHECK down to recursive glob for directories.
83380         (__glob_pattern_type): New function.
83381         (__glob_pattern_p): Implement using __glob_pattern_type.
83382         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
83383         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
83384         Remove unreachable code.
83386         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
83388         * lib/glob.c (glob_in_dir): Add some comments and asserts to
83389         explain why there are no leaks.
83391         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
83393         [BZ #3253]
83394         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
83395         time, rather allocate increasingly bigger arrays of pointers, if
83396         possible with alloca, if too large with malloc.
83398 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83400         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
83401         Problem reported by H.Merijn Brand in
83402         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
83403         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
83404         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
83406 2007-10-15  Bruno Haible  <bruno@clisp.org>
83408         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
83409         with explicit rpl_ prefix.
83410         * lib/fopen.c (fopen): Likewise.
83411         * lib/freopen.c (freopen): Likewise.
83412         * lib/iconv.c (iconv): Likewise.
83413         * lib/iconv_close.c (iconv_close): Likewise.
83415 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83417         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
83419 2007-10-15  Bruno Haible  <bruno@clisp.org>
83421         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
83422         <stddef.h> instead of <stdlib.h> since we only need NULL.
83423         Reported by Ben Pfaff <blp@cs.stanford.edu>.
83425 2007-10-15  Bruno Haible  <bruno@clisp.org>
83427         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
83428         Replace paragraph talking about LIBOBJS.
83429         Reported by Colin Watson <cjwatson@debian.org>.
83431 2007-10-15  Bruno Haible  <bruno@clisp.org>
83433         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
83434         <stdlib.h> before using NULL.
83436 2007-10-15  Simon Josefsson  <simon@josefsson.org>
83438         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
83439         Reported by Albert Chin <china@thewrittenword.com>.
83441 2007-10-14  Bruno Haible  <bruno@clisp.org>
83443         * modules/iconv_open-utf-tests: New file.
83444         * tests/test-iconv-utf.c: New file.
83446         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
83447         * modules/iconv_open-utf: New file.
83448         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
83449         (iconv, iconv_close): New declarations.
83450         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
83451         be defined.
83452         (iconv_open): Add special handling of conversion between UTF-8 and
83453         UTF-{16,32}{BE,LE}.
83454         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
83455         * lib/iconv_close.c: New file.
83456         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
83457         gl_FUNC_ICONV_OPEN.
83458         (gl_FUNC_ICONV_OPEN): Use it.
83459         (gl_FUNC_ICONV_OPEN_UTF): New macro.
83460         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
83461         and REPLACE_ICONV_UTF.
83462         * modules/iconv_open (Depends-on): Add c-strcase.
83463         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
83464         ICONV_CONST.
83465         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
83467 2007-10-13  Albert Chin  <china@thewrittenword.com>
83468             Bruno Haible  <bruno@clisp.org>
83470         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83471         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83473 2007-10-13  Bruno Haible  <bruno@clisp.org>
83475         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83476         defined, use the ISO C99 inline semantics.
83477         * lib/argp.h (ARGP_EI): Likewise.
83479 2007-10-13  Bruno Haible  <bruno@clisp.org>
83481         Handle 'inline' change in gcc 4.3.0.
83482         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83483         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83484         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83485         argp_fmtstream_point): Disable 'extern' declaration if the function
83486         definition is going to be provided inline.
83487         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83488         semantics, not the ISO C99 inline semantics.
83489         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83490         'extern' declaration if the function definition is going to be provided
83491         inline.
83492         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83493         the GNU C inline semantics, not the ISO C99 inline semantics. With
83494         GCC 4.2, avoid a warning.
83496 2007-10-13  Bruno Haible  <bruno@clisp.org>
83498         * lib/freading.h (freading): Enable the use of __freading for
83499         glibc >= 2.7.
83500         * lib/freading.c (freading): Likewise.
83502 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83504         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83505         "warning: C99 inline functions are not supported; using GNU89".
83507 2007-10-12  Bruno Haible  <bruno@clisp.org>
83509         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83510         of 2.
83511         * tests/test-ceilf2.c: New file.
83512         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83514         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83515         * modules/ceilf-tests: Update.
83517 2007-10-12  Bruno Haible  <bruno@clisp.org>
83519         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83520         of 2.
83521         * tests/test-floorf2.c: New file.
83522         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83524         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83525         * modules/floorf-tests: Update.
83527 2007-10-12  Bruno Haible  <bruno@clisp.org>
83529         * tests/test-trunc2.c: New file.
83530         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83532         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83533         * modules/trunc-tests: Update.
83535 2007-10-12  Bruno Haible  <bruno@clisp.org>
83537         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83538         of 2.
83539         * tests/test-truncf2.c: New file.
83540         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83542         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83543         * modules/truncf-tests: Update.
83545 2007-10-11  Eric Blake  <ebb9@byu.net>
83547         Don't claim strerror is broken on Interix.
83548         * doc/functions/strerror.texi (strerror): Known broken systems are
83549         now Solaris 8, and not Interix.
83550         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83551         Interix on cross-compile.
83552         Reported by Martin Koeppe in
83553         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83555 2007-10-11  Bruno Haible  <bruno@clisp.org>
83557         * modules/i-ring-tests: New file.
83558         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83559         instead of assert.
83561 2007-10-11  Bruno Haible  <bruno@clisp.org>
83563         * modules/filenamecat-tests: New file.
83564         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83565         * lib/filenamecat.c: Remove test code.
83567 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83569         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83571         * lib/strerror.c: Include <string.h> always, to test interface,
83572         and to remove the need for the dummy.
83573         Include intprops.h to compute width instead of doing it ourselves
83574         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83575         (strerror): Define it to return NULL if there's no system strerror.
83576         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83577         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83578         ancient pre-strerror Unix systems well any more.  Saying "unknown
83579         system error" is enough.
83580         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83581         simpler strerror.c implementation.
83582         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83583         Simplify the tests to reflect the simpler strerror implementation.
83584         * modules/strerror (Depends-on): Add intprops.
83586 2007-10-09  Eric Blake  <ebb9@byu.net>
83588         Silence test-fpending.
83589         * modules/fpending-tests (Files): Add wrapper script.
83590         * tests/test-fpending.sh: New file.
83592 2007-10-09  Bruno Haible  <bruno@clisp.org>
83594         * MODULES.html.sh (func_module): Don't create a hyperlink for
83595         function names like 'printf_frexp'.
83596         (Misc): Add crc, memxor.
83597         (Characteristics of floating types): New section.
83598         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83599         isnanf-nolibm, signbit, trunc, truncf, truncl.
83600         (Enhancements for ISO C 99 functions): New subsection Input/output.
83601         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83602         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83603         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83604         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83605         (Enhancements for POSIX:2001 functions): Add chdir-long.
83606         (File system functions): Add areadlink, chdir-safer, read-file.
83607         Remove cycle-check.
83608         (File system as inode set): New section.
83609         (Date and time): Add gethrxtime.
83610         (Multithreading): Add openmp.
83611         (Internationalization functions): Add localename.
83612         (Unicode string functions): Add unistr/u*-mbsnlen.
83613         (Support for maintaining and releasing projects): Add git-version-gen.
83614         (Lone files): Remove directories.
83616 2007-10-08  Ben Pfaff  <blp@gnu.org>
83618         * lib/xmalloca.h: Fix typo in comment.
83620 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83622         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83623         when avoiding problems with integer overflow.  Use a portable test
83624         instead.
83626 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83628         * modules/dummy (License): Change to LGPLv2+.
83629         * modules/float (License): Likewise
83630         * modules/realloc (License): Likewise
83631         * modules/stdlib (License): Likewise
83633 2007-10-07  Bruno Haible  <bruno@clisp.org>
83635         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83636         * floor.c (TWO_MANT_DIG): Likewise.
83637         * ceil.c (TWO_MANT_DIG): Likewise.
83638         Reported by Ben Pfaff.
83640 2007-10-07  Bruno Haible  <bruno@clisp.org>
83642         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83643         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83644         * lib/frexp.c (FUNC): Likewise.
83645         * lib/printf-frexp.h (printf_frexp): Likewise.
83646         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83647         * lib/printf-frexp.c (FUNC): Likewise.
83648         Suggested by Jim Meyering.
83650 2007-10-07  Jim Meyering  <meyering@redhat.com>
83652         Make xnanosleep's integer overflow test more robust.
83653         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83654         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83656 2007-10-07  Bruno Haible  <bruno@clisp.org>
83658         * NEWS: Mention the license change.
83660         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83661         abbreviations in the modules files.
83663         Change copyright notice from GPLv2+ to GPLv3+.
83664         * README: Change copyright notice.
83665         * MODULES.html.sh: Likewise.
83666         * build-aux/bootstrap.conf: Likewise.
83667         * build-aux/config.libpath: Likewise.
83668         * build-aux/csharpcomp.sh.in: Likewise.
83669         * build-aux/csharpexec.sh.in: Likewise.
83670         * build-aux/install-reloc: Likewise.
83671         * build-aux/javacomp.sh.in: Likewise.
83672         * build-aux/javaexec.sh.in: Likewise.
83673         * build-aux/ldd.sh.in: Likewise.
83674         * build-aux/reloc-ldflags: Likewise.
83675         * build-aux/relocatable.sh.in: Likewise.
83676         * build-aux/x-to-1.in: Likewise.
83677         * check-module: Likewise.
83678         * config/srclistvars.sh: Likewise.
83679         * gnulib-tool: Likewise.
83680         * lib/acl-internal.h: Likewise.
83681         * lib/acl.c: Likewise.
83682         * lib/acl.h: Likewise.
83683         * lib/acl_entries.c: Likewise.
83684         * lib/areadlink-with-size.c: Likewise.
83685         * lib/areadlink.c: Likewise.
83686         * lib/areadlink.h: Likewise.
83687         * lib/argmatch.c: Likewise.
83688         * lib/argmatch.h: Likewise.
83689         * lib/argp-ba.c: Likewise.
83690         * lib/argp-eexst.c: Likewise.
83691         * lib/argp-fmtstream.c: Likewise.
83692         * lib/argp-fmtstream.h: Likewise.
83693         * lib/argp-fs-xinl.c: Likewise.
83694         * lib/argp-help.c: Likewise.
83695         * lib/argp-namefrob.h: Likewise.
83696         * lib/argp-parse.c: Likewise.
83697         * lib/argp-pin.c: Likewise.
83698         * lib/argp-pv.c: Likewise.
83699         * lib/argp-pvh.c: Likewise.
83700         * lib/argp-xinl.c: Likewise.
83701         * lib/argp.h: Likewise.
83702         * lib/at-func.c: Likewise.
83703         * lib/atanl.c: Likewise.
83704         * lib/backupfile.c: Likewise.
83705         * lib/backupfile.h: Likewise.
83706         * lib/basename.c: Likewise.
83707         * lib/binary-io.h: Likewise.
83708         * lib/byteswap.in.h: Likewise.
83709         * lib/c-stack.c: Likewise.
83710         * lib/c-stack.h: Likewise.
83711         * lib/c-strcasestr.c: Likewise.
83712         * lib/c-strcasestr.h: Likewise.
83713         * lib/c-strstr.c: Likewise.
83714         * lib/c-strstr.h: Likewise.
83715         * lib/c-strtod.c: Likewise.
83716         * lib/calloc.c: Likewise.
83717         * lib/canon-host.c: Likewise.
83718         * lib/canon-host.h: Likewise.
83719         * lib/canonicalize-lgpl.c: Likewise.
83720         * lib/canonicalize.c: Likewise.
83721         * lib/canonicalize.h: Likewise.
83722         * lib/ceil.c: Likewise.
83723         * lib/ceilf.c: Likewise.
83724         * lib/ceill.c: Likewise.
83725         * lib/chdir-long.c: Likewise.
83726         * lib/chdir-long.h: Likewise.
83727         * lib/chdir-safer.c: Likewise.
83728         * lib/chdir-safer.h: Likewise.
83729         * lib/chown.c: Likewise.
83730         * lib/classpath.c: Likewise.
83731         * lib/classpath.h: Likewise.
83732         * lib/clean-temp.c: Likewise.
83733         * lib/clean-temp.h: Likewise.
83734         * lib/cloexec.c: Likewise.
83735         * lib/close-stream.c: Likewise.
83736         * lib/closein.c: Likewise.
83737         * lib/closein.h: Likewise.
83738         * lib/closeout.c: Likewise.
83739         * lib/closeout.h: Likewise.
83740         * lib/concat-filename.c: Likewise.
83741         * lib/copy-file.c: Likewise.
83742         * lib/copy-file.h: Likewise.
83743         * lib/count-one-bits.h: Likewise.
83744         * lib/crc.c: Likewise.
83745         * lib/crc.h: Likewise.
83746         * lib/creat-safer.c: Likewise.
83747         * lib/csharpcomp.c: Likewise.
83748         * lib/csharpcomp.h: Likewise.
83749         * lib/csharpexec.c: Likewise.
83750         * lib/csharpexec.h: Likewise.
83751         * lib/cycle-check.c: Likewise.
83752         * lib/cycle-check.h: Likewise.
83753         * lib/diacrit.c: Likewise.
83754         * lib/diacrit.h: Likewise.
83755         * lib/diffseq.h: Likewise.
83756         * lib/dirchownmod.c: Likewise.
83757         * lib/dirent.in.h: Likewise.
83758         * lib/dirfd.c: Likewise.
83759         * lib/dirfd.h: Likewise.
83760         * lib/dirname.c: Likewise.
83761         * lib/dirname.h: Likewise.
83762         * lib/dummy.c: Likewise.
83763         * lib/dup-safer.c: Likewise.
83764         * lib/dup2.c: Likewise.
83765         * lib/eealloc.h: Likewise.
83766         * lib/error.c: Likewise.
83767         * lib/error.h: Likewise.
83768         * lib/euidaccess.c: Likewise.
83769         * lib/exclude.c: Likewise.
83770         * lib/exclude.h: Likewise.
83771         * lib/execute.c: Likewise.
83772         * lib/execute.h: Likewise.
83773         * lib/exitfail.c: Likewise.
83774         * lib/exitfail.h: Likewise.
83775         * lib/expl.c: Likewise.
83776         * lib/fatal-signal.c: Likewise.
83777         * lib/fatal-signal.h: Likewise.
83778         * lib/fbufmode.c: Likewise.
83779         * lib/fbufmode.h: Likewise.
83780         * lib/fchdir.c: Likewise.
83781         * lib/fchmodat.c: Likewise.
83782         * lib/fchownat.c: Likewise.
83783         * lib/fcntl--.h: Likewise.
83784         * lib/fcntl-safer.h: Likewise.
83785         * lib/fcntl.in.h: Likewise.
83786         * lib/fd-safer.c: Likewise.
83787         * lib/fflush.c: Likewise.
83788         * lib/file-has-acl.c: Likewise.
83789         * lib/file-set.c: Likewise.
83790         * lib/file-type.c: Likewise.
83791         * lib/file-type.h: Likewise.
83792         * lib/fileblocks.c: Likewise.
83793         * lib/filemode.c: Likewise.
83794         * lib/filemode.h: Likewise.
83795         * lib/filename.h: Likewise.
83796         * lib/filenamecat.c: Likewise.
83797         * lib/filenamecat.h: Likewise.
83798         * lib/findprog.c: Likewise.
83799         * lib/findprog.h: Likewise.
83800         * lib/float.in.h: Likewise.
83801         * lib/floor.c: Likewise.
83802         * lib/floorf.c: Likewise.
83803         * lib/floorl.c: Likewise.
83804         * lib/fopen-safer.c: Likewise.
83805         * lib/fopen.c: Likewise.
83806         * lib/fpending.c: Likewise.
83807         * lib/fpending.h: Likewise.
83808         * lib/fprintf.c: Likewise.
83809         * lib/fprintftime.h: Likewise.
83810         * lib/fpucw.h: Likewise.
83811         * lib/fpurge.c: Likewise.
83812         * lib/fpurge.h: Likewise.
83813         * lib/freadable.c: Likewise.
83814         * lib/freadable.h: Likewise.
83815         * lib/freadahead.c: Likewise.
83816         * lib/freadahead.h: Likewise.
83817         * lib/freading.c: Likewise.
83818         * lib/freading.h: Likewise.
83819         * lib/free.c: Likewise.
83820         * lib/freopen.c: Likewise.
83821         * lib/frexp.c: Likewise.
83822         * lib/frexpl.c: Likewise.
83823         * lib/fseek.c: Likewise.
83824         * lib/fseterr.c: Likewise.
83825         * lib/fseterr.h: Likewise.
83826         * lib/fstatat.c: Likewise.
83827         * lib/fstrcmp.c: Likewise.
83828         * lib/fstrcmp.h: Likewise.
83829         * lib/fsusage.c: Likewise.
83830         * lib/fsusage.h: Likewise.
83831         * lib/ftell.c: Likewise.
83832         * lib/ftello.c: Likewise.
83833         * lib/fts-cycle.c: Likewise.
83834         * lib/fts.c: Likewise.
83835         * lib/fts_.h: Likewise.
83836         * lib/full-read.c: Likewise.
83837         * lib/full-read.h: Likewise.
83838         * lib/full-write.c: Likewise.
83839         * lib/full-write.h: Likewise.
83840         * lib/fwritable.c: Likewise.
83841         * lib/fwritable.h: Likewise.
83842         * lib/fwriteerror.c: Likewise.
83843         * lib/fwriteerror.h: Likewise.
83844         * lib/fwriting.c: Likewise.
83845         * lib/fwriting.h: Likewise.
83846         * lib/gcd.c: Likewise.
83847         * lib/gcd.h: Likewise.
83848         * lib/getcwd.c: Likewise.
83849         * lib/getdate.h: Likewise.
83850         * lib/getdate.y: Likewise.
83851         * lib/getdomainname.c: Likewise.
83852         * lib/getdomainname.h: Likewise.
83853         * lib/getgroups.c: Likewise.
83854         * lib/gethostname.c: Likewise.
83855         * lib/gethrxtime.c: Likewise.
83856         * lib/gethrxtime.h: Likewise.
83857         * lib/getloadavg.c: Likewise.
83858         * lib/getndelim2.c: Likewise.
83859         * lib/getndelim2.h: Likewise.
83860         * lib/getnline.c: Likewise.
83861         * lib/getnline.h: Likewise.
83862         * lib/getopt.c: Likewise.
83863         * lib/getopt.in.h: Likewise.
83864         * lib/getopt1.c: Likewise.
83865         * lib/getopt_int.h: Likewise.
83866         * lib/getpagesize.h: Likewise.
83867         * lib/getsubopt.c: Likewise.
83868         * lib/gettime.c: Likewise.
83869         * lib/getugroups.c: Likewise.
83870         * lib/getugroups.h: Likewise.
83871         * lib/getusershell.c: Likewise.
83872         * lib/gl_anyavltree_list1.h: Likewise.
83873         * lib/gl_anyavltree_list2.h: Likewise.
83874         * lib/gl_anyhash_list1.h: Likewise.
83875         * lib/gl_anyhash_list2.h: Likewise.
83876         * lib/gl_anylinked_list1.h: Likewise.
83877         * lib/gl_anylinked_list2.h: Likewise.
83878         * lib/gl_anyrbtree_list1.h: Likewise.
83879         * lib/gl_anyrbtree_list2.h: Likewise.
83880         * lib/gl_anytree_list1.h: Likewise.
83881         * lib/gl_anytree_list2.h: Likewise.
83882         * lib/gl_anytree_oset.h: Likewise.
83883         * lib/gl_anytreehash_list1.h: Likewise.
83884         * lib/gl_anytreehash_list2.h: Likewise.
83885         * lib/gl_array_list.c: Likewise.
83886         * lib/gl_array_list.h: Likewise.
83887         * lib/gl_array_oset.c: Likewise.
83888         * lib/gl_array_oset.h: Likewise.
83889         * lib/gl_avltree_list.c: Likewise.
83890         * lib/gl_avltree_list.h: Likewise.
83891         * lib/gl_avltree_oset.c: Likewise.
83892         * lib/gl_avltree_oset.h: Likewise.
83893         * lib/gl_avltreehash_list.c: Likewise.
83894         * lib/gl_avltreehash_list.h: Likewise.
83895         * lib/gl_carray_list.c: Likewise.
83896         * lib/gl_carray_list.h: Likewise.
83897         * lib/gl_linked_list.c: Likewise.
83898         * lib/gl_linked_list.h: Likewise.
83899         * lib/gl_linkedhash_list.c: Likewise.
83900         * lib/gl_linkedhash_list.h: Likewise.
83901         * lib/gl_list.c: Likewise.
83902         * lib/gl_list.h: Likewise.
83903         * lib/gl_oset.c: Likewise.
83904         * lib/gl_oset.h: Likewise.
83905         * lib/gl_rbtree_list.c: Likewise.
83906         * lib/gl_rbtree_list.h: Likewise.
83907         * lib/gl_rbtree_oset.c: Likewise.
83908         * lib/gl_rbtree_oset.h: Likewise.
83909         * lib/gl_rbtreehash_list.c: Likewise.
83910         * lib/gl_rbtreehash_list.h: Likewise.
83911         * lib/gl_sublist.c: Likewise.
83912         * lib/gl_sublist.h: Likewise.
83913         * lib/group-member.c: Likewise.
83914         * lib/group-member.h: Likewise.
83915         * lib/hard-locale.c: Likewise.
83916         * lib/hard-locale.h: Likewise.
83917         * lib/hash-pjw.c: Likewise.
83918         * lib/hash-pjw.h: Likewise.
83919         * lib/hash-triple.c: Likewise.
83920         * lib/hash.c: Likewise.
83921         * lib/hash.h: Likewise.
83922         * lib/human.c: Likewise.
83923         * lib/human.h: Likewise.
83924         * lib/i-ring.c: Likewise.
83925         * lib/i-ring.h: Likewise.
83926         * lib/idcache.c: Likewise.
83927         * lib/imaxabs.c: Likewise.
83928         * lib/imaxdiv.c: Likewise.
83929         * lib/inet_pton.c: Likewise.
83930         * lib/inet_pton.h: Likewise.
83931         * lib/intprops.h: Likewise.
83932         * lib/inttostr.c: Likewise.
83933         * lib/inttostr.h: Likewise.
83934         * lib/inttypes.in.h: Likewise.
83935         * lib/isapipe.c: Likewise.
83936         * lib/isdir.c: Likewise.
83937         * lib/isnan.c: Likewise.
83938         * lib/isnan.h: Likewise.
83939         * lib/isnanf.c: Likewise.
83940         * lib/isnanf.h: Likewise.
83941         * lib/isnanl-nolibm.h: Likewise.
83942         * lib/isnanl.c: Likewise.
83943         * lib/isnanl.h: Likewise.
83944         * lib/javacomp.c: Likewise.
83945         * lib/javacomp.h: Likewise.
83946         * lib/javaexec.c: Likewise.
83947         * lib/javaexec.h: Likewise.
83948         * lib/javaversion.c: Likewise.
83949         * lib/javaversion.h: Likewise.
83950         * lib/javaversion.java: Likewise.
83951         * lib/lbrkprop.h: Likewise.
83952         * lib/lchmod.h: Likewise.
83953         * lib/lchown.c: Likewise.
83954         * lib/ldexpl.c: Likewise.
83955         * lib/linebreak.c: Likewise.
83956         * lib/linebreak.h: Likewise.
83957         * lib/linebuffer.c: Likewise.
83958         * lib/linebuffer.h: Likewise.
83959         * lib/locale.in.h: Likewise.
83960         * lib/logl.c: Likewise.
83961         * lib/long-options.c: Likewise.
83962         * lib/long-options.h: Likewise.
83963         * lib/lstat.c: Likewise.
83964         * lib/lstat.h: Likewise.
83965         * lib/math.in.h: Likewise.
83966         * lib/mbchar.c: Likewise.
83967         * lib/mbchar.h: Likewise.
83968         * lib/mbfile.h: Likewise.
83969         * lib/mbiter.h: Likewise.
83970         * lib/mbscasecmp.c: Likewise.
83971         * lib/mbscasestr.c: Likewise.
83972         * lib/mbschr.c: Likewise.
83973         * lib/mbscspn.c: Likewise.
83974         * lib/mbslen.c: Likewise.
83975         * lib/mbsncasecmp.c: Likewise.
83976         * lib/mbsnlen.c: Likewise.
83977         * lib/mbspbrk.c: Likewise.
83978         * lib/mbspcasecmp.c: Likewise.
83979         * lib/mbsrchr.c: Likewise.
83980         * lib/mbssep.c: Likewise.
83981         * lib/mbsspn.c: Likewise.
83982         * lib/mbsstr.c: Likewise.
83983         * lib/mbstok_r.c: Likewise.
83984         * lib/mbswidth.c: Likewise.
83985         * lib/mbswidth.h: Likewise.
83986         * lib/mbuiter.h: Likewise.
83987         * lib/memcasecmp.c: Likewise.
83988         * lib/memcasecmp.h: Likewise.
83989         * lib/memchr.c: Likewise.
83990         * lib/memcmp.c: Likewise.
83991         * lib/memcoll.c: Likewise.
83992         * lib/memcoll.h: Likewise.
83993         * lib/memcpy.c: Likewise.
83994         * lib/memrchr.c: Likewise.
83995         * lib/mkancesdirs.c: Likewise.
83996         * lib/mkdir-p.c: Likewise.
83997         * lib/mkdir-p.h: Likewise.
83998         * lib/mkdir.c: Likewise.
83999         * lib/mkdirat.c: Likewise.
84000         * lib/mkdtemp.c: Likewise.
84001         * lib/mkstemp-safer.c: Likewise.
84002         * lib/mkstemp.c: Likewise.
84003         * lib/modechange.c: Likewise.
84004         * lib/modechange.h: Likewise.
84005         * lib/mountlist.c: Likewise.
84006         * lib/mountlist.h: Likewise.
84007         * lib/mpsort.c: Likewise.
84008         * lib/nanosleep.c: Likewise.
84009         * lib/obstack.c: Likewise.
84010         * lib/obstack.h: Likewise.
84011         * lib/open-safer.c: Likewise.
84012         * lib/open.c: Likewise.
84013         * lib/openat-die.c: Likewise.
84014         * lib/openat-priv.h: Likewise.
84015         * lib/openat-proc.c: Likewise.
84016         * lib/openat.c: Likewise.
84017         * lib/openat.h: Likewise.
84018         * lib/pagealign_alloc.c: Likewise.
84019         * lib/pagealign_alloc.h: Likewise.
84020         * lib/physmem.c: Likewise.
84021         * lib/physmem.h: Likewise.
84022         * lib/pipe-safer.c: Likewise.
84023         * lib/pipe.c: Likewise.
84024         * lib/pipe.h: Likewise.
84025         * lib/posixtm.c: Likewise.
84026         * lib/posixtm.h: Likewise.
84027         * lib/posixver.c: Likewise.
84028         * lib/printf-frexp.c: Likewise.
84029         * lib/printf-frexp.h: Likewise.
84030         * lib/printf-frexpl.c: Likewise.
84031         * lib/printf-frexpl.h: Likewise.
84032         * lib/printf.c: Likewise.
84033         * lib/progname.c: Likewise.
84034         * lib/progname.h: Likewise.
84035         * lib/progreloc.c: Likewise.
84036         * lib/putenv.c: Likewise.
84037         * lib/quote.c: Likewise.
84038         * lib/quote.h: Likewise.
84039         * lib/quotearg.c: Likewise.
84040         * lib/quotearg.h: Likewise.
84041         * lib/raise.c: Likewise.
84042         * lib/readline.c: Likewise.
84043         * lib/readline.h: Likewise.
84044         * lib/readlink.c: Likewise.
84045         * lib/readtokens.c: Likewise.
84046         * lib/readtokens.h: Likewise.
84047         * lib/readtokens0.c: Likewise.
84048         * lib/readtokens0.h: Likewise.
84049         * lib/readutmp.c: Likewise.
84050         * lib/readutmp.h: Likewise.
84051         * lib/realloc.c: Likewise.
84052         * lib/relocwrapper.c: Likewise.
84053         * lib/rename-dest-slash.c: Likewise.
84054         * lib/rename.c: Likewise.
84055         * lib/rmdir.c: Likewise.
84056         * lib/rpmatch.c: Likewise.
84057         * lib/safe-read.c: Likewise.
84058         * lib/safe-read.h: Likewise.
84059         * lib/safe-write.c: Likewise.
84060         * lib/safe-write.h: Likewise.
84061         * lib/same-inode.h: Likewise.
84062         * lib/same.c: Likewise.
84063         * lib/same.h: Likewise.
84064         * lib/save-cwd.c: Likewise.
84065         * lib/save-cwd.h: Likewise.
84066         * lib/savedir.c: Likewise.
84067         * lib/savedir.h: Likewise.
84068         * lib/savewd.c: Likewise.
84069         * lib/savewd.h: Likewise.
84070         * lib/search.in.h: Likewise.
84071         * lib/setenv.c: Likewise.
84072         * lib/setenv.h: Likewise.
84073         * lib/settime.c: Likewise.
84074         * lib/sh-quote.c: Likewise.
84075         * lib/sh-quote.h: Likewise.
84076         * lib/sig2str.c: Likewise.
84077         * lib/sig2str.h: Likewise.
84078         * lib/signal.in.h: Likewise.
84079         * lib/signbitd.c: Likewise.
84080         * lib/signbitf.c: Likewise.
84081         * lib/signbitl.c: Likewise.
84082         * lib/sigprocmask.c: Likewise.
84083         * lib/sincosl.c: Likewise.
84084         * lib/sleep.c: Likewise.
84085         * lib/sprintf.c: Likewise.
84086         * lib/sqrtl.c: Likewise.
84087         * lib/stat-time.h: Likewise.
84088         * lib/stdio--.h: Likewise.
84089         * lib/stdio-safer.h: Likewise.
84090         * lib/stdlib--.h: Likewise.
84091         * lib/stdlib-safer.h: Likewise.
84092         * lib/stdlib.in.h: Likewise.
84093         * lib/stpcpy.c: Likewise.
84094         * lib/stpncpy.c: Likewise.
84095         * lib/strchrnul.c: Likewise.
84096         * lib/strcspn.c: Likewise.
84097         * lib/strerror.c: Likewise.
84098         * lib/strftime.c: Likewise.
84099         * lib/strftime.h: Likewise.
84100         * lib/striconveh.c: Likewise.
84101         * lib/striconveh.h: Likewise.
84102         * lib/striconveha.c: Likewise.
84103         * lib/striconveha.h: Likewise.
84104         * lib/stripslash.c: Likewise.
84105         * lib/strnlen1.c: Likewise.
84106         * lib/strnlen1.h: Likewise.
84107         * lib/strtod.c: Likewise.
84108         * lib/strtoimax.c: Likewise.
84109         * lib/strtok_r.c: Likewise.
84110         * lib/strtol.c: Likewise.
84111         * lib/strtoll.c: Likewise.
84112         * lib/strtoul.c: Likewise.
84113         * lib/strtoull.c: Likewise.
84114         * lib/sysexits.in.h: Likewise.
84115         * lib/tempname.c: Likewise.
84116         * lib/tempname.h: Likewise.
84117         * lib/timespec.h: Likewise.
84118         * lib/tls.c: Likewise.
84119         * lib/tls.h: Likewise.
84120         * lib/tmpdir.c: Likewise.
84121         * lib/tmpdir.h: Likewise.
84122         * lib/tmpfile-safer.c: Likewise.
84123         * lib/tmpfile.c: Likewise.
84124         * lib/trigl.c: Likewise.
84125         * lib/trigl.h: Likewise.
84126         * lib/trim.c: Likewise.
84127         * lib/trim.h: Likewise.
84128         * lib/trunc.c: Likewise.
84129         * lib/truncf.c: Likewise.
84130         * lib/truncl.c: Likewise.
84131         * lib/tsearch.c: Likewise.
84132         * lib/unicodeio.c: Likewise.
84133         * lib/unicodeio.h: Likewise.
84134         * lib/unistd--.h: Likewise.
84135         * lib/unistd-safer.h: Likewise.
84136         * lib/unistdio/ulc-fprintf.c: Likewise.
84137         * lib/unistdio/ulc-vfprintf.c: Likewise.
84138         * lib/unlinkdir.c: Likewise.
84139         * lib/unlinkdir.h: Likewise.
84140         * lib/unlocked-io.h: Likewise.
84141         * lib/unsetenv.c: Likewise.
84142         * lib/userspec.c: Likewise.
84143         * lib/utime.c: Likewise.
84144         * lib/utimecmp.c: Likewise.
84145         * lib/utimecmp.h: Likewise.
84146         * lib/utimens.c: Likewise.
84147         * lib/verify.h: Likewise.
84148         * lib/verror.c: Likewise.
84149         * lib/verror.h: Likewise.
84150         * lib/version-etc-fsf.c: Likewise.
84151         * lib/version-etc.c: Likewise.
84152         * lib/version-etc.h: Likewise.
84153         * lib/vfprintf.c: Likewise.
84154         * lib/vprintf.c: Likewise.
84155         * lib/vsprintf.c: Likewise.
84156         * lib/w32spawn.h: Likewise.
84157         * lib/wait-process.c: Likewise.
84158         * lib/wait-process.h: Likewise.
84159         * lib/wcwidth.c: Likewise.
84160         * lib/write-any-file.c: Likewise.
84161         * lib/xalloc-die.c: Likewise.
84162         * lib/xalloc.h: Likewise.
84163         * lib/xasprintf.c: Likewise.
84164         * lib/xgetcwd.c: Likewise.
84165         * lib/xgetcwd.h: Likewise.
84166         * lib/xgetdomainname.c: Likewise.
84167         * lib/xgetdomainname.h: Likewise.
84168         * lib/xgethostname.c: Likewise.
84169         * lib/xmalloc.c: Likewise.
84170         * lib/xmalloca.c: Likewise.
84171         * lib/xmalloca.h: Likewise.
84172         * lib/xmemcoll.c: Likewise.
84173         * lib/xnanosleep.c: Likewise.
84174         * lib/xreadlink.c: Likewise.
84175         * lib/xreadlink.h: Likewise.
84176         * lib/xsetenv.c: Likewise.
84177         * lib/xsetenv.h: Likewise.
84178         * lib/xstriconv.c: Likewise.
84179         * lib/xstriconv.h: Likewise.
84180         * lib/xstrndup.c: Likewise.
84181         * lib/xstrndup.h: Likewise.
84182         * lib/xstrtod.c: Likewise.
84183         * lib/xstrtod.h: Likewise.
84184         * lib/xstrtol-error.c: Likewise.
84185         * lib/xstrtol.c: Likewise.
84186         * lib/xstrtol.h: Likewise.
84187         * lib/xtime.h: Likewise.
84188         * lib/xvasprintf.c: Likewise.
84189         * lib/xvasprintf.h: Likewise.
84190         * lib/yesno.c: Likewise.
84191         * lib/yesno.h: Likewise.
84192         * posix-modules: Likewise.
84193         * tests/test-alloca-opt.c: Likewise.
84194         * tests/test-arcfour.c: Likewise.
84195         * tests/test-arctwo.c: Likewise.
84196         * tests/test-argmatch.c: Likewise.
84197         * tests/test-argp-2.sh: Likewise.
84198         * tests/test-argp.c: Likewise.
84199         * tests/test-arpa_inet.c: Likewise.
84200         * tests/test-array_list.c: Likewise.
84201         * tests/test-array_oset.c: Likewise.
84202         * tests/test-atexit.c: Likewise.
84203         * tests/test-avltree_list.c: Likewise.
84204         * tests/test-avltree_oset.c: Likewise.
84205         * tests/test-avltreehash_list.c: Likewise.
84206         * tests/test-base64.c: Likewise.
84207         * tests/test-binary-io.c: Likewise.
84208         * tests/test-byteswap.c: Likewise.
84209         * tests/test-c-ctype.c: Likewise.
84210         * tests/test-c-strcasecmp.c: Likewise.
84211         * tests/test-c-strcasestr.c: Likewise.
84212         * tests/test-c-strncasecmp.c: Likewise.
84213         * tests/test-c-strstr.c: Likewise.
84214         * tests/test-canonicalize-lgpl.c: Likewise.
84215         * tests/test-canonicalize.c: Likewise.
84216         * tests/test-carray_list.c: Likewise.
84217         * tests/test-ceilf.c: Likewise.
84218         * tests/test-ceill.c: Likewise.
84219         * tests/test-count-one-bits.c: Likewise.
84220         * tests/test-crc.c: Likewise.
84221         * tests/test-dirname.c: Likewise.
84222         * tests/test-fbufmode.c: Likewise.
84223         * tests/test-fcntl.c: Likewise.
84224         * tests/test-fflush.c: Likewise.
84225         * tests/test-floorf.c: Likewise.
84226         * tests/test-floorl.c: Likewise.
84227         * tests/test-fopen.c: Likewise.
84228         * tests/test-fprintf-posix.c: Likewise.
84229         * tests/test-fprintf-posix.h: Likewise.
84230         * tests/test-fpurge.c: Likewise.
84231         * tests/test-freadable.c: Likewise.
84232         * tests/test-freadahead.c: Likewise.
84233         * tests/test-freading.c: Likewise.
84234         * tests/test-freopen.c: Likewise.
84235         * tests/test-frexp.c: Likewise.
84236         * tests/test-frexpl.c: Likewise.
84237         * tests/test-fseek.c: Likewise.
84238         * tests/test-fseeko.c: Likewise.
84239         * tests/test-fseterr.c: Likewise.
84240         * tests/test-fstrcmp.c: Likewise.
84241         * tests/test-ftell.c: Likewise.
84242         * tests/test-ftello.c: Likewise.
84243         * tests/test-fwritable.c: Likewise.
84244         * tests/test-fwriting.c: Likewise.
84245         * tests/test-getaddrinfo.c: Likewise.
84246         * tests/test-getpass.c: Likewise.
84247         * tests/test-gettimeofday.c: Likewise.
84248         * tests/test-hmac-md5.c: Likewise.
84249         * tests/test-hmac-sha1.c: Likewise.
84250         * tests/test-iconv.c: Likewise.
84251         * tests/test-iconvme.c: Likewise.
84252         * tests/test-inttypes.c: Likewise.
84253         * tests/test-isnan.c: Likewise.
84254         * tests/test-isnanf.c: Likewise.
84255         * tests/test-isnanl-nolibm.c: Likewise.
84256         * tests/test-isnanl.c: Likewise.
84257         * tests/test-isnanl.h: Likewise.
84258         * tests/test-ldexpl.c: Likewise.
84259         * tests/test-linked_list.c: Likewise.
84260         * tests/test-linkedhash_list.c: Likewise.
84261         * tests/test-locale.c: Likewise.
84262         * tests/test-localename.c: Likewise.
84263         * tests/test-lock.c: Likewise.
84264         * tests/test-lseek.c: Likewise.
84265         * tests/test-malloca.c: Likewise.
84266         * tests/test-math.c: Likewise.
84267         * tests/test-mbscasecmp.c: Likewise.
84268         * tests/test-mbscasestr1.c: Likewise.
84269         * tests/test-mbscasestr2.c: Likewise.
84270         * tests/test-mbscasestr3.c: Likewise.
84271         * tests/test-mbscasestr4.c: Likewise.
84272         * tests/test-mbschr.c: Likewise.
84273         * tests/test-mbscspn.c: Likewise.
84274         * tests/test-mbsncasecmp.c: Likewise.
84275         * tests/test-mbspbrk.c: Likewise.
84276         * tests/test-mbspcasecmp.c: Likewise.
84277         * tests/test-mbsrchr.c: Likewise.
84278         * tests/test-mbsspn.c: Likewise.
84279         * tests/test-mbsstr1.c: Likewise.
84280         * tests/test-mbsstr2.c: Likewise.
84281         * tests/test-mbsstr3.c: Likewise.
84282         * tests/test-md5.c: Likewise.
84283         * tests/test-memmem.c: Likewise.
84284         * tests/test-netinet_in.c: Likewise.
84285         * tests/test-open.c: Likewise.
84286         * tests/test-printf-frexp.c: Likewise.
84287         * tests/test-printf-frexpl.c: Likewise.
84288         * tests/test-printf-posix.c: Likewise.
84289         * tests/test-printf-posix.h: Likewise.
84290         * tests/test-rbtree_list.c: Likewise.
84291         * tests/test-rbtree_oset.c: Likewise.
84292         * tests/test-rbtreehash_list.c: Likewise.
84293         * tests/test-read-file.c: Likewise.
84294         * tests/test-rijndael.c: Likewise.
84295         * tests/test-search.c: Likewise.
84296         * tests/test-signbit.c: Likewise.
84297         * tests/test-sleep.c: Likewise.
84298         * tests/test-snprintf-posix.c: Likewise.
84299         * tests/test-snprintf-posix.h: Likewise.
84300         * tests/test-snprintf.c: Likewise.
84301         * tests/test-sprintf-posix.c: Likewise.
84302         * tests/test-sprintf-posix.h: Likewise.
84303         * tests/test-stat-time.c: Likewise.
84304         * tests/test-stdbool.c: Likewise.
84305         * tests/test-stdint.c: Likewise.
84306         * tests/test-stdio.c: Likewise.
84307         * tests/test-stdlib.c: Likewise.
84308         * tests/test-stpncpy.c: Likewise.
84309         * tests/test-strcasestr.c: Likewise.
84310         * tests/test-striconv.c: Likewise.
84311         * tests/test-striconveh.c: Likewise.
84312         * tests/test-striconveha.c: Likewise.
84313         * tests/test-string.c: Likewise.
84314         * tests/test-sys_select.c: Likewise.
84315         * tests/test-sys_socket.c: Likewise.
84316         * tests/test-sys_stat.c: Likewise.
84317         * tests/test-sys_time.c: Likewise.
84318         * tests/test-sysexits.c: Likewise.
84319         * tests/test-time.c: Likewise.
84320         * tests/test-tls.c: Likewise.
84321         * tests/test-trunc.c: Likewise.
84322         * tests/test-truncf.c: Likewise.
84323         * tests/test-truncl.c: Likewise.
84324         * tests/test-unistd.c: Likewise.
84325         * tests/test-vasnprintf-posix.c: Likewise.
84326         * tests/test-vasnprintf-posix2.c: Likewise.
84327         * tests/test-vasnprintf.c: Likewise.
84328         * tests/test-vasprintf-posix.c: Likewise.
84329         * tests/test-vasprintf.c: Likewise.
84330         * tests/test-verify.c: Likewise.
84331         * tests/test-vfprintf-posix.c: Likewise.
84332         * tests/test-vprintf-posix.c: Likewise.
84333         * tests/test-vsnprintf-posix.c: Likewise.
84334         * tests/test-vsnprintf.c: Likewise.
84335         * tests/test-vsprintf-posix.c: Likewise.
84336         * tests/test-wchar.c: Likewise.
84337         * tests/test-wctype.c: Likewise.
84338         * tests/test-wcwidth.c: Likewise.
84339         * tests/test-xstrtol.c: Likewise.
84340         * tests/test-xvasprintf.c: Likewise.
84341         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
84342         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
84343         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
84344         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
84345         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
84346         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
84347         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
84348         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
84349         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
84350         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
84351         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
84352         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
84353         * tests/uniname/test-uninames.c: Likewise.
84354         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
84355         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
84356         * tests/unistdio/test-u16-printf1.h: Likewise.
84357         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
84358         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
84359         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
84360         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
84361         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
84362         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
84363         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
84364         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
84365         * tests/unistdio/test-u32-printf1.h: Likewise.
84366         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
84367         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
84368         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
84369         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
84370         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
84371         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
84372         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
84373         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
84374         * tests/unistdio/test-u8-printf1.h: Likewise.
84375         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
84376         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
84377         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
84378         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
84379         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
84380         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
84381         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
84382         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
84383         * tests/unistdio/test-ulc-printf1.h: Likewise.
84384         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
84385         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
84386         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
84387         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
84388         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
84389         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
84390         * tests/uniwidth/test-u16-strwidth.c: Likewise.
84391         * tests/uniwidth/test-u16-width.c: Likewise.
84392         * tests/uniwidth/test-u32-strwidth.c: Likewise.
84393         * tests/uniwidth/test-u32-width.c: Likewise.
84394         * tests/uniwidth/test-u8-strwidth.c: Likewise.
84395         * tests/uniwidth/test-u8-width.c: Likewise.
84396         * tests/uniwidth/test-uc_width.c: Likewise.
84397         * config/srclist-update: Likewise.
84398         (fixlicense): Update to GPLv3+.
84400         Change copyright notice from LGPLv2.1+ to LGPLv3+.
84401         * tests/test-tsearch.c: Change copyright notice.
84403         Change copyright notice from LGPLv2.0+ to LGPLv3+.
84404         * lib/c-strcaseeq.h: Change copyright notice.
84405         * lib/streq.h: Likewise.
84406         * lib/uniconv.h: Likewise.
84407         * lib/uniconv/u-conv-from-enc.h: Likewise.
84408         * lib/uniconv/u-conv-to-enc.h: Likewise.
84409         * lib/uniconv/u-strconv-from-enc.h: Likewise.
84410         * lib/uniconv/u-strconv-to-enc.h: Likewise.
84411         * lib/uniconv/u16-conv-from-enc.c: Likewise.
84412         * lib/uniconv/u16-conv-to-enc.c: Likewise.
84413         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
84414         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
84415         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
84416         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
84417         * lib/uniconv/u32-conv-from-enc.c: Likewise.
84418         * lib/uniconv/u32-conv-to-enc.c: Likewise.
84419         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
84420         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
84421         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
84422         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
84423         * lib/uniconv/u8-conv-from-enc.c: Likewise.
84424         * lib/uniconv/u8-conv-to-enc.c: Likewise.
84425         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
84426         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
84427         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
84428         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
84429         * lib/uniname.h: Likewise.
84430         * lib/uniname/uniname.c: Likewise.
84431         * lib/unistdio.h: Likewise.
84432         * lib/unistdio/u-asnprintf.h: Likewise.
84433         * lib/unistdio/u-asprintf.h: Likewise.
84434         * lib/unistdio/u-printf-args.c: Likewise.
84435         * lib/unistdio/u-printf-args.h: Likewise.
84436         * lib/unistdio/u-printf-parse.h: Likewise.
84437         * lib/unistdio/u-snprintf.h: Likewise.
84438         * lib/unistdio/u-sprintf.h: Likewise.
84439         * lib/unistdio/u-vasprintf.h: Likewise.
84440         * lib/unistdio/u-vsnprintf.h: Likewise.
84441         * lib/unistdio/u-vsprintf.h: Likewise.
84442         * lib/unistdio/u16-asnprintf.c: Likewise.
84443         * lib/unistdio/u16-asprintf.c: Likewise.
84444         * lib/unistdio/u16-printf-parse.c: Likewise.
84445         * lib/unistdio/u16-snprintf.c: Likewise.
84446         * lib/unistdio/u16-sprintf.c: Likewise.
84447         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
84448         * lib/unistdio/u16-u16-asprintf.c: Likewise.
84449         * lib/unistdio/u16-u16-snprintf.c: Likewise.
84450         * lib/unistdio/u16-u16-sprintf.c: Likewise.
84451         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
84452         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
84453         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
84454         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
84455         * lib/unistdio/u16-vasnprintf.c: Likewise.
84456         * lib/unistdio/u16-vasprintf.c: Likewise.
84457         * lib/unistdio/u16-vsnprintf.c: Likewise.
84458         * lib/unistdio/u16-vsprintf.c: Likewise.
84459         * lib/unistdio/u32-asnprintf.c: Likewise.
84460         * lib/unistdio/u32-asprintf.c: Likewise.
84461         * lib/unistdio/u32-printf-parse.c: Likewise.
84462         * lib/unistdio/u32-snprintf.c: Likewise.
84463         * lib/unistdio/u32-sprintf.c: Likewise.
84464         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
84465         * lib/unistdio/u32-u32-asprintf.c: Likewise.
84466         * lib/unistdio/u32-u32-snprintf.c: Likewise.
84467         * lib/unistdio/u32-u32-sprintf.c: Likewise.
84468         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
84469         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
84470         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84471         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84472         * lib/unistdio/u32-vasnprintf.c: Likewise.
84473         * lib/unistdio/u32-vasprintf.c: Likewise.
84474         * lib/unistdio/u32-vsnprintf.c: Likewise.
84475         * lib/unistdio/u32-vsprintf.c: Likewise.
84476         * lib/unistdio/u8-asnprintf.c: Likewise.
84477         * lib/unistdio/u8-asprintf.c: Likewise.
84478         * lib/unistdio/u8-printf-parse.c: Likewise.
84479         * lib/unistdio/u8-snprintf.c: Likewise.
84480         * lib/unistdio/u8-sprintf.c: Likewise.
84481         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84482         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84483         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84484         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84485         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84486         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84487         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84488         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84489         * lib/unistdio/u8-vasnprintf.c: Likewise.
84490         * lib/unistdio/u8-vasprintf.c: Likewise.
84491         * lib/unistdio/u8-vsnprintf.c: Likewise.
84492         * lib/unistdio/u8-vsprintf.c: Likewise.
84493         * lib/unistdio/ulc-asnprintf.c: Likewise.
84494         * lib/unistdio/ulc-asprintf.c: Likewise.
84495         * lib/unistdio/ulc-printf-parse.c: Likewise.
84496         * lib/unistdio/ulc-snprintf.c: Likewise.
84497         * lib/unistdio/ulc-sprintf.c: Likewise.
84498         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84499         * lib/unistdio/ulc-vasprintf.c: Likewise.
84500         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84501         * lib/unistdio/ulc-vsprintf.c: Likewise.
84502         * lib/unistr.h: Likewise.
84503         * lib/unistr/u-cpy-alloc.h: Likewise.
84504         * lib/unistr/u-cpy.h: Likewise.
84505         * lib/unistr/u-endswith.h: Likewise.
84506         * lib/unistr/u-move.h: Likewise.
84507         * lib/unistr/u-set.h: Likewise.
84508         * lib/unistr/u-startswith.h: Likewise.
84509         * lib/unistr/u-stpcpy.h: Likewise.
84510         * lib/unistr/u-stpncpy.h: Likewise.
84511         * lib/unistr/u-strcat.h: Likewise.
84512         * lib/unistr/u-strcpy.h: Likewise.
84513         * lib/unistr/u-strcspn.h: Likewise.
84514         * lib/unistr/u-strdup.h: Likewise.
84515         * lib/unistr/u-strlen.h: Likewise.
84516         * lib/unistr/u-strncat.h: Likewise.
84517         * lib/unistr/u-strncpy.h: Likewise.
84518         * lib/unistr/u-strnlen.h: Likewise.
84519         * lib/unistr/u-strpbrk.h: Likewise.
84520         * lib/unistr/u-strspn.h: Likewise.
84521         * lib/unistr/u-strstr.h: Likewise.
84522         * lib/unistr/u-strtok.h: Likewise.
84523         * lib/unistr/u16-check.c: Likewise.
84524         * lib/unistr/u16-chr.c: Likewise.
84525         * lib/unistr/u16-cmp.c: Likewise.
84526         * lib/unistr/u16-cpy-alloc.c: Likewise.
84527         * lib/unistr/u16-cpy.c: Likewise.
84528         * lib/unistr/u16-endswith.c: Likewise.
84529         * lib/unistr/u16-mblen.c: Likewise.
84530         * lib/unistr/u16-mbsnlen.c: Likewise.
84531         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84532         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84533         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84534         * lib/unistr/u16-mbtouc.c: Likewise.
84535         * lib/unistr/u16-mbtoucr.c: Likewise.
84536         * lib/unistr/u16-move.c: Likewise.
84537         * lib/unistr/u16-next.c: Likewise.
84538         * lib/unistr/u16-prev.c: Likewise.
84539         * lib/unistr/u16-set.c: Likewise.
84540         * lib/unistr/u16-startswith.c: Likewise.
84541         * lib/unistr/u16-stpcpy.c: Likewise.
84542         * lib/unistr/u16-stpncpy.c: Likewise.
84543         * lib/unistr/u16-strcat.c: Likewise.
84544         * lib/unistr/u16-strchr.c: Likewise.
84545         * lib/unistr/u16-strcmp.c: Likewise.
84546         * lib/unistr/u16-strcpy.c: Likewise.
84547         * lib/unistr/u16-strcspn.c: Likewise.
84548         * lib/unistr/u16-strdup.c: Likewise.
84549         * lib/unistr/u16-strlen.c: Likewise.
84550         * lib/unistr/u16-strmblen.c: Likewise.
84551         * lib/unistr/u16-strmbtouc.c: Likewise.
84552         * lib/unistr/u16-strncat.c: Likewise.
84553         * lib/unistr/u16-strncmp.c: Likewise.
84554         * lib/unistr/u16-strncpy.c: Likewise.
84555         * lib/unistr/u16-strnlen.c: Likewise.
84556         * lib/unistr/u16-strpbrk.c: Likewise.
84557         * lib/unistr/u16-strrchr.c: Likewise.
84558         * lib/unistr/u16-strspn.c: Likewise.
84559         * lib/unistr/u16-strstr.c: Likewise.
84560         * lib/unistr/u16-strtok.c: Likewise.
84561         * lib/unistr/u16-to-u32.c: Likewise.
84562         * lib/unistr/u16-to-u8.c: Likewise.
84563         * lib/unistr/u16-uctomb-aux.c: Likewise.
84564         * lib/unistr/u16-uctomb.c: Likewise.
84565         * lib/unistr/u32-check.c: Likewise.
84566         * lib/unistr/u32-chr.c: Likewise.
84567         * lib/unistr/u32-cmp.c: Likewise.
84568         * lib/unistr/u32-cpy-alloc.c: Likewise.
84569         * lib/unistr/u32-cpy.c: Likewise.
84570         * lib/unistr/u32-endswith.c: Likewise.
84571         * lib/unistr/u32-mblen.c: Likewise.
84572         * lib/unistr/u32-mbsnlen.c: Likewise.
84573         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84574         * lib/unistr/u32-mbtouc.c: Likewise.
84575         * lib/unistr/u32-mbtoucr.c: Likewise.
84576         * lib/unistr/u32-move.c: Likewise.
84577         * lib/unistr/u32-next.c: Likewise.
84578         * lib/unistr/u32-prev.c: Likewise.
84579         * lib/unistr/u32-set.c: Likewise.
84580         * lib/unistr/u32-startswith.c: Likewise.
84581         * lib/unistr/u32-stpcpy.c: Likewise.
84582         * lib/unistr/u32-stpncpy.c: Likewise.
84583         * lib/unistr/u32-strcat.c: Likewise.
84584         * lib/unistr/u32-strchr.c: Likewise.
84585         * lib/unistr/u32-strcmp.c: Likewise.
84586         * lib/unistr/u32-strcpy.c: Likewise.
84587         * lib/unistr/u32-strcspn.c: Likewise.
84588         * lib/unistr/u32-strdup.c: Likewise.
84589         * lib/unistr/u32-strlen.c: Likewise.
84590         * lib/unistr/u32-strmblen.c: Likewise.
84591         * lib/unistr/u32-strmbtouc.c: Likewise.
84592         * lib/unistr/u32-strncat.c: Likewise.
84593         * lib/unistr/u32-strncmp.c: Likewise.
84594         * lib/unistr/u32-strncpy.c: Likewise.
84595         * lib/unistr/u32-strnlen.c: Likewise.
84596         * lib/unistr/u32-strpbrk.c: Likewise.
84597         * lib/unistr/u32-strrchr.c: Likewise.
84598         * lib/unistr/u32-strspn.c: Likewise.
84599         * lib/unistr/u32-strstr.c: Likewise.
84600         * lib/unistr/u32-strtok.c: Likewise.
84601         * lib/unistr/u32-to-u16.c: Likewise.
84602         * lib/unistr/u32-to-u8.c: Likewise.
84603         * lib/unistr/u32-uctomb.c: Likewise.
84604         * lib/unistr/u8-check.c: Likewise.
84605         * lib/unistr/u8-chr.c: Likewise.
84606         * lib/unistr/u8-cmp.c: Likewise.
84607         * lib/unistr/u8-cpy-alloc.c: Likewise.
84608         * lib/unistr/u8-cpy.c: Likewise.
84609         * lib/unistr/u8-endswith.c: Likewise.
84610         * lib/unistr/u8-mblen.c: Likewise.
84611         * lib/unistr/u8-mbsnlen.c: Likewise.
84612         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84613         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84614         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84615         * lib/unistr/u8-mbtouc.c: Likewise.
84616         * lib/unistr/u8-mbtoucr.c: Likewise.
84617         * lib/unistr/u8-move.c: Likewise.
84618         * lib/unistr/u8-next.c: Likewise.
84619         * lib/unistr/u8-prev.c: Likewise.
84620         * lib/unistr/u8-set.c: Likewise.
84621         * lib/unistr/u8-startswith.c: Likewise.
84622         * lib/unistr/u8-stpcpy.c: Likewise.
84623         * lib/unistr/u8-stpncpy.c: Likewise.
84624         * lib/unistr/u8-strcat.c: Likewise.
84625         * lib/unistr/u8-strchr.c: Likewise.
84626         * lib/unistr/u8-strcmp.c: Likewise.
84627         * lib/unistr/u8-strcpy.c: Likewise.
84628         * lib/unistr/u8-strcspn.c: Likewise.
84629         * lib/unistr/u8-strdup.c: Likewise.
84630         * lib/unistr/u8-strlen.c: Likewise.
84631         * lib/unistr/u8-strmblen.c: Likewise.
84632         * lib/unistr/u8-strmbtouc.c: Likewise.
84633         * lib/unistr/u8-strncat.c: Likewise.
84634         * lib/unistr/u8-strncmp.c: Likewise.
84635         * lib/unistr/u8-strncpy.c: Likewise.
84636         * lib/unistr/u8-strnlen.c: Likewise.
84637         * lib/unistr/u8-strpbrk.c: Likewise.
84638         * lib/unistr/u8-strrchr.c: Likewise.
84639         * lib/unistr/u8-strspn.c: Likewise.
84640         * lib/unistr/u8-strstr.c: Likewise.
84641         * lib/unistr/u8-strtok.c: Likewise.
84642         * lib/unistr/u8-to-u16.c: Likewise.
84643         * lib/unistr/u8-to-u32.c: Likewise.
84644         * lib/unistr/u8-uctomb-aux.c: Likewise.
84645         * lib/unistr/u8-uctomb.c: Likewise.
84646         * lib/unitypes.h: Likewise.
84647         * lib/uniwidth.h: Likewise.
84648         * lib/uniwidth/cjk.h: Likewise.
84649         * lib/uniwidth/u16-strwidth.c: Likewise.
84650         * lib/uniwidth/u16-width.c: Likewise.
84651         * lib/uniwidth/u32-strwidth.c: Likewise.
84652         * lib/uniwidth/u32-width.c: Likewise.
84653         * lib/uniwidth/u8-strwidth.c: Likewise.
84654         * lib/uniwidth/u8-width.c: Likewise.
84655         * lib/uniwidth/width.c: Likewise.
84657 2007-10-07  Bruno Haible  <bruno@clisp.org>
84659         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84660         The file is still under LGPL (see modules/inttypes).
84662 2007-10-06  Bruno Haible  <bruno@clisp.org>
84664         * modules/trunc (Dependencies): Add 'extensions'.
84665         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84666         Reported by Ben Pfaff <blp@gnu.org>.
84668 2007-10-06  Bruno Haible  <bruno@clisp.org>
84670         * modules/freopen-tests: New file.
84671         * tests/test-freopen.c: New file.
84673         * modules/fopen-tests: New file.
84674         * tests/test-fopen.c: New file.
84676         * modules/fopen: New file.
84677         * lib/fopen.c: New file.
84678         * m4/fopen.m4: New file.
84679         * modules/freopen: New file.
84680         * lib/freopen.c: New file.
84681         * m4/freopen.m4: New file.
84682         * lib/stdio.in.h (fopen, freopen): New declarations.
84683         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84684         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84685         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84686         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84687         * doc/functions/fopen.texi: Mention the 'fopen' module.
84688         * doc/functions/freopen.texi: Mention the 'freopen' module.
84690 2007-10-06  Bruno Haible  <bruno@clisp.org>
84692         * modules/open-tests: New file.
84693         * tests/test-open.c: New file.
84695         * modules/open: New file.
84696         * lib/open.c: New file.
84697         * m4/open.m4: New file.
84698         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84699         lib/open.c does.
84700         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84701         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84702         macros.
84703         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84704         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84705         REPLACE_OPEN.
84706         * doc/functions/open.texi: Mention the 'open' module.
84708 2007-10-04  Bruno Haible  <bruno@clisp.org>
84710         * modules/ceill-tests: New file.
84711         * tests/test-ceill.c: New file.
84713         * modules/ceill: New file.
84714         * lib/ceill.c: Replace entire file.
84715         * m4/ceill.m4: New file.
84716         * lib/math.in.h (ceill): Replace declaration.
84717         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84718         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84719         * doc/functions/ceill.texi: Mention the 'ceill' module.
84720         * modules/mathl (Files): Remove lib/ceill.c.
84721         (Depends-on): Add ceill.
84723 2007-10-04  Bruno Haible  <bruno@clisp.org>
84725         * modules/ceilf-tests: New file.
84726         * tests/test-ceilf.c: New file.
84728         * modules/ceilf: New file.
84729         * lib/ceil.c: New file.
84730         * lib/ceilf.c: New file.
84731         * m4/ceilf.m4: New file.
84732         * lib/math.in.h (ceilf): New declaration.
84733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84734         HAVE_DECL_CEILF.
84735         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84736         HAVE_DECL_CEILF.
84737         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84739 2007-10-04  Bruno Haible  <bruno@clisp.org>
84741         * modules/floorl-tests: New file.
84742         * tests/test-floorl.c: New file.
84744         * modules/floorl: New file.
84745         * lib/floorl.c: Replace entire file.
84746         * m4/floorl.m4: New file.
84747         * lib/math.in.h (floorl): Replace declaration.
84748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84749         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84750         * doc/functions/floorl.texi: Mention the 'floorl' module.
84751         * modules/mathl (Files): Remove lib/floorl.c.
84752         (Depends-on): Add floorl.
84754 2007-10-04  Bruno Haible  <bruno@clisp.org>
84756         * modules/floorf-tests: New file.
84757         * tests/test-floorf.c: New file.
84759         * modules/floorf: New file.
84760         * lib/floor.c: New file.
84761         * lib/floorf.c: New file.
84762         * m4/floorf.m4: New file.
84763         * lib/math.in.h (floorf): New declaration.
84764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84765         HAVE_DECL_FLOORF.
84766         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84767         HAVE_DECL_FLOORF.
84768         * doc/functions/floorf.texi: Mention the 'floorf' module.
84770 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84771             Bruno Haible  <bruno@clisp.org>
84773         Advertise for the Git server instead of the CVS server.
84774         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84775         repository instead of the CVS one.
84776         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84777         about all VCS systems generically.
84778         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84780 2007-10-04  Bruno Haible  <bruno@clisp.org>
84782         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84783         means.
84784         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84786 2007-10-04  Bruno Haible  <bruno@clisp.org>
84788         * modules/truncl-tests: New file.
84789         * tests/test-truncl.c: New file.
84791         * modules/truncl: New file.
84792         * lib/truncl.c: New file.
84793         * m4/truncl.m4: New file.
84794         * lib/math.in.h (truncl): New declaration.
84795         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84796         HAVE_DECL_TRUNCL.
84797         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84798         HAVE_DECL_TRUNCL.
84799         * doc/functions/truncl.texi: Mention the 'truncl' module.
84801 2007-10-04  Bruno Haible  <bruno@clisp.org>
84803         * modules/truncf-tests: New file.
84804         * tests/test-truncf.c: New file.
84806         * modules/truncf: New file.
84807         * lib/trunc.c: Make paramerizable through USE_* macros.
84808         * lib/truncf.c: New file.
84809         * m4/truncf.m4: New file.
84810         * lib/math.in.h (truncf): New declaration.
84811         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84812         HAVE_DECL_TRUNCF.
84813         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84814         HAVE_DECL_TRUNCF.
84815         * doc/functions/truncf.texi: Mention the 'truncf' module.
84817 2007-10-03  Bruno Haible  <bruno@clisp.org>
84819         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84820         augmentation also for tests modules.
84821         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84822         * modules/atexit-tests (Makefile.am): Likewise.
84823         * modules/binary-io-tests (Makefile.am): Likewise.
84824         * modules/c-strcase-tests (Makefile.am): Likewise.
84825         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84826         * modules/canonicalize-tests (Makefile.am): Likewise.
84827         * modules/closein-tests (Makefile.am): Likewise.
84828         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84829         * modules/freadahead-tests (Makefile.am): Likewise.
84830         * modules/fseek-tests (Makefile.am): Likewise.
84831         * modules/fseeko-tests (Makefile.am): Likewise.
84832         * modules/ftell-tests (Makefile.am): Likewise.
84833         * modules/ftello-tests (Makefile.am): Likewise.
84834         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84835         * modules/isnanl-tests (Makefile.am): Likewise.
84836         * modules/lseek-tests (Makefile.am): Likewise.
84837         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84838         * modules/mbscasestr-tests (Makefile.am): Likewise.
84839         * modules/mbschr-tests (Makefile.am): Likewise.
84840         * modules/mbscspn-tests (Makefile.am): Likewise.
84841         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84842         * modules/mbspbrk-tests (Makefile.am): Likewise.
84843         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84844         * modules/mbsrchr-tests (Makefile.am): Likewise.
84845         * modules/mbsspn-tests (Makefile.am): Likewise.
84846         * modules/mbsstr-tests (Makefile.am): Likewise.
84847         * modules/printf-posix-tests (Makefile.am): Likewise.
84848         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84849         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84850         * modules/tsearch-tests (Makefile.am): Likewise.
84851         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84852         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84853         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84854         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84855         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84856         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84857         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84858         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84859         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84860         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84861         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84862         * modules/xstrtol-tests (Makefile.am): Likewise.
84863         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84864         * modules/yesno-tests (Makefile.am): Likewise.
84866 2007-10-03  Bruno Haible  <bruno@clisp.org>
84868         * modules/trunc-tests: New file.
84869         * tests/test-trunc.c: New file.
84871         * modules/trunc: New file.
84872         * lib/trunc.c: New file.
84873         * m4/trunc.m4: New file.
84874         * lib/math.in.h (trunc): New declaration.
84875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84876         HAVE_DECL_TRUNC.
84877         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84878         HAVE_DECL_TRUNC.
84879         * doc/functions/trunc.texi: Mention the 'trunc' module.
84881 2007-10-03  Bruno Haible  <bruno@clisp.org>
84883         * tests/test-fpending.c: New file, mostly copied
84884         from coreutils/lib/t-fpending.c.
84885         * modules/fpending-tests: New file.
84887 2007-10-03  Bruno Haible  <bruno@clisp.org>
84889         Port the stdio extensions to QNX (untested).
84890         * lib/fseterr.c (fseterr): Add support for QNX.
84891         * lib/fbufmode.c (fbufmode): Likewise.
84892         * lib/freadable.c (freadable): Likewise.
84893         * lib/fwritable.c (fwritable): Likewise.
84894         * lib/freading.c (freading): Likewise.
84895         * lib/fwriting.c (fwriting): Likewise.
84896         * lib/freadahead.c (freadahed): Likewise.
84897         * lib/fpurge.c (fpurge): Likewise.
84898         * lib/fseeko.c (rpl_fseeko): Likewise.
84900 2007-10-03  Bruno Haible  <bruno@clisp.org>
84901             Jim Meyering  <jim@meyering.net>
84902             Eric Blake  <ebb9@byu.net>
84904         * doc/relocatable.texi: Use @command instead of @program.
84906 2007-10-02  Jim Meyering  <jim@meyering.net>
84908         Perform one more "_.h" -> ".in.h" substitution.
84909         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84910         instead of unistd_.h here, too.
84912 2007-10-01  Bruno Haible  <bruno@clisp.org>
84914         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84915         Needed for the alloca-opt module.
84917 2007-09-30  Bruno Haible  <bruno@clisp.org>
84919         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84920         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84921         alloca_.h.
84922         * lib/argz.in.h: Renamed from lib/argz_.h.
84923         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84924         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84925         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84926         byteswap_.h.
84927         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84928         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84929         dirent_.h.
84930         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84931         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84932         fcntl_.h.
84933         * lib/float.in.h: Renamed from lib/float_.h.
84934         * modules/float (Files, Makefile.am): Use float.in.h instead of
84935         float_.h.
84936         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84937         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84938         fnmatch_.h.
84939         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84940         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84941         getopt_.h.
84942         * lib/glob.in.h: Renamed from lib/glob_.h.
84943         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84944         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84945         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84946         iconv_.h.
84947         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84948         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84949         inttypes_.h.
84950         * lib/locale.in.h: Renamed from lib/locale_.h.
84951         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84952         locale_.h.
84953         * lib/math.in.h: Renamed from lib/math_.h.
84954         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84955         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84956         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84957         of netinet_in_.h. Add dependency.
84958         * lib/poll.in.h: Renamed from lib/poll_.h.
84959         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84960         * lib/search.in.h: Renamed from lib/search_.h.
84961         * modules/search (Files, Makefile.am): Use search.in.h instead of
84962         search_.h.
84963         * lib/signal.in.h: Renamed from lib/signal_.h.
84964         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84965         _signal.h.
84966         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84967         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84968         stdbool_.h.
84969         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84970         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84971         stdint_.h.
84972         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84973         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84974         stdio_.h.
84975         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84976         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84977         stdlib_.h.
84978         * lib/string.in.h: Renamed from lib/string_.h.
84979         * modules/string (Files, Makefile.am): Use string.in.h instead of
84980         string_.h.
84981         * doc/gnulib-tool.texi (Initial import): Update.
84982         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84983         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84984         of sys_select_.h. Add dependency.
84985         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84986         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84987         of sys_socket_.h.
84988         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84989         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84990         sys_stat_.h.
84991         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84992         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84993         sys_time_.h.
84994         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84995         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84996         sysexits_.h.
84997         * lib/time.in.h: Renamed from lib/time_.h.
84998         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84999         * lib/unistd.in.h: Renamed from lib/unistd_.h.
85000         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
85001         unistd_.h.
85002         * lib/wchar.in.h: Renamed from lib/wchar_.h.
85003         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
85004         wchar_.h.
85005         * lib/wctype.in.h: Renamed from lib/wctype_.h.
85006         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
85007         wctype_.h.
85008         * build-aux/bootstrap (slurp): Update.
85009         * lib/.cppi-disable: Update.
85011 2007-09-30  Bruno Haible  <bruno@clisp.org>
85013         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
85014         Needed on BeOS.
85016 2007-09-30  Bruno Haible  <bruno@clisp.org>
85018         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
85020 2007-09-29  Bruno Haible  <bruno@clisp.org>
85022         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
85024 2007-09-29  Bruno Haible  <bruno@clisp.org>
85026         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
85027         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
85028         * build-aux/install-reloc: Compile also areadlink.c.
85029         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
85031 2007-09-29  Bruno Haible  <bruno@clisp.org>
85033         * gnulib-tool (func_emit_initmacro_done): Indentation.
85035 2007-09-29  Bruno Haible  <bruno@clisp.org>
85037         * README: Add CVS checkout update instructions.
85038         Info from Bob Proulx <bob@proulx.com>.
85040 2007-09-28  Eric Blake  <ebb9@byu.net>
85042         Provide move-if-change.
85043         * build-aux/move-if-change: New file, based on best practice
85044         rather than any canonical upstream location.
85046 2007-09-28  Jim Meyering  <jim@meyering.net>
85048         Fix canonicalize loop-detection corner case.
85049         Do not attempt to stat the symlink values stored via seen_triple.
85050         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
85051         on linux-2.6.18, (but not 2.6.22).
85052         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
85053         triple_compare.  The former compares dev,ino,filename, while the latter
85054         would actually stat dirname(filename) when dev and ino were equal.
85055         * lib/hash-triple.c: Install <string.h>.
85056         (STREQ): Define.
85057         (triple_compare_ino_str): New function.
85058         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
85060 2007-09-28  Eric Blake  <ebb9@byu.net>
85062         Enforce that AC_REPLACE_FUNCS files exist.
85063         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
85064         override check for typos.
85066         Fix test-closein on Solaris 10.
85067         * tests/test-closein.c (main): Don't assume stdin can be inherited
85068         closed on all systems.
85069         * tests/test-closein.sh: Likewise.
85070         Reported by Piotr Tarnowski.
85072 2007-09-28  Jim Meyering  <jim@meyering.net>
85074         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
85076 2007-09-27  Jim Meyering  <jim@meyering.net>
85078         canonicalize: Avoid a false-positive cycle failure.
85079         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
85080         Sort.  Remove cycle-check.
85081         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
85082         not cycle-check.h.
85083         (seen_triple): New function.
85084         (canonicalize_filename_mode): Use it instead of cycle-check.
85085         * tests/test-canonicalize.c: Add a test for this bug.
85086         * tests/test-canonicalize.sh: Set up and run the test.
85088         New module, file-set, from coreutils.
85089         * modules/file-set: Define it.
85090         * lib/file-set.c, lib/file-set.h: Implement.
85092         New module, hash-triple, from coreutils.
85093         * modules/hash-triple: Define it.
85094         * lib/hash-triple.c, lib/hash-triple.h: Implement.
85096 2007-09-25  Eric Blake  <ebb9@byu.net>
85098         Fix strerror on Interix.
85099         * lib/string_.h (strerror): Declare replacement.
85100         * doc/functions/strerror.texi (strerror): Document the Interix
85101         shortcoming.
85102         * modules/string (Makefile.am): Support new hooks.
85103         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
85104         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
85105         gl_FUNC_STRERROR_SEPARATE.
85106         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
85107         * lib/strerror.c (rpl_strerror): Provide replacement.
85108         * modules/strerror (Depends-on): Add string.
85109         (configure.ac): Detect use of module.
85110         * tests/test-strerror.c: New file.
85111         * modules/strerror-tests: New test module.
85112         * modules/argp (Depends-on): Add strerror.
85113         * modules/error (Depends-on): Likewise.
85114         Reported by Martin Koeppe.
85116 2007-09-24  Bruno Haible  <bruno@clisp.org>
85118         * README: Update git instructions.
85120 2007-09-24  Eric Blake  <ebb9@byu.net>
85122         Revert fpending breakage from 2007-09-08.
85123         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
85124         __fpending.c.
85126 2007-09-24  Jim Meyering  <jim@meyering.net>
85128         filenamecat.c: Add a test.
85129         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
85130         showing how the function works when DIR is the empty string.
85132 2007-09-21  Simon Josefsson  <simon@josefsson.org>
85134         * tests/test-canonicalize.sh: Turn on executable bit.
85136 2007-09-19  Eric Blake  <ebb9@byu.net>
85138         * README: Update CVS instructions.
85140 2007-09-18  Bruno Haible  <bruno@clisp.org>
85142         * modules/areadlink: New file.
85143         * lib/areadlink.h (areadlink): New declaration.
85144         * lib/areadlink.c: New file, based on lib/xreadlink.c.
85146 2007-09-17  Jim Meyering  <jim@meyering.net>
85148         * lib/savewd.c (ESTALE) [!defined]: Define.
85149         Reported to be required on Interix by Martin Koeppe.
85151 2007-09-17  Bruno Haible  <bruno@clisp.org>
85153         * gnulib-tool (func_version): Use $version.
85155 2007-09-16  Bruno Haible  <bruno@clisp.org>
85157         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
85158         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
85159         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
85160         Reported by Greg Schafer <gschafer@zip.com.au>.
85162 2007-09-15  Bruno Haible  <bruno@clisp.org>
85164         * gnulib-tool (sed): Try a little harder to make bash understand the
85165         alias.
85166         Reported by Bruce Korb <bruce.korb@gmail.com>.
85168 2007-09-13  Eric Blake  <ebb9@byu.net>
85170         * ChangeLog: Remove conflict markers.
85172 2007-09-13  Simon Josefsson  <simon@josefsson.org>
85174         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
85175         Reported by Bruno Haible <bruno@clisp.org>.
85177 2007-09-12  Bruno Haible  <bruno@clisp.org>
85179         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
85180         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
85181         is not defined.
85183 2007-09-12  Eric Blake  <ebb9@byu.net>
85185         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
85186         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
85187         Autoconf definition.
85188         * modules/euidaccess (Depends-on): Add extensions, for
85189         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
85190         * modules/fnmatch (Depends-on): Likewise.
85191         * modules/getaddrinfo (Depends-on): Likewise.
85192         * modules/getdelim (Depends-on): Likewise.
85193         * modules/getline (Depends-on): Likewise.
85194         * modules/getsubopt (Depends-on): Likewise.
85195         * modules/gettext (Depends-on): Likewise.
85196         * modules/group-member (Depends-on): Likewise.
85197         * modules/mbchar (Depends-on): Likewise.
85198         * modules/memmem (Depends-on): Likewise.
85199         * modules/mempcpy (Depends-on): Likewise.
85200         * modules/memrchr (Depends-on): Likewise.
85201         * modules/pagealign_alloc (Depends-on): Likewise.
85202         * modules/readutmp (Depends-on): Likewise.
85203         * modules/stpcpy (Depends-on): Likewise.
85204         * modules/stpncpy (Depends-on): Likewise.
85205         * modules/strchrnul (Depends-on): Likewise.
85206         * modules/strndup (Depends-on): Likewise.
85207         * modules/strsep (Depends-on): Likewise.
85208         * modules/strverscmp (Depends-on): Likewise.
85209         * modules/vasprintf (Depends-on): Likewise.
85210         * modules/wcwidth (Depends-on): Likewise.
85211         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
85212         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
85213         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
85214         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
85215         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
85216         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85217         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
85218         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
85219         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
85220         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
85221         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
85222         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
85223         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
85224         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
85225         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
85226         * m4/readutmp.m4 (gl_READUTMP): Likewise.
85227         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
85228         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
85229         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
85230         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
85231         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
85232         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
85233         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
85234         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
85235         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
85236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
85237         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
85238         so that lock.m4 can be used in gettext without extensions module.
85240 2007-09-11  Bruno Haible  <bruno@clisp.org>
85242         * m4/isc-posix.m4: Remove file.
85243         Suggested by Eric Blake.
85245 2007-09-11  Eric Blake  <ebb9@byu.net>
85247         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
85249 2007-09-10  Bruno Haible  <bruno@clisp.org>
85251         * posix-modules: Fix typo in error message.
85252         Reported by Matt <mkraai@beckman.com>.
85254 2007-09-09  Bruno Haible  <bruno@clisp.org>
85256         * doc/functions/getdelim.texi: Update list of platforms lacking the
85257         function.
85258         * doc/functions/getline.texi: Likewise.
85260 2007-09-09  Jim Meyering  <jim@meyering.net>
85262         * lib/hash.c (hash_initialize): Detect calloc failure.
85263         Reported by Bruno Haible.
85265 2007-09-09  Bruno Haible  <bruno@clisp.org>
85267         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
85268         malloc or realloc fails.
85270 2007-09-09  Bruno Haible  <bruno@clisp.org>
85272         * modules/getcwd (Depends-on): Add malloc-posix.
85273         * modules/glob (Depends-on): Likewise.
85274         * modules/putenv (Depends-on): Likewise.
85275         * modules/strdup (Depends-on): Likewise.
85276         * modules/getdelim (Depends-on): Add realloc-posix.
85277         * modules/read-file (Depends-on): Likewise.
85279 2007-09-09  Bruno Haible  <bruno@clisp.org>
85281         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
85282         (gl_FUNC_MALLOC_POSIX): Require it.
85283         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
85284         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
85285         * modules/realloc (Files): Add m4/malloc.m4.
85286         * modules/calloc (Files): Likewise.
85288 2007-09-09  Bruno Haible  <bruno@clisp.org>
85290         * modules/malloc-posix: New file.
85291         * modules/malloc (Depends-on): Add malloc-posix.
85292         * lib/malloc.c: Include errno.h.
85293         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
85294         and a POSIX-compatible malloc into a single function. Set ENOMEM
85295         when returning NULL.
85296         * m4/malloc.m4: New file.
85297         * doc/functions/malloc.texi: Mention the malloc-posix module.
85298         * lib/stdlib_.h (malloc): New declaration.
85299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85300         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
85301         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
85302         and HAVE_MALLOC_POSIX.
85304 2007-09-09  Bruno Haible  <bruno@clisp.org>
85306         * modules/realloc-posix: New file.
85307         * modules/realloc (Depends-on): Add realloc-posix.
85308         * lib/realloc.c: Include errno.h.
85309         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
85310         and a POSIX-compatible realloc into a single function. Set ENOMEM
85311         when returning NULL.
85312         * m4/realloc.m4: New file.
85313         * doc/functions/realloc.texi: Mention the realloc-posix module.
85314         * lib/stdlib_.h (realloc): New declaration.
85315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85316         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
85317         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
85318         and HAVE_REALLOC_POSIX.
85320 2007-09-09  Bruno Haible  <bruno@clisp.org>
85322         * modules/calloc-posix: New file.
85323         * modules/calloc (Depends-on): Add calloc-posix.
85324         * lib/calloc.c: Include errno.h.
85325         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
85326         and a POSIX-compatible calloc into a single function. Set ENOMEM
85327         when returning NULL.
85328         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
85329         * doc/functions/calloc.texi: Mention the calloc-posix module.
85330         * lib/stdlib_.h (calloc): New declaration.
85331         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85332         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
85333         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
85334         and HAVE_CALLOC_POSIX.
85336 2007-09-09  Bruno Haible  <bruno@clisp.org>
85338         Allow for modules to show an arbitrary notice.
85339         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
85340         * gnulib-tool: New option --extract-notice.
85341         (func_usage): Document it.
85342         (sed_extract_prog): Update.
85343         (func_get_notice): New function.
85344         (func_modules_notice): New function.
85345         (func_import, func_create_testdir): Invoke it.
85346         Suggested by Jim Meyering.
85348 2007-09-09  Bruno Haible  <bruno@clisp.org>
85350         * gnulib-tool: New options --verbose, --quiet.
85351         (func_usage): Document them.
85352         (verbose): New variable.
85353         (func_execute_command): New function.
85354         (func_import): Don't show the module list and the file list if
85355         $verbose < 0.
85356         (func_create_testdir): Likewise. Use func_execute_command.
85357         (func_create_megatestdir): Use func_execute_command.
85359 2007-09-08  Bruno Haible  <bruno@clisp.org>
85361         * gnulib-tool (func_import): Prefer rsync over wget when available,
85362         for fetching the PO files.
85364 2007-09-08  Bruno Haible  <bruno@clisp.org>
85366         * posix-modules: New file. Portions copied from gnulib-tool.
85367         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
85369 2007-09-08  Jim Meyering  <jim@meyering.net>
85371         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
85372         * lib/fpending.h: Rename from __fpending.h.
85373         * lib/fpending.c: Rename from __fpending.c.
85374         Include "fpending.h", not "__fpending.h".
85375         * lib/__fpending.h, lib/__fpending.c: Remove files.
85376         * modules/fpending (Files): Reflect new file names.
85377         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
85379 2007-09-08  Bruno Haible  <bruno@clisp.org>
85381         * m4/inttypes-h.m4: Remove stub file.
85383 2007-09-07  Simon Josefsson  <simon@josefsson.org>
85385         * doc/headers/stdint.texi: Discuss #include_next issue.
85387 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85389         * build-aux/bootstrap: Remove obsolete comment about wget --help.
85391 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85393         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
85394         in variable name.
85396 2007-09-03  Jim Meyering  <jim@meyering.net>
85398         New module: git-version-gen.
85399         * modules/git-version-gen: New file.
85401         Import changes from coreutils for bootstrap script.
85403         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
85405         bootstrap: uses rsync to download the .po files
85406         * build-aux/bootstrap (po_download_command_format): New global.
85407         (download_po_files): Use rsync.
85408         (update_po_files): Don't remove .po files after download,
85409         so future rsync runs can take advantage of the copies.
85411         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
85413         Solve the unnecessary-.po-file-regeneration problem once and for all.
85414         * build-aux/bootstrap (download_po_files): New function, renamed from
85415         get_translations.  Now, downloads, but doesn't update LINGUAS.
85416         (update_po_files): New function.
85418         bootstrap: Ignore more.
85419         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
85420         uniwidth to e.g., lib/.gitignore.
85421         (slurp): Handle the sys_stat_.h -> sys mapping, too.
85423         * build-aux/bootstrap: New setting: vc_ignore.
85424         (insert_sorted_if_absent): Create $file if absent.
85425         Adapt to new, possibly empty, list: $vc_ignore.
85427         bootstrap: generate more ignorable names
85428         * build-aux/bootstrap (slurp): When generating ignorable names,
85429         also map .sin to .sed, .gperf to .c, and .y to .c.
85431 2007-09-03  Jim Meyering  <jim@meyering.net>
85433         * build-aux/git-version-gen: New file, from coreutils.  For details, see
85434         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
85436 2007-09-02  Bruno Haible  <bruno@clisp.org>
85438         Fix mis-recognition of 'mcs' on QNX 6.
85439         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
85440         output contains the string "Mono".
85441         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
85442         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
85444 2007-09-01  Bruno Haible  <bruno@clisp.org>
85446         Fix collision between uniwidth/* and linebreak modules.
85447         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
85448         u32_width): Remove declarations.
85449         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
85450         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
85451         streq3, streq2, streq1, streq0): Remove functions.
85452         (STREQ): Remove macro.
85453         (is_cjk_encoding): Remove function.
85454         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
85455         (uc_width, u8_width, u16_width, u32_width): Remove functions.
85456         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
85457         * NEWS: Document the change.
85459 2007-09-01  Bruno Haible  <bruno@clisp.org>
85461         * lib/streq.h: Add double-inclusion guard.
85463 2007-09-01  Karl Berry  <karl@gnu.org>
85465         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
85467 2007-08-28  Jim Meyering  <jim@meyering.net>
85469         Rename mreadlink_with_size to areadlink_with_size.
85470         * NEWS: Document the change.
85471         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85472         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85473         * lib/mreadlink.h: Rename this to...
85474         * lib/areadlink.h: ...this.
85475         * modules/mreadlink-with-size: Rename this to...
85476         * modules/areadlink-with-size: ...this.
85477         * lib/canonicalize.c: Reflect the renaming.
85478         * modules/canonicalize: Likewise.
85480 2007-08-26  Bruno Haible  <bruno@clisp.org>
85482         * gnulib-tool (func_import): When deciding which files to remove,
85483         consider also dangling symbolic links.
85484         Reported by Eric Blake.
85486 2007-08-26  Bruno Haible  <bruno@clisp.org>
85488         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85490 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85492         * lib/readline.c: Don't include getline.h, the prototype is now
85493         found in stdio.h.
85495 2007-08-23  Jim Meyering  <jim@meyering.net>
85497         Getdelim touchup.
85498         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85499         around the funlockfile call, since funlockfile never sets errno.
85500         Don't set errno upon failed realloc.
85502 2007-08-22  Eric Blake  <ebb9@byu.net>
85504         Getline touchups.
85505         * lib/getdelim.c (getdelim): Revert regression that required *n to
85506         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85507         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85508         getdelim, rather than whether implementation is missing.
85509         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85510         * lib/stdio_.h (getline): Also declare if replacement is
85511         required.
85512         * doc/functions/getdelim.texi: New file.
85513         * doc/functions/getline.texi: Likewise.
85514         * doc/gnulib.texi (Function Substitutes): Add new files.
85515         Reported by Bruno Haible.
85517 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85519         * users.txt: Add Guile.
85521 2007-08-22  Eric Blake  <ebb9@byu.net>
85523         * tests/test-getdelim.c (main): Use remove, not unlink.
85524         * tests/test-getline.c (main): Likewise.
85526         Move getline and getdelim into stdio.h, per POSIX 200x.
85527         * modules/getline (Files): Remove getline.h.
85528         (Depends-on): Add stdio.
85529         (configure.ac): Add module indicator.
85530         * modules/getdelim (Files): Remove getdelim.h.
85531         (Depends-on): Add stdio.
85532         (configure.ac): Add module indicator.
85533         * modules/stdio (Makefile.am): Work with new indicators.
85534         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85535         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85536         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85537         * lib/getdelim.h: Delete.
85538         * lib/getline.h: Delete.
85539         * lib/stdio_.h (getdelim, getline): Declare.
85540         * modules/getdelim-tests: New module.
85541         * modules/getline-tests: Likewise.
85542         * tests/test-getdelim.c: New file.
85543         * tests/test-getline.c: Likewise.
85544         * NEWS: Document the change.
85545         * lib/getline.c: Update choice of header.
85546         * lib/csharpcomp.c: Likewise.
85547         * lib/getpass.c: Likewise.
85548         * lib/javacomp.c: Likewise.
85549         * lib/javaversion.c: Likewise.
85550         * lib/yesno.c: Likewise.
85551         * lib/getdelim.c: Likewise.
85552         (getdelim): Set errno on failure, and avoid memory leak.
85554 2007-08-19  Bruno Haible  <bruno@clisp.org>
85556         * modules/closein (Depends-on): Add freadahead.
85557         * lib/closein.c: Include freadahead.h.
85558         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85559         is zero.
85561 2007-08-19  Bruno Haible  <bruno@clisp.org>
85563         * modules/freadahead-tests: New file.
85564         * tests/test-freadahead.sh: New file.
85565         * tests/test-freadahead.c: New file.
85567         * modules/freadahead: New file.
85568         * lib/freadahead.h: New file.
85569         * lib/freadahead.c: New file.
85570         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85571         fbufmode, fpurge, freadable, fwritable.
85573 2007-08-19  Eric Blake  <ebb9@byu.net>
85575         Test yesno in combination with closein.
85576         * lib/yesno.c (yesno): Document use of stdin.
85577         * modules/yesno-tests (Files): New module.
85578         * tests/test-yesno.c (main): New file.
85579         * tests/test-yesno.sh: Likewise.
85581 2007-08-19  Bruno Haible  <bruno@clisp.org>
85583         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85584         * lib/fseeko.c (rpl_fseeko): Likewise.
85585         * lib/fseterr.c (fseterr): Likewise.
85587 2007-08-19  Bruno Haible  <bruno@clisp.org>
85589         * tests/test-lseek.c (main): Disable a test for BeOS.
85590         * doc/functions/lseek.texi: Document the BeOS bug.
85592 2007-08-19  Bruno Haible  <bruno@clisp.org>
85593             Eric Blake  <ebb9@byu.net>
85595         * lib/lseek.c: Include <sys/stat.h>.
85596         (rpl_lseek): Add workaround code also for Unix platforms.
85597         Needed for BeOS.
85598         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85599         * doc/functions/lseek.texi: Document BeOS definiency.
85601 2007-08-18  Bruno Haible  <bruno@clisp.org>
85603         * modules/fstrcmp-tests: New file.
85604         * tests/test-fstrcmp.c: New file.
85606 2007-08-18  Bruno Haible  <bruno@clisp.org>
85608         * modules/fstrcmp: New file, from GNU gettext with modifications.
85609         * lib/fstrcmp.h: New file, from GNU gettext.
85610         * lib/fstrcmp.c: New file, from GNU gettext.
85611         * MODULES.html.sh (String handling): Add fstrcmp.
85613 2007-08-18  Bruno Haible  <bruno@clisp.org>
85615         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85616         'bool'.
85617         (diag, compareseq): Remove const from the ctxt argument.
85618         (USE_HEURISTIC): Undefine at the end.
85620 2007-08-18  Jim Meyering  <jim@meyering.net>
85622         New file: lib/idcache.h
85623         * NEWS: Mention the addition.
85624         * modules/idcache (Files): Add lib/idcache.h
85625         * lib/idcache.c: Include "idcache.h".
85626         Don't include <sys/types.h>.
85627         Add a FIXME comment.
85628         Move file-scoped "static" declarations to the top.
85629         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85631 2007-08-17  Bruno Haible  <bruno@clisp.org>
85632         and Paul Eggert  <eggert@cs.ucla.edu>
85634         * MODULES.html.sh: Add diffseq.
85635         * modules/diffseq: New file.
85636         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85637         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85639 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85641         Import changes from coreutils for bootstrap script.
85643         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85645         * build-aux/bootstrap (slurp): Work even in environments where
85646         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85647         current code does not slurp files whose names start with ".", and
85648         this looks like it might be a troublesome area.
85650         2007-07-11  Jim Meyering  <jim@meyering.net>
85652         If there's a GPL vN copyright comment, require that N == 3.
85654         2007-07-08  Jim Meyering  <jim@meyering.net>
85656         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85657         * build-aux/bootstrap (mam_template): Move definition out of loop.
85659         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85661         * build-aux/bootstrap (symlink_to_dir): Rename function from
85662         symlink_to_gnulib.  Add a directory parameter.  Update all
85663         callers.
85664         (cp_mark_as_generated): Also check for -- and link to -- files in
85665         gl/.
85667         2007-07-08  Jim Meyering  <jim@meyering.net>
85669         Adapt to deeper hierarchy in gnulib.
85670         * build-aux/bootstrap (symlink_to_dir): If the destination
85671         directory doesn't exist, create it. This is required at least for
85672         "lib/uniwidth/cjk.h".
85674         2007-05-15  Jim Meyering  <jim@meyering.net>
85676         * build-aux/bootstrap: Now that generated Makefile.am files
85677         are no longer under version control, they must be created at
85678         bootstrap time.
85680 2007-08-14  Ben Pfaff  <blp@gnu.org>
85682         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85684 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85686         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85687         given the changes below.
85688         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85689         even on hosts that have padding bits beyond the supported 64.
85691 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85693         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85694         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85695         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85696         depends on it.
85697         (xstrtol_error): Remove.
85698         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85699         but with a different signature.
85700         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85701         * lib/xstrtol-error.c: Include exitfail.h.
85702         (xstrtol_fatal): New function, with a different signature from the
85703         old xstrtol_error, so that the caller need not worry about passing
85704         in an exit status, or about storage management of the option argument.
85705         (xstrtol_error): Now a static function.  Redo signature to
85706         implement xstrtol_fatal.  Output the correct number of hyphens in
85707         front of the option so that the caller need not worry about
85708         storage management.
85709         (N_): New macro.
85710         (_): Remove; not used now.
85711         * modules/xstrtol: Depend on getopt.
85712         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85713         of old STRTOL_FATAL_ERROR macro.
85714         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85715         of test program.
85716         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85717         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85719 2007-08-08  Eric Blake  <ebb9@byu.net>
85721         * lib/xstrtol-error.c: Add missing include.
85723         Move xstrtol messages into gnulib domain, when --pobase is used.
85724         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85725         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85726         * modules/xstrtol (Files): Distribute new file.
85727         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85728         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85729         * tests/test-xstrtol.c: ...into new file.
85730         * tests/test-xstrtoul.c: Also test xstrtoul.
85731         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85732         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85733         * tests/test-xstrtol.sh: Drive the tests.
85734         * tests/test-xstrtoimax.sh: Likewise.
85735         * tests/test-xstrtoumax.sh: Likewise.
85736         * modules/xstrtol-tests: New module.
85737         * modules/xstrtoimax-tests: Likewise.
85738         * modules/xstrtoumax-tests: Likewise.
85740 2007-08-08  Jim Meyering  <jim@meyering.net>
85742         New function: mfile_name_concat.
85743         * lib/filenamecat.c (mfile_name_concat): New function, just like
85744         file_name_concat, but return NULL upon failure rather than exiting
85745         with a diagnostic.
85746         * lib/filenamecat.h: Declare it.
85748 2007-08-07  Bruno Haible  <bruno@clisp.org>
85750         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85751         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85752         warning from gcc.
85753         Reported by Eric Blake.
85755 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85757         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85758         * modules/crypto/arcfour (License): Likewise.
85759         * modules/crypto/des-tests (License): Likewise.
85760         * modules/crypto/gc-arctwo-tests (License): Likewise.
85761         * modules/crypto/gc-des-tests (License): Likewise.
85762         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85763         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85764         * modules/crypto/gc-md2-tests (License): Likewise.
85765         * modules/crypto/gc-md4-tests (License): Likewise.
85766         * modules/crypto/gc-md5-tests (License): Likewise.
85767         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85768         * modules/crypto/gc-rijndael-tests (License): Likewise.
85769         * modules/crypto/gc-sha1-tests (License): Likewise.
85770         * modules/crypto/gc-tests (License): Likewise.
85771         * modules/crypto/hmac-md5 (License): Likewise.
85772         * modules/crypto/hmac-sha1 (License): Likewise.
85773         * modules/crypto/md2-tests (License): Likewise.
85774         * modules/crypto/md4-tests (License): Likewise.
85775         * modules/crypto/md5 (License): Likewise.
85776         * modules/crypto/rijndael (License): Likewise.
85777         * modules/crypto/sha1 (License): Likewise.
85778         * modules/memxor (License): Likewise.
85780 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85781         and Bruno Haible  <bruno@clisp.org>
85783         * NEWS: Describe interface changes to human, xstrtol.
85784         * lib/human.h: Include <xstrtol.h>.
85785         (human_options): Return enum strtol_error, not int.  Remove
85786         bool arg; take int * instead.
85787         * lib/human.c: Don't include "gettext.h".
85788         (_): Remove; no longer used.
85789         Don't include <xstrtol.h>, since human.h does it.
85790         (human_options): Adjust to abovementioned interface changes.
85791         Do not report error to stderr; that's now the caller's
85792         responsibility.
85793         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85794         interface change.
85795         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85796         Str, Argument_type_string.  All uses changed.  Put " argument"
85797         in diagnostics to make them clearer.  Change wording of suffix
85798         message for clarity.
85799         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85800         Argument_type_string.
85801         (STRTOL_FATAL_WARN): Remove; no longer used.
85802         * modules/human (Depends-on): Remove gettext-h.
85804 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85806         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85808 2007-07-31  Bruno Haible  <bruno@clisp.org>
85810         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85811         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85812         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85814 2007-07-31  Bruno Haible  <bruno@clisp.org>
85816         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85817         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85819 2007-07-30  Bruno Haible  <bruno@clisp.org>
85821         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85822         * modules/c-ctype (License): Likewise.
85823         * modules/c-strcase (License): Likewise.
85824         * modules/check-version (License): Likewise.
85825         * modules/iconv (License): Likewise.
85826         * modules/iconv_open (License): Likewise.
85827         * modules/read-file (License): Likewise.
85828         * modules/striconv (License): Likewise.
85829         * modules/strverscmp (License): Likewise.
85830         * modules/vasprintf (License): Likewise.
85831         * modules/crypto/des (License): Likewise.
85832         * modules/crypto/gc (License): Likewise.
85833         * modules/crypto/gc-arcfour (License): Likewise.
85834         * modules/crypto/gc-arctwo (License): Likewise.
85835         * modules/crypto/gc-des (License): Likewise.
85836         * modules/crypto/gc-hmac-md5 (License): Likewise.
85837         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85838         * modules/crypto/gc-md2 (License): Likewise.
85839         * modules/crypto/gc-md4 (License): Likewise.
85840         * modules/crypto/gc-md5 (License): Likewise.
85841         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85842         * modules/crypto/gc-random (License): Likewise.
85843         * modules/crypto/gc-rijndael (License): Likewise.
85844         * modules/crypto/gc-sha1 (License): Likewise.
85845         * modules/crypto/md2 (License): Likewise.
85846         * modules/crypto/md4 (License): Likewise.
85848 2007-07-30  Jim Meyering  <jim@meyering.net>
85850         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85851         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85852         it has valid stat data.  This bug would cause du not to count the
85853         sizes of inaccessible directories.
85854         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85855         in <http://bugzilla.redhat.com/250077>.
85857 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85858             Bruno Haible  <bruno@clisp.org>
85860         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85861         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85862         #include_next, gives a diagnostic about it, but reports no error in
85863         the exit code.
85864         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85866 2007-07-24  Ben Pfaff  <blp@gnu.org>
85868         Improve name: "count-one-bits" is better than "popcount".
85869         * MODULES.html.sh: Update name.
85870         * lib/popcount.h: Renamed lib/count-one-bits.h.
85871         (popcount): Renamed count_one_bits.
85872         (popcountl): Renamed count_one_bits_l.
85873         (popcountll): Renamed count_one_bits_ll.
85874         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85875         * modules/popcount: Renamed module/count-one-bits.
85876         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85877         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85879 2007-07-23  Ben Pfaff  <blp@gnu.org>
85881         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85882         better code generation, and add U to large constants to avoid
85883         warnings, in non-GCC case.
85884         Suggested by Bruno Haible.
85886 2007-07-23  Ben Pfaff  <blp@gnu.org>
85888         * lib/popcount.h: Use verify_true instead of if...abort.
85889         * modules/popcount: Depend on verify module.
85890         Suggested by Jim Meyering.
85892 2007-07-23  Bruno Haible  <bruno@clisp.org>
85894         * gnulib-tool (func_import): Create a .cvsignore file also when the
85895         directory is not yet in CVS but the toplevel directory is. When
85896         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85897         Reported by Karl Berry.
85899 2007-07-22  Ben Pfaff  <blp@gnu.org>
85901         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85902         case.
85903         Suggested by Eric Blake.
85905 2007-07-22  Ben Pfaff  <blp@gnu.org>
85907         New module: popcount.
85908         * MODULES.html.sh: Add popcount.
85909         * modules/popcount: New file.
85910         * modules/popcount-tests: New file.
85911         * tests/test-popcount.c: New file.
85912         * lib/popcount.h: New file.
85913         * m4/popcount.m4: New file.
85915 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85917         * build-aux/announce-gen: Update to GPLv3.
85919         * build-aux/config.guess: Update from config.
85921 2007-07-21  Bruno Haible  <bruno@clisp.org>
85923         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85924         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85926 2007-07-20  Jim Meyering  <jim@meyering.net>
85928         * check-module: Diagnose a self-dependency.
85930 2007-07-19  Bruno Haible  <bruno@clisp.org>
85932         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85933         empty.
85934         Reported by Eric Blake.
85936 2007-07-18  Bruno Haible  <bruno@clisp.org>
85938         * gnulib-tool: New options --po-base, --po-domain.
85939         (func_usage): Document them.
85940         (pobase, po_domain): New variables.
85941         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85942         DEFAULT_TEXT_DOMAIN.
85943         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85944         (func_import): Consider pobase and po_domain. Create a po/ directory.
85945         (func_create_testdir): Set pobase and po_domain to empty.
85946         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85947         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85949 2007-07-18  Bruno Haible  <bruno@clisp.org>
85951         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85952         EXTRA_DIST augmentation for files in build-aux/.
85954 2007-07-16  Bruno Haible  <bruno@clisp.org>
85956         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85957         * modules/getdelim (License): Likewise.
85959 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85961         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85962         * modules/d-type (License): Likewise.
85963         * modules/extensions (License): Likewise.
85964         * modules/fnmatch (License): Likewise.
85965         * modules/fseeko (License): Likewise.
85966         * modules/getaddrinfo (License): Likewise.
85967         * modules/getline (License): Likewise.
85968         * modules/getlogin_r (License): Likewise.
85969         * modules/getpass (License): Likewise.
85970         * modules/gettimeofday (License): Likewise.
85971         * modules/glob (License): Likewise.
85972         * modules/inet_ntop (License): Likewise.
85973         * modules/malloc (License): Likewise.
85974         * modules/malloca (License): Likewise.
85975         * modules/memmem (License): Likewise.
85976         * modules/mempcpy (License): Likewise.
85977         * modules/memset (License): Likewise.
85978         * modules/minmax (License): Likewise.
85979         * modules/mktime (License): Likewise.
85980         * modules/netinet_in (License): Likewise.
85981         * modules/pathmax (License): Likewise.
85982         * modules/poll (License): Likewise.
85983         * modules/regex (License): Likewise.
85984         * modules/snprintf (License): Likewise.
85985         * modules/stdbool (License): Likewise.
85986         * modules/stdint (License): Likewise.
85987         * modules/stdio (License): Likewise.
85988         * modules/strcase (License): Likewise.
85989         * modules/strcasestr (License): Likewise.
85990         * modules/strdup (License): Likewise.
85991         * modules/string (License): Likewise.
85992         * modules/strndup (License): Likewise.
85993         * modules/strnlen (License): Likewise.
85994         * modules/strpbrk (License): Likewise.
85995         * modules/strptime (License): Likewise.
85996         * modules/strsep (License): Likewise.
85997         * modules/sys_select (License): Likewise.
85998         * modules/sys_socket (License): Likewise.
85999         * modules/sys_stat (License): Likewise.
86000         * modules/sys_time (License): Likewise.
86001         * modules/time (License): Likewise.
86002         * modules/time_r (License): Likewise.
86003         * modules/timegm (License): Likewise.
86004         * modules/unistd (License): Likewise.
86005         * modules/vsnprintf (License): Likewise.
86006         * modules/wctype (License): Likewise.
86008 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86010         * modules/argz (License): LGPLv2+.
86012 2007-07-15  Karl Berry  <karl@gnu.org>
86014         * doc/gnulib.texi: revise node structure per new fdl.texi.
86016 2007-07-14  Bruno Haible  <bruno@clisp.org>
86018         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
86019         the output file.
86020         * lib/uniname/uninames.h: Regenerated.
86022 2007-07-14  Karl Berry  <karl@gnu.org>
86024         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
86025         omitting sectioning and index commands.
86027 2007-07-13  Bruno Haible  <bruno@clisp.org>
86029         New gnulib-tool option --more-symlinks.
86030         * gnulib-tool (func_usage): Document --more-symlinks.
86031         (do_copyrights): New variable.
86032         Recognize option --more-symlinks.
86033         (func_import): Don't add a copyright notice transform to
86034         sed_transform_lib_file if do_copyrights is empty.
86036 2007-07-13  Bruno Haible  <bruno@clisp.org>
86038         * lib/vasnprintf.c (decimal_point_char): Define also if
86039         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
86040         && !NEED_PRINTF_DIRECTIVE_A.
86041         Reported by Clemens Koller <clemens.koller@anagramm.de> via
86042         Gary V. Vaughan <gary@gnu.org>.
86044 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
86046         * lib/inttypes_.h: Undo previous change, since it was fixed
86047         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
86049 2007-07-13  Bruno Haible  <bruno@clisp.org>
86051         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
86052         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
86054 2007-07-13  Jim Meyering  <jim@meyering.net>
86056         df: Don't fail for Tru64's "file-on-file mount".
86057         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
86058         so we fall through and use statfs instead.  Details here:
86059         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
86060         Reported by Albert Chin.
86062 2007-07-13  Bruno Haible  <bruno@clisp.org>
86064         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
86065         * modules/configmake (License): Likewise.
86066         * modules/gettext (License): Likewise.
86067         * modules/gettext-h (License): Likewise.
86068         * modules/include_next (License): Likewise.
86069         * modules/link-warning (License): Likewise.
86070         * modules/localcharset (License): Likewise.
86071         * modules/localename (License): Likewise.
86072         * modules/lock (License): Likewise.
86073         * modules/relocatable-lib-lgpl (License): Likewise.
86074         * modules/size_max (License): Likewise.
86075         * modules/vasnprintf (License): Likewise.
86076         * modules/wchar (License): Likewise.
86077         * modules/xsize (License): Likewise.
86079 2007-07-13  Bruno Haible  <bruno@clisp.org>
86081         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
86082         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
86084 2007-07-12  Bruno Haible  <bruno@clisp.org>
86086         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
86087         in the modules files.
86089 2007-07-11  Karl Berry  <karl@gnu.org>
86091         * MODULES.html.sh (func_module): use
86092          sed -e '\|^'"${includefile}"'$|d'
86093          instead of /.../d, to avoid errors on $includefile's containing /.
86095 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86097         * gnulib-tool (func_import): Avoid duplication of --avoid
86098         statements
86099         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
86100         names to `_' in variable names.
86102 2007-07-10  Eric Blake  <ebb9@byu.net>
86104         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
86105         * NEWS: Document this change.
86107 2007-07-08  Bruno Haible  <bruno@clisp.org>
86109         Update to Unicode 5.0.
86110         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
86111         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
86112         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
86113         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
86114         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
86115         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
86116         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
86117         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
86118         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
86119         U+10A3F, U+1D242..U+1D244.
86120         (nonspacing_table_ind): Update.
86121         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
86122         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
86124 2007-07-08  Bruno Haible  <bruno@clisp.org>
86126         Update to Unicode 5.0.
86127         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
86128         code transform. Extend the name index field of unicode_name_to_code and
86129         unicode_code_to_name from 16 to 24 bits.
86130         * lib/uniname/uniname.c (unicode_character_name,
86131         unicode_name_character): Add the range 0x12xxx to the code transform.
86132         * lib/uniname/uninames.h: Regenerated.
86133         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86135 2007-07-07  Bruno Haible  <bruno@clisp.org>
86137         * modules/wcwidth-tests: New file.
86138         * tests/test-wcwidth.c: New file.
86140         Work around MacOS X wcwidth() bug.
86141         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
86142         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
86143         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
86144         original wcwidth in non-UTF-8 locales.
86145         * modules/wcwidth (Depends-on): Add localcharset, streq,
86146         uniwidth/width.
86147         * doc/functions/wcwidth.texi: Update.
86149 2007-07-07  Bruno Haible  <bruno@clisp.org>
86151         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
86152         (wcwidth): New declaration.
86153         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
86154         macros.
86155         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
86156         here. Prepare for creating <wchar.h> unconditionally.
86157         * modules/wchar (Depends-on): Add link-warning.
86158         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
86159         REPLACE_WCWIDTH, and GL_LINK_WARNING.
86160         * lib/wcwidth.h: Remove file.
86161         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
86162         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
86163         * modules/wcwidth (Files): Remove lib/wcwidth.h.
86164         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
86165         (Include): Replace wcwidth.h with <wchar.h>.
86166         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
86167         * lib/mbchar.h: Don't include wcwidth.h.
86168         * lib/mbswidth.c: Likewise.
86169         * NEWS: Mention the change.
86171 2007-07-07  Bruno Haible  <bruno@clisp.org>
86173         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86174         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
86175         definition with an external declaration.
86176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
86177         defined as a function. Remove AC_C_INLINE requirement.
86178         * modules/wcwidth (Files): Add lib/wcwidth.c.
86179         (Makefile.am): Remove redundant statement.
86181 2007-07-07  Bruno Haible  <bruno@clisp.org>
86183         * MODULES.html.sh (Unicode string functions): Add the new modules.
86185         * tests/uniwidth/test-u32-strwidth.c: New file.
86186         * modules/uniwidth/u32-strwidth-tests: New file.
86188         * lib/uniwidth/u32-strwidth.c: New file.
86189         * modules/uniwidth/u32-strwidth: New file.
86191         * tests/uniwidth/test-u16-strwidth.c: New file.
86192         * modules/uniwidth/u16-strwidth-tests: New file.
86194         * lib/uniwidth/u16-strwidth.c: New file.
86195         * modules/uniwidth/u16-strwidth: New file.
86197         * tests/uniwidth/test-u8-strwidth.c: New file.
86198         * modules/uniwidth/u8-strwidth-tests: New file.
86200         * lib/uniwidth/u8-strwidth.c: New file.
86201         * modules/uniwidth/u8-strwidth: New file.
86203         * tests/uniwidth/test-u32-width.c: New file.
86204         * modules/uniwidth/u32-width-tests: New file.
86206         * lib/uniwidth/u32-width.c: New file.
86207         * modules/uniwidth/u32-width: New file.
86209         * tests/uniwidth/test-u16-width.c: New file.
86210         * modules/uniwidth/u16-width-tests: New file.
86212         * lib/uniwidth/u16-width.c: New file.
86213         * modules/uniwidth/u16-width: New file.
86215         * tests/uniwidth/test-u8-width.c: New file.
86216         * modules/uniwidth/u8-width-tests: New file.
86218         * lib/uniwidth/u8-width.c: New file.
86219         * modules/uniwidth/u8-width: New file.
86221         * tests/uniwidth/test-uc_width.c: New file.
86222         * modules/uniwidth/width-tests: New file.
86224         * lib/uniwidth/width.c: New file, from GNU libiconv.
86225         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
86226         * modules/uniwidth/width: New file.
86228         * lib/uniwidth.h: New file, from GNU libiconv.
86229         * modules/uniwidth/base: New file.
86231 2007-07-07  Bruno Haible  <bruno@clisp.org>
86233         * lib/uniname.h: New file, from GNU gettext.
86234         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
86235         * lib/uniname/uninames.h: New file, from GNU gettext.
86236         * lib/uniname/uniname.c: New file, from GNU gettext.
86237         * tests/uniname/test-uninames.sh: New file.
86238         * tests/uniname/test-uninames.c: New file, from GNU gettext.
86239         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
86240         * modules/uniname/base: New file.
86241         * modules/uniname/uniname: New file.
86242         * modules/uniname/uniname-tests: New file.
86243         * MODULES.html.sh (Unicode string functions): Add the new modules.
86245 2007-07-06  Bruno Haible  <bruno@clisp.org>
86247         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
86249 2007-07-06  Bruno Haible  <bruno@clisp.org>
86251         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
86252         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
86253         includes <cygwin/sys_time.h> which includes <sys/select.h> which
86254         include <sys/time.h>.
86255         Reported by Eric Blake.
86257 2007-07-06  Eric Blake  <ebb9@byu.net>
86259         Fix testing canonicalize on cygwin.
86260         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86261         Revert patch from 2007-06-19.
86262         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
86263         canonicalize module is also in use.
86264         * tests/test-canonicalize.c: New file.
86265         * tests/test-canonicalize.sh: Likewise.
86266         * modules/canonicalize-tests: Likewise.
86268 2007-07-06  Jim Meyering  <jim@meyering.net>
86270         * lib/getugroups.c (getugroups): Detect getgrent failure.
86271         Adjust comment to reflect reality: this function may return -1.
86273 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
86275         * build-aux/bootstrap (TP_URL,get_translations): Update to use
86276         the new TP address.
86277         (usage): Fix typo
86278         (gnulib_mk): New variable.
86280 2007-07-05  Jim Meyering  <jim@meyering.net>
86282         Don't let endgrent clobber errno, no matter how improbable.
86283         * lib/getugroups.c (getugroups): Save and restore errno around
86284         endgrent call.
86286         Close the group DB even when failing with 2^31 or more members.
86287         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
86289 2007-07-04  Jim Meyering  <jim@meyering.net>
86291         * lib/getugroups.h: New file.
86292         * lib/getugroups.c: Include "getugroups.h".
86293         Remove uses of "register" keyword.
86294         Move local variable, "cp", down into scope where used.
86295         Give "username" parameter the "const" attribute.
86296         * modules/getugroups (Files): Add lib/getugroups.h
86298 2007-07-04  Karl Berry  <karl@gnu.org>
86300         * MODULES.html.sh (func_all_modules): Complete rename of
86301         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
86303 2007-07-02  Bruno Haible  <bruno@clisp.org>
86305         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
86306         mode, when inttypes.h comes from gnulib.
86307         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
86309 2007-07-02  Simon Josefsson  <simon@josefsson.org>
86311         * NEWS: Mention lgpl module name change.
86313         * modules/lgpl-2.1: Renamed from lgpl.
86315         * NEWS: Mention gpl module name change.
86317         * modules/gpl-3.0: New file, based on gpl-2.0.
86319         * modules/gpl-2.0: Renamed from gpl.
86321         * modules/gpl: Fix filename, doc/gpl.texi is now found at
86322         doc/gpl-2.0.texi.
86324 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
86326         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
86327         #define __STDC_LIMIT_MACROS temporarily while including
86328         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
86329         Problem reported by Joel E. Denny in
86330         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
86332 2007-07-01  Bruno Haible  <bruno@clisp.org>
86334         * lib/unistdio.h: New file.
86335         * lib/unistdio/u-asnprintf.h: New file.
86336         * lib/unistdio/u-asprintf.h: New file.
86337         * lib/unistdio/u-printf-args.c: New file.
86338         * lib/unistdio/u-printf-args.h: New file.
86339         * lib/unistdio/u-printf-parse.h: New file.
86340         * lib/unistdio/u-snprintf.h: New file.
86341         * lib/unistdio/u-sprintf.h: New file.
86342         * lib/unistdio/u-vasprintf.h: New file.
86343         * lib/unistdio/u-vsnprintf.h: New file.
86344         * lib/unistdio/u-vsprintf.h: New file.
86345         * lib/unistdio/ulc-asnprintf.c: New file.
86346         * lib/unistdio/ulc-asprintf.c: New file.
86347         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
86348         * lib/unistdio/ulc-printf-parse.c: New file.
86349         * lib/unistdio/ulc-snprintf.c: New file.
86350         * lib/unistdio/ulc-sprintf.c: New file.
86351         * lib/unistdio/ulc-vasnprintf.c: New file.
86352         * lib/unistdio/ulc-vasprintf.c: New file.
86353         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
86354         * lib/unistdio/ulc-vsnprintf.c: New file.
86355         * lib/unistdio/ulc-vsprintf.c: New file.
86356         * lib/unistdio/u8-asnprintf.c: New file.
86357         * lib/unistdio/u8-asprintf.c: New file.
86358         * lib/unistdio/u8-printf-parse.c: New file.
86359         * lib/unistdio/u8-snprintf.c: New file.
86360         * lib/unistdio/u8-sprintf.c: New file.
86361         * lib/unistdio/u8-vasnprintf.c: New file.
86362         * lib/unistdio/u8-vasprintf.c: New file.
86363         * lib/unistdio/u8-vsnprintf.c: New file.
86364         * lib/unistdio/u8-vsprintf.c: New file.
86365         * lib/unistdio/u8-u8-asnprintf.c: New file.
86366         * lib/unistdio/u8-u8-asprintf.c: New file.
86367         * lib/unistdio/u8-u8-snprintf.c: New file.
86368         * lib/unistdio/u8-u8-sprintf.c: New file.
86369         * lib/unistdio/u8-u8-vasnprintf.c: New file.
86370         * lib/unistdio/u8-u8-vasprintf.c: New file.
86371         * lib/unistdio/u8-u8-vsnprintf.c: New file.
86372         * lib/unistdio/u8-u8-vsprintf.c: New file.
86373         * lib/unistdio/u16-asnprintf.c: New file.
86374         * lib/unistdio/u16-asprintf.c: New file.
86375         * lib/unistdio/u16-printf-parse.c: New file.
86376         * lib/unistdio/u16-snprintf.c: New file.
86377         * lib/unistdio/u16-sprintf.c: New file.
86378         * lib/unistdio/u16-vasnprintf.c: New file.
86379         * lib/unistdio/u16-vasprintf.c: New file.
86380         * lib/unistdio/u16-vsnprintf.c: New file.
86381         * lib/unistdio/u16-vsprintf.c: New file.
86382         * lib/unistdio/u16-u16-asnprintf.c: New file.
86383         * lib/unistdio/u16-u16-asprintf.c: New file.
86384         * lib/unistdio/u16-u16-snprintf.c: New file.
86385         * lib/unistdio/u16-u16-sprintf.c: New file.
86386         * lib/unistdio/u16-u16-vasnprintf.c: New file.
86387         * lib/unistdio/u16-u16-vasprintf.c: New file.
86388         * lib/unistdio/u16-u16-vsnprintf.c: New file.
86389         * lib/unistdio/u16-u16-vsprintf.c: New file.
86390         * lib/unistdio/u32-asnprintf.c: New file.
86391         * lib/unistdio/u32-asprintf.c: New file.
86392         * lib/unistdio/u32-printf-parse.c: New file.
86393         * lib/unistdio/u32-snprintf.c: New file.
86394         * lib/unistdio/u32-sprintf.c: New file.
86395         * lib/unistdio/u32-vasnprintf.c: New file.
86396         * lib/unistdio/u32-vasprintf.c: New file.
86397         * lib/unistdio/u32-vsnprintf.c: New file.
86398         * lib/unistdio/u32-vsprintf.c: New file.
86399         * lib/unistdio/u32-u32-asnprintf.c: New file.
86400         * lib/unistdio/u32-u32-asprintf.c: New file.
86401         * lib/unistdio/u32-u32-snprintf.c: New file.
86402         * lib/unistdio/u32-u32-sprintf.c: New file.
86403         * lib/unistdio/u32-u32-vasnprintf.c: New file.
86404         * lib/unistdio/u32-u32-vasprintf.c: New file.
86405         * lib/unistdio/u32-u32-vsnprintf.c: New file.
86406         * lib/unistdio/u32-u32-vsprintf.c: New file.
86407         * tests/unistdio/test-ulc-asnprintf1.c: New file.
86408         * tests/unistdio/test-ulc-asnprintf1.h: New file.
86409         * tests/unistdio/test-ulc-printf1.h: New file.
86410         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
86411         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
86412         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
86413         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
86414         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
86415         * tests/unistdio/test-ulc-vasprintf1.c: New file.
86416         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
86417         * tests/unistdio/test-ulc-vsprintf1.c: New file.
86418         * tests/unistdio/test-u8-asnprintf1.c: New file.
86419         * tests/unistdio/test-u8-asnprintf1.h: New file.
86420         * tests/unistdio/test-u8-printf1.h: New file.
86421         * tests/unistdio/test-u8-vasnprintf1.c: New file.
86422         * tests/unistdio/test-u8-vasnprintf2.c: New file.
86423         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
86424         * tests/unistdio/test-u8-vasnprintf3.c: New file.
86425         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
86426         * tests/unistdio/test-u8-vasprintf1.c: New file.
86427         * tests/unistdio/test-u8-vsnprintf1.c: New file.
86428         * tests/unistdio/test-u8-vsprintf1.c: New file.
86429         * tests/unistdio/test-u16-asnprintf1.c: New file.
86430         * tests/unistdio/test-u16-asnprintf1.h: New file.
86431         * tests/unistdio/test-u16-printf1.h: New file.
86432         * tests/unistdio/test-u16-vasnprintf1.c: New file.
86433         * tests/unistdio/test-u16-vasnprintf2.c: New file.
86434         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
86435         * tests/unistdio/test-u16-vasnprintf3.c: New file.
86436         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
86437         * tests/unistdio/test-u16-vasprintf1.c: New file.
86438         * tests/unistdio/test-u16-vsnprintf1.c: New file.
86439         * tests/unistdio/test-u16-vsprintf1.c: New file.
86440         * tests/unistdio/test-u32-asnprintf1.c: New file.
86441         * tests/unistdio/test-u32-asnprintf1.h: New file.
86442         * tests/unistdio/test-u32-printf1.h: New file.
86443         * tests/unistdio/test-u32-vasnprintf1.c: New file.
86444         * tests/unistdio/test-u32-vasnprintf2.c: New file.
86445         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
86446         * tests/unistdio/test-u32-vasnprintf3.c: New file.
86447         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
86448         * tests/unistdio/test-u32-vasprintf1.c: New file.
86449         * tests/unistdio/test-u32-vsnprintf1.c: New file.
86450         * tests/unistdio/test-u32-vsprintf1.c: New file.
86451         * modules/unistdio/base: New file.
86452         * modules/unistdio/u-printf-args: New file.
86453         * modules/unistdio/ulc-asnprintf: New file.
86454         * modules/unistdio/ulc-asprintf: New file.
86455         * modules/unistdio/ulc-fprintf: New file.
86456         * modules/unistdio/ulc-printf-parse: New file.
86457         * modules/unistdio/ulc-snprintf: New file.
86458         * modules/unistdio/ulc-sprintf: New file.
86459         * modules/unistdio/ulc-vasnprintf: New file.
86460         * modules/unistdio/ulc-vasprintf: New file.
86461         * modules/unistdio/ulc-vfprintf: New file.
86462         * modules/unistdio/ulc-vsnprintf: New file.
86463         * modules/unistdio/ulc-vsprintf: New file.
86464         * modules/unistdio/u8-asnprintf: New file.
86465         * modules/unistdio/u8-asprintf: New file.
86466         * modules/unistdio/u8-printf-parse: New file.
86467         * modules/unistdio/u8-snprintf: New file.
86468         * modules/unistdio/u8-sprintf: New file.
86469         * modules/unistdio/u8-vasnprintf: New file.
86470         * modules/unistdio/u8-vasprintf: New file.
86471         * modules/unistdio/u8-vsnprintf: New file.
86472         * modules/unistdio/u8-vsprintf: New file.
86473         * modules/unistdio/u8-u8-asnprintf: New file.
86474         * modules/unistdio/u8-u8-asprintf: New file.
86475         * modules/unistdio/u8-u8-snprintf: New file.
86476         * modules/unistdio/u8-u8-sprintf: New file.
86477         * modules/unistdio/u8-u8-vasnprintf: New file.
86478         * modules/unistdio/u8-u8-vasprintf: New file.
86479         * modules/unistdio/u8-u8-vsnprintf: New file.
86480         * modules/unistdio/u8-u8-vsprintf: New file.
86481         * modules/unistdio/u16-asnprintf: New file.
86482         * modules/unistdio/u16-asprintf: New file.
86483         * modules/unistdio/u16-printf-parse: New file.
86484         * modules/unistdio/u16-snprintf: New file.
86485         * modules/unistdio/u16-sprintf: New file.
86486         * modules/unistdio/u16-vasnprintf: New file.
86487         * modules/unistdio/u16-vasprintf: New file.
86488         * modules/unistdio/u16-vsnprintf: New file.
86489         * modules/unistdio/u16-vsprintf: New file.
86490         * modules/unistdio/u16-u16-asnprintf: New file.
86491         * modules/unistdio/u16-u16-asprintf: New file.
86492         * modules/unistdio/u16-u16-snprintf: New file.
86493         * modules/unistdio/u16-u16-sprintf: New file.
86494         * modules/unistdio/u16-u16-vasnprintf: New file.
86495         * modules/unistdio/u16-u16-vasprintf: New file.
86496         * modules/unistdio/u16-u16-vsnprintf: New file.
86497         * modules/unistdio/u16-u16-vsprintf: New file.
86498         * modules/unistdio/u32-asnprintf: New file.
86499         * modules/unistdio/u32-asprintf: New file.
86500         * modules/unistdio/u32-printf-parse: New file.
86501         * modules/unistdio/u32-snprintf: New file.
86502         * modules/unistdio/u32-sprintf: New file.
86503         * modules/unistdio/u32-vasnprintf: New file.
86504         * modules/unistdio/u32-vasprintf: New file.
86505         * modules/unistdio/u32-vsnprintf: New file.
86506         * modules/unistdio/u32-vsprintf: New file.
86507         * modules/unistdio/u32-u32-asnprintf: New file.
86508         * modules/unistdio/u32-u32-asprintf: New file.
86509         * modules/unistdio/u32-u32-snprintf: New file.
86510         * modules/unistdio/u32-u32-sprintf: New file.
86511         * modules/unistdio/u32-u32-vasnprintf: New file.
86512         * modules/unistdio/u32-u32-vasprintf: New file.
86513         * modules/unistdio/u32-u32-vsnprintf: New file.
86514         * modules/unistdio/u32-u32-vsprintf: New file.
86515         * modules/unistdio/ulc-asnprintf-tests: New file.
86516         * modules/unistdio/ulc-vasnprintf-tests: New file.
86517         * modules/unistdio/ulc-vasprintf-tests: New file.
86518         * modules/unistdio/ulc-vsnprintf-tests: New file.
86519         * modules/unistdio/ulc-vsprintf-tests: New file.
86520         * modules/unistdio/u8-asnprintf-tests: New file.
86521         * modules/unistdio/u8-vasnprintf-tests: New file.
86522         * modules/unistdio/u8-vasprintf-tests: New file.
86523         * modules/unistdio/u8-vsnprintf-tests: New file.
86524         * modules/unistdio/u8-vsprintf-tests: New file.
86525         * modules/unistdio/u16-asnprintf-tests: New file.
86526         * modules/unistdio/u16-vasnprintf-tests: New file.
86527         * modules/unistdio/u16-vasprintf-tests: New file.
86528         * modules/unistdio/u16-vsnprintf-tests: New file.
86529         * modules/unistdio/u16-vsprintf-tests: New file.
86530         * modules/unistdio/u32-asnprintf-tests: New file.
86531         * modules/unistdio/u32-vasnprintf-tests: New file.
86532         * modules/unistdio/u32-vasprintf-tests: New file.
86533         * modules/unistdio/u32-vsnprintf-tests: New file.
86534         * modules/unistdio/u32-vsprintf-tests: New file.
86535         * MODULES.html.sh (Unicode string functions): Add the new modules.
86537 2007-07-01  Bruno Haible  <bruno@clisp.org>
86539         * lib/sprintf.c (sprintf): Limit the available length estimation,
86540         to avoid address wraparound.
86541         * lib/vsprintf.c (vsprintf): Likewise.
86542         * modules/sprintf-posix (Dependencies): Add stdint.
86543         * modules/vsprintf-posix (Dependencies): Likewise.
86545 2007-07-01  Bruno Haible  <bruno@clisp.org>
86547         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86548         Windows PATH as well. Conservative double-quoting. Comments.
86550 2007-07-01  Bruno Haible  <bruno@clisp.org>
86551             Eric Blake  <ebb9@byu.net>
86552             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86554         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86555         empty components in $PATH, denoting '.'.
86557 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86559         * gnulib-tool: Fix indentation.
86560         (func_create_megatestdir): Likewise.
86561         Report by Bruno Haible.
86563 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86565         Sync from Automake.
86566         * build-aux/gnupload: Fix shell portability issues with for loops.
86567         Report by Karl Berry.
86569 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86571         * build-aux/maint.mk (POURL): Use translationproject.org.
86573 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86574             Bruno Haible  <bruno@clisp.org>
86576         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86577         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86578         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86579         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86580         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86582 2007-06-27  Bruno Haible  <bruno@clisp.org>
86584         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86585         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86587 2007-06-26  Karl Berry  <karl@gnu.org>
86589         * MODULES.html.sh: remove xreadlink-with-size.
86591 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86593         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86594         method that I hope also handles the double-include problem noted
86595         by Bruno Haible in
86596         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86598 2007-06-23  Bruno Haible  <bruno@clisp.org>
86600         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86601         Don't let the 'mostlyclean' target fail if the last subdirectory could
86602         not be removed.
86603         Reported by Karl Berry.
86605 2007-06-23  Bruno Haible  <bruno@clisp.org>
86607         * gnulib-tool (echo): Add a speedier workaround for ksh.
86608         * tests/test-echo.sh: Likewise.
86610 2007-06-23  Bruno Haible  <bruno@clisp.org>
86612         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86613         * tests/test-echo.sh: Likewise.
86615 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86617         * gnulib-tool (IFS): Initialize early, so we don't set it to
86618         empty later.
86619         (self_abspathname): Rewrite algorithm to set it, reindent.
86620         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86621         (func_create_megatestdir): Merge some sed scripts.
86623 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86625         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86626         exposed by Sun Studio 11 cc on Solaris 8.
86628 2007-06-22  Bruno Haible  <bruno@clisp.org>
86630         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86631         backslashes.
86632         * tests/test-echo.sh: New file.
86634 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86636         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86637         simplify `sed_replace_build_aux' scripts, they are portable but
86638         echoing them with `echo' is not.
86639         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86641 2007-06-21  Karl Berry  <karl@gnu.org>
86643         * config/srclist.txt: guess we can't handle the licenses via
86644         srclist at the moment.
86646 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86648         * MODULES.html.sh: Add include_next.
86649         * modules/include_next: New file.
86651 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86653         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86654         INCLUDE_NEXT.
86655         (gl_CHECK_NEXT_HEADERS): New macro.
86656         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86657         the obsolescent gl_ABSOLUTE_HEADER.
86658         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86659         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86660         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86661         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86662         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86663         * m4/math_h.m4 (gl_MATH_H): Likewise.
86664         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86665         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86666         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86667         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86668         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86669         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86670         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86671         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86672         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86673         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86674         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86675         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86676         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86677         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86678         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86679         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86680         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86681         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86682         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86683         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86684         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86685         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86686         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86687         * lib/float_.h: Likewise.
86688         * lib/inttypes_.h: Likewise.
86689         * lib/math_.h: Likewise.
86690         * lib/search_.h: Likewise.
86691         * lib/signal_.h: Likewise.
86692         * lib/stdint_.h: Likewise.
86693         * lib/stdio_.h: Likewise.
86694         * lib/stdlib_.h: Likewise.
86695         * lib/string_.h: Likewise.
86696         * lib/sys_stat_.h: Likewise.
86697         * lib/sys_time_.h: Likewise.
86698         * lib/time_.h: Likewise.
86699         * lib/unistd_.h: Likewise.
86700         * lib/wchar_.h: Likewise.
86701         * lib/wctype_.h: Likewise.
86702         * lib/dirent_.h: Likewise.
86703         * lib/iconv_.h: Likewise.
86704         * lib/locale_.h: Likewise.
86705         * lib/netinet_in_.h: Likewise.
86706         * lib/sys_select_.h: Likewise.
86707         * lib/sys_socket_.h: Likewise.
86708         * lib/sysexits_.h: Likewise.
86709         * modules/fcntl (Depends-on): Depend on include_next, not
86710         absolute_header.
86711         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86712         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86713         * modules/fchdir: Likewise.
86714         * modules/float: Likewise.
86715         * modules/iconv_open: Likewise.
86716         * modules/inttypes: Likewise.
86717         * modules/locale: Likewise.
86718         * modules/math: Likewise.
86719         * modules/netinet_in: Likewise.
86720         * modules/search: Likewise.
86721         * modules/signal: Likewise.
86722         * modules/stdint: Likewise.
86723         * modules/stdio: Likewise.
86724         * modules/stdlib: Likewise.
86725         * modules/string: Likewise.
86726         * modules/sys_select: Likewise.
86727         * modules/sys_socket: Likewise.
86728         * modules/sys_stat: Likewise.
86729         * modules/sys_time: Likewise.
86730         * modules/sysexits: Likewise.
86731         * modules/time: Likewise.
86732         * modules/unistd: Likewise.
86733         * modules/wchar: Likewise.
86734         * modules/wctype: Likewise.
86735         * modules/sys_stat: Change maintainer to "all".
86736         * modules/unistd: Likewise.
86738 2007-06-20  Karl Berry  <karl@gnu.org>
86740         * config/srclist.txt: track www changes in license files.
86742 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86744         * build-aux/bootstrap: Remove stray dot.
86745         Make sure build_aux settings are honored when linking
86746         gnulib_extra_files.
86748 2007-06-19  Eric Blake  <ebb9@byu.net>
86750         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86751         Allow compilation on cygwin.
86753 2007-06-19  Jim Meyering  <jim@meyering.net>
86755         xreadlink-with-size: Remove module.  No longer used.
86756         Ex-callers now use xreadlink or mreadlink-with-size.
86757         * modules/xreadlink-with-size: Remove module.
86758         * lib/xreadlink-with-size.c: Remove file.
86759         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86760         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86761         just before the function definition *is* accurate.
86763         Eliminate one way canonicalize_filename_mode could exit.
86764         * lib/canonicalize.c (canonicalize_filename_mode):
86765         Use mreadlink_with_size, not xreadlink_with_size.
86767 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86769         Detect porting problems to FreeBSD/arm, which has time_t wider than
86770         long int.  Original problem reported for GNU diff by Xin Li in
86771         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86772         * modules/getdate (Depends-on): Add intprops, verify.
86773         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86774         is an integer type no wider than long int.
86776 2007-06-18  Jim Meyering  <jim@meyering.net>
86778         New module: mreadlink-with-size.
86779         * MODULES.html.sh: Add mreadlink-with-size.
86780         * modules/mreadlink-with-size: New module
86781         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86782         not xreadlink-with-size.
86783         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86785 2007-06-16  Bruno Haible  <bruno@clisp.org>
86787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86788         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86789         Reported by Gary V. Vaughan <gary@gnu.org>.
86791 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86793         Revamp lchown so that it lives in unistd.h where it belongs.
86794         * lib/lchown.h: Remove.
86795         * lib/dirchownmod.c: Don't include lib/lchown.h.
86796         * lib/fchownat.c: Likewise.
86797         * lib/openat.c: Likewise.
86798         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86799         does not follow symlinks.
86800         (EOPNOTSUPP): Define if not defined.
86801         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86802         is defined to 0.
86803         (lchown): New decl.
86804         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86805         Do not check for lchown decl.
86806         Set REPLACE_LCHOWN.
86807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86808         REPLACE_LCHOWN.
86809         * modules/chown: Make it clear it follows symlinks.
86810         * modules/lchown: Make it clear it doesn't follow symlinks.
86811         (Files): Remove lib/lchown.h
86812         (Depends-on): Add unistd.
86813         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86814         (Include): Include <unistd.h>, not "lchown.h".
86815         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86816         REPLACE_LCHOWN.
86818 2007-06-15  Jim Meyering  <jim@meyering.net>
86820         Change license (GPL to LGPL) of fsusage and dependents.
86821         * modules/fsusage (License): Change to LGPL.
86822         * modules/full-read (License): Likewise.
86823         * modules/full-write (License): Likewise.
86824         * modules/safe-read (License): Likewise.
86825         * modules/safe-write (License): Likewise.
86827 2007-06-14  Ben Pfaff  <blp@gnu.org>
86829         Missing part of allocsa -> malloca transition.
86830         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86831         gl_MALLOCA.
86833 2007-06-12  Bruno Haible  <bruno@clisp.org>
86835         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86836         to ia64, x86_64, i386.
86837         Reported by Eric Blake.
86839 2007-06-12  Bruno Haible  <bruno@clisp.org>
86841         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86842         cross-compiling to x86_64.
86844 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86846         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86847         glitch reported by Ralf Wildenhues in
86848         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86850         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86851         Vin Shelton.
86853 2007-06-11  Bruno Haible  <bruno@clisp.org>
86855         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86856         replacement string.
86857         Reported by Eric Blake.
86859 2007-06-10  Bruno Haible  <bruno@clisp.org>
86861         Prepare vasnprintf code for use with Unicode strings.
86862         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86863         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86864         TYPE_U32_STRING.
86865         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86866         a_u32_string variants.
86867         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86868         * lib/printf-args.c: Don't include config.h and the specification
86869         header if PRINTF_FETCHARGS is already defined.
86870         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86871         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86872         TYPE_U16_STRING, TYPE_U32_STRING.
86873         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86874         u16_directive, u16_directives, u32_directive, u32_directives): New
86875         types.
86876         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86877         New declarations.
86878         * lib/printf-parse.c: Don't include config.h and the specification
86879         header if PRINTF_PARSE is already defined. Eliminate the set of
86880         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86881         them now. Include c-ctype.h.
86882         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86883         directive and CHAR_T_ONLY_ASCII.
86884         * lib/vasnprintf.c: Don't include config.h and the specification header
86885         if VASNPRINTF is already defined.
86886         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86887         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86888         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86889         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86890         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86891         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86892         code accordingly.
86893         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86894         pad_ourselves also in this case, with the 'c' and 's' directives, and
86895         with a different notion of "width".
86896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86898 2007-06-10  Bruno Haible  <bruno@clisp.org>
86900         * modules/unistr/u32-mbsnlen: New file.
86901         * lib/unistr/u32-mbsnlen.c: New file.
86903         * modules/unistr/u16-mbsnlen: New file.
86904         * lib/unistr/u16-mbsnlen.c: New file.
86906         * modules/unistr/u8-mbsnlen: New file.
86907         * lib/unistr/u8-mbsnlen.c: New file.
86909         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86910         declarations.
86912 2007-06-10  Bruno Haible  <bruno@clisp.org>
86914         * lib/string_.h (mbsnlen): New declaration.
86915         * lib/mbsnlen.c: New file.
86916         * m4/mbsnlen.m4: New file.
86917         * modules/mbsnlen: New file.
86918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86919         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86920         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86922 2007-06-10  Bruno Haible  <bruno@clisp.org>
86924         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86926 2007-06-10  Bruno Haible  <bruno@clisp.org>
86928         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86929         * lib/mbuiter.h: Likewise.
86931 2007-06-10  Bruno Haible  <bruno@clisp.org>
86933         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86934         declaration.
86936 2007-06-10  Karl Berry  <karl@gnu.org>
86938         * config/srclist.txt: remove gettext entries, Bruno prefers
86939         to update individually.
86941 2007-06-10  Bruno Haible  <bruno@clisp.org>
86943         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86944         'maxlen'. Ensure only length + width bytes are allocated, not
86945         length + 1 + width.
86947 2007-06-09  Bruno Haible  <bruno@clisp.org>
86949         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86950         (CHAR_T): Remove macro.
86951         (VASNPRINTF): Update.
86953 2007-06-09  Bruno Haible  <bruno@clisp.org>
86955         * MODULES.html.sh (Unicode string functions): Add the new modules.
86957         * modules/uniconv/u32-conv-to-enc: New file.
86958         * lib/uniconv/u32-conv-to-enc.c: New file.
86959         * modules/uniconv/u32-conv-to-enc-tests: New file.
86960         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86962         * modules/uniconv/u16-conv-to-enc: New file.
86963         * lib/uniconv/u16-conv-to-enc.c: New file.
86964         * lib/uniconv/u-conv-to-enc.h: New file.
86965         * modules/uniconv/u16-conv-to-enc-tests: New file.
86966         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86968         * modules/uniconv/u8-conv-to-enc: New file.
86969         * lib/uniconv/u8-conv-to-enc.c: New file.
86970         * modules/uniconv/u8-conv-to-enc-tests: New file.
86971         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86973         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86974         u32_conv_to_encoding): New declarations.
86976 2007-06-09  Bruno Haible  <bruno@clisp.org>
86978         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86980 2007-06-09  Bruno Haible  <bruno@clisp.org>
86982         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86983         * modules/malloca: Renamed from modules/allocsa, updated.
86984         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86985         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86986         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86987         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86988         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86989         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86990         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86991         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86992         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86993         * modules/c-strcasestr (Depends-on): Update.
86994         * lib/c-strcasestr.c: Update.
86995         * modules/c-strstr (Depends-on): Update.
86996         * lib/c-strstr.c: Update.
86997         * modules/canonicalize-lgpl (Depends-on): Update.
86998         * lib/canonicalize-lgpl.c: Update.
86999         * modules/clean-temp (Depends-on): Update.
87000         * lib/clean-temp.c: Update.
87001         * modules/csharpcomp (Depends-on): Update.
87002         * lib/csharpcomp.c: Update.
87003         * modules/csharpexec (Depends-on): Update.
87004         * lib/csharpexec.c: Update.
87005         * modules/javacomp (Depends-on): Update.
87006         * lib/javacomp.c: Update.
87007         * modules/javaexec (Depends-on): Update.
87008         * lib/javaexec.c: Update.
87009         * modules/mbscasestr (Depends-on): Update.
87010         * lib/mbscasestr.c: Update.
87011         * modules/mbsstr (Depends-on): Update.
87012         * lib/mbsstr.c: Update.
87013         * modules/setenv (Depends-on): Update.
87014         * lib/setenv.c: Update.
87015         * modules/strcasestr (Depends-on): Update.
87016         * lib/strcasestr.c: Update.
87017         * modules/striconveha (Depends-on): Update.
87018         * lib/striconveha.c: Update.
87019         * modules/relocatable-prog-wrapper (Files): Update.
87020         * lib/relocwrapper.c: Update.
87021         * build-aux/install-reloc: Update.
87022         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
87024 2007-06-08  Bruno Haible  <bruno@clisp.org>
87026         Port to uClibc.
87027         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
87028         * lib/fpurge.c (fpurge): Likewise.
87029         * lib/freading.c (freading): Likewise.
87030         * lib/fseeko.c (rpl_fseeko): Likewise.
87031         * lib/fseterr.c (fseterr): Likewise.
87032         * lib/fwriting.c (fwriting): Likewise.
87033         * tests/test-fflush.c (main): Avoid a failure on uClibc.
87035 2007-06-08  Bruno Haible  <bruno@clisp.org>
87037         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
87038         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
87039         * modules/gettext (Files): Add m4/intlmacosx.m4.
87041 2007-06-07  Bruno Haible  <bruno@clisp.org>
87043         * modules/localename-tests: New file.
87044         * tests/test-localename.c: New file.
87046         New module 'localename'.
87047         * lib/localename.h: New file.
87048         * lib/localename.c: New file, from GNU gettext.
87049         * m4/localename.m4: New file.
87050         * modules/localename: New file.
87052 2007-06-07  Bruno Haible  <bruno@clisp.org>
87054         Work around the lack of <wchar.h> on some builds of uClibc.
87055         * doc/headers/wchar.texi: Update.
87056         * lib/wchar_.h: Include <wchar.h> only if it exists.
87057         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
87058         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
87059         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
87060         doesn't exist.
87061         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
87062         * modules/mbfile (Depends-on): Add wchar.
87063         * modules/mbiter (Depends-on): Likewise.
87064         * modules/mbuiter (Depends-on): Likewise.
87065         Reported by Simon Josefsson.
87067 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87069         Work around problem reported by Steven M. Schweda in
87070         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
87071         Tru64 5.1B with the Compaq compiler environment installed declares
87072         an 'isblank' function but does not define it in the C library.
87073         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
87074         * lib/regex_internal.h (isblank): Likewise.
87075         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
87076         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
87078 2007-06-05  Bruno Haible  <bruno@clisp.org>
87080         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
87081         ia64.
87082         * modules/printf-safe: New file.
87083         * modules/fprintf-posix (Depends-on): Add printf-safe.
87084         * modules/printf-posix (Depends-on): Likewise.
87085         * modules/snprintf-posix (Depends-on): Likewise.
87086         * modules/sprintf-posix (Depends-on): Likewise.
87087         * modules/vasnprintf-posix (Depends-on): Likewise.
87088         * modules/vasprintf-posix (Depends-on): Likewise.
87089         * modules/vfprintf-posix (Depends-on): Likewise.
87090         * modules/vprintf-posix (Depends-on): Likewise.
87091         * modules/vsnprintf-posix (Depends-on): Likewise.
87092         * modules/vsprintf-posix (Depends-on): Likewise.
87093         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
87094         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
87095         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
87096         "no" on i386, x86_64, ia64.
87097         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
87098         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87099         on i386, x86_64, ia64.
87100         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
87101         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87102         on i386, x86_64, ia64.
87103         * tests/test-vasnprintf-posix.c: Include float.h.
87104         (LDBL80_WORDS): New macro.
87105         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87106         on i386, x86_64, ia64.
87107         * tests/test-vasprintf-posix.c: Include float.h.
87108         (LDBL80_WORDS): New macro.
87109         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87110         on i386, x86_64, ia64.
87111         * tests/test-snprintf-posix.c: Include float.h.
87112         * tests/test-sprintf-posix.c: Likewise.
87113         * tests/test-vsnprintf-posix.c: Likewise.
87114         * tests/test-vsprintf-posix.c: Likewise.
87116 2007-06-05  Bruno Haible  <bruno@clisp.org>
87118         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
87119         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
87120         non-IEEE numbers on i386, x86_64, ia64.
87121         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
87122         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
87123         * tests/test-isnanl.h: Include float.h.
87124         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
87126 2007-06-05  Bruno Haible  <bruno@clisp.org>
87128         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
87129         also the %a / %A. Handle the %a / %A code before this extra handling.
87131 2007-06-05  Bruno Haible  <bruno@clisp.org>
87133         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
87134         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
87136 2007-06-05  Bruno Haible  <bruno@clisp.org>
87138         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
87139         typo in variable name.
87141 2007-06-05  Eric Blake  <ebb9@byu.net>
87143         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
87144         Reported by Simon Josefsson.
87146 2007-06-04  Bruno Haible  <bruno@clisp.org>
87148         Avoid test failures on some PowerPC platforms.
87149         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
87150         Define differently for PowerPC.
87151         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
87152         Reported by Gary V. Vaughan <gary@gnu.org>.
87154 2007-06-02  Bruno Haible  <bruno@clisp.org>
87156         Fix test-stdint failure on FreeBSD/ia64.
87157         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
87158         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
87159         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
87160         * doc/headers/stdint.texi: Update.
87162 2007-06-01  Bruno Haible  <bruno@clisp.org>
87164         * tests/test-binary-io.c (main): Pass a third argument to open().
87165         Reported by Gary V. Vaughan <gary@gnu.org>.
87167 2007-06-01  Bruno Haible  <bruno@clisp.org>
87169         * doc/functions/frexpl.texi: Update for mingw.
87171 2007-06-01  Bruno Haible  <bruno@clisp.org>
87173         * tests/test-lseek.c (main): Disable test of errno for invalid third
87174         argument.
87175         * doc/functions/lseek.texi: Update.
87176         Reported by Gary V. Vaughan <gary@gnu.org>.
87178 2007-05-28  Bruno Haible  <bruno@clisp.org>
87180         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
87182 2007-05-31  Eric Blake  <ebb9@byu.net>
87184         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
87185         cross compiling.
87187 2007-05-30  Eric Blake  <ebb9@byu.net>
87188         and Bruno Haible  <bruno@clisp.org>
87190         Work around mingw test failures exposed by m4-1.4.9b.
87191         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
87192         * tests/test-unistd.c: Disable uid_t and git_t tests for the
87193         moment.
87195 2007-05-30  Bruno Haible  <bruno@clisp.org>
87197         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
87198         assuming that they are closed. Needed on HP-UX 11.
87200 2007-05-29  Bruno Haible  <bruno@clisp.org>
87202         Fix a problem with #include_next.
87203         * lib/dirent_.h: Split the double-inclusion guard.
87204         * lib/fcntl_.h: Likewise.
87205         * lib/float_.h: Likewise.
87206         * lib/iconv_.h: Likewise.
87207         * lib/inttypes_.h: Likewise.
87208         * lib/locale_.h: Likewise.
87209         * lib/math_.h: Likewise.
87210         * lib/netinet_in_.h: Likewise.
87211         * lib/search_.h: Likewise.
87212         * lib/signal_.h: Likewise.
87213         * lib/stdint_.h: Likewise.
87214         * lib/stdio_.h: Likewise.
87215         * lib/stdlib_.h: Likewise.
87216         * lib/string_.h: Likewise.
87217         * lib/sys_select_.h: Likewise.
87218         * lib/sys_socket_.h: Likewise.
87219         * lib/sys_stat_.h: Likewise.
87220         * lib/sys_time_.h: Likewise.
87221         * lib/sysexits_.h: Likewise.
87222         * lib/time_.h: Likewise.
87223         * lib/unistd_.h: Likewise.
87224         * lib/wchar_.h: Likewise.
87225         * lib/wctype_.h: Likewise.
87227 2007-05-29  Bruno Haible  <bruno@clisp.org>
87229         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
87230         for the moment.
87232 2007-05-29  Bruno Haible  <bruno@clisp.org>
87234         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
87235         invocation.
87236         Reported by Eric Blake.
87238 2007-05-29  Bruno Haible  <bruno@clisp.org>
87240         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
87241         compiling case.
87243 2007-05-29  Eric Blake  <ebb9@byu.net>
87244             Bruno Haible  <bruno@clisp.org>
87246         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
87247         cross compiles.
87249 2007-05-28  Eric Blake  <ebb9@byu.net>
87251         * modules/closein-tests (test_closein_LDADD): Support test on
87252         cygwin with libtool.
87254 2007-05-28  Bruno Haible  <bruno@clisp.org>
87256         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
87257         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
87258         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
87259         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
87260         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
87261         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
87262         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
87263         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
87264         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
87266 2007-05-28  Eric Blake  <ebb9@byu.net>
87268         Unconditionally include <config.h> in unit tests.
87269         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
87270         * tests/test-allocsa.c, tests/test-arcfour.c,
87271         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
87272         tests/test-array_list.c, tests/test-array_oset.c,
87273         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
87274         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
87275         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
87276         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
87277         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
87278         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
87279         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
87280         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
87281         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
87282         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
87283         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
87284         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
87285         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
87286         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
87287         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
87288         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
87289         test-md5.c, test-memmem.c, test-printf-posix.c,
87290         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
87291         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
87292         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
87293         test-strcasestr.c, test-striconv.c, test-striconveh.c,
87294         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
87295         test-vasnprintf-posix2.c, test-vasnprintf.c,
87296         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
87297         test-vfprintf-posix.c, test-vprintf-posix.c,
87298         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
87299         test-xvasprintf.c: Likewise.
87301 2007-05-28  Bruno Haible  <bruno@clisp.org>
87303         * gnulib-tool (func_import): Remember the --with-tests command-line
87304         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
87305         Reported by Eric Blake.
87307 2007-05-28  Bruno Haible  <bruno@clisp.org>
87309         * modules/ftell-tests: New file.
87310         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
87311         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
87313         * lib/ftell.c: New file.
87314         * modules/ftell: New file.
87315         * m4/ftell.m4: New file.
87316         * doc/functions/ftell.texi: Update.
87317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
87318         REPLACE_FTELL.
87319         * lib/stdio_.h (rpl_ftell): New declaration.
87320         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
87321         REPLACE_FTELL.
87323 2007-05-28  Eric Blake  <ebb9@byu.net>
87325         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
87327 2007-05-28  Bruno Haible  <bruno@clisp.org>
87329         * modules/fseek-tests: New file.
87330         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
87331         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
87333         * lib/fseek.c: New file.
87334         * modules/fseek: New file.
87335         * m4/fseek.m4: New file.
87336         * doc/functions/fseek.texi: Update.
87337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
87338         REPLACE_FSEEK.
87339         * lib/stdio_.h (rpl_fseek): New declaration.
87340         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
87341         REPLACE_FSEEK.
87343 2007-05-28  Bruno Haible  <bruno@clisp.org>
87345         * lib/stdio_.h (fflush): More comments.
87347 2007-05-28  Bruno Haible  <bruno@clisp.org>
87349         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
87350         runtime test.
87352 2007-05-28  Eric Blake  <ebb9@byu.net>
87354         Improve lseek module.
87355         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
87356         * lib/unistd_.h (lseek): Scale back link warning message.
87357         * tests/test-lseek.c: Beef up test.
87358         * tests/test-lseek.sh: Exercise more facets of lseek.
87359         Reported by Bruno Haible.
87361 2007-05-28  Bruno Haible  <bruno@clisp.org>
87363         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
87364         to define.
87366 2007-05-27  Bruno Haible  <bruno@clisp.org>
87368         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
87370 2007-05-27  Bruno Haible  <bruno@clisp.org>
87372         * modules/openmp: New file.
87373         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
87374         Noah Misch.
87376 2007-05-26  Bruno Haible  <bruno@clisp.org>
87378         * modules/chdir-long (Depends-on): Add fchdir.
87379         * modules/chdir-safer (Depends-on): Likewise.
87380         * modules/fts (Depends-on): Likewise.
87381         * modules/fts-lgpl (Depends-on): Likewise.
87382         * modules/openat (Depends-on): Likewise.
87383         * modules/savewd (Depends-on): Likewise.
87385 2007-05-24  Eric Blake  <ebb9@byu.net>
87387         Fix lseek on mingw.
87388         * modules/lseek: New module.
87389         * m4/lseek.m4: New file.
87390         * lib/lseek.c: New file.
87391         * modules/lseek-tests: New file.
87392         * tests/test-lseek.c: New file.
87393         * tests/test-lseek.sh: New file.
87394         * MODULES.html.sh: Document lseek module.
87395         * modules/fflush (Depends-on): Add lseek, fseeko.
87396         * modules/fseeko (Depends-on): Likewise.
87397         * modules/ftello (Depends-on): Likewise.
87398         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
87399         broken.
87400         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
87401         broken.
87402         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
87403         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
87404         * lib/ftello.c (rpl_ftello): Likewise.
87405         * tests/test-fseeko.c (main): Test this.
87406         * tests/test-fseeko.sh: Likewise.
87407         * tests/test-ftello.c (main): Likewise.
87408         * tests/test-ftello.sh: Likewise.
87409         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
87410         implies replacing fseek.
87411         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
87412         HAVE_FTELLO.
87413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
87414         * modules/unistd (Makefile.am): Likewise.
87415         * lib/unistd_.h (lseek): Declare a replacement.
87416         * doc/functions/lseek.texi (lseek): Document this fix.
87417         * doc/functions/fseek.texi (fseek): Likewise.
87418         * doc/functions/ftell.texi (ftell): Likewise.
87420 2007-05-24  Bruno Haible  <bruno@clisp.org>
87422         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
87423         in the printed representation of a NaN.
87424         * tests/test-vasprintf-posix.c (test_function): Likewise.
87425         * tests/test-snprintf-posix.h (test_function): Likewise.
87426         * tests/test-sprintf-posix.h (test_function): Likewise.
87427         Reported by Eric Blake.
87429 2007-05-23  Eric Blake  <ebb9@byu.net>
87431         Fix fseeko/ftello on cygwin 1.5.24.
87432         * doc/functions/fseeko.texi (fseeko): Document the fix.
87433         * doc/functions/ftello.texi (ftello): Document the fix.
87434         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
87435         * doc/functions/stdout.text (stdout): New file.
87436         * doc/functions/stderr.text (stderr): New file.
87437         * doc/gnulib.texi (Function Substitutes): Use new files.
87438         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
87439         prior to 1.7.0.
87440         * tests/test-ftello.c (main): Likewise for ftello.
87441         * tests/test-fseeko.sh: New file.
87442         * tests/test-ftello.sh: New file.
87443         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
87444         with seekable stdin.
87445         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
87446         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
87447         (gl_REPLACE_FSEEKO): New macro.
87448         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
87449         * modules/fseeko (Files): Distribute fseeko.c.
87450         * modules/ftello (Files): Distribute ftello.c.
87451         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
87452         mode.
87453         * lib/ftello.c (rpl_ftello): New file.
87454         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
87455         fseeko, ftello.
87456         (gl_STDIN_LARGE_OFFSET): New macro.
87457         * modules/stdio (Makefile.am): Perform the replacement.
87458         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
87460 2007-05-23  Bruno Haible  <bruno@clisp.org>
87462         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
87463         GNULIB_POSIXCHECK is defined.
87465 2007-05-21  Bruno Haible  <bruno@clisp.org>
87467         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
87468         Check also the output for NaN arguments. When cross-compiling, guess
87469         no on IRIX.
87470         * lib/vasnprintf.c: Update comments.
87471         * tests/test-vasnprintf-posix.c (strisnan): New function.
87472         (test_function): Use it.
87473         * tests/test-vasprintf-posix.c (strisnan): New function.
87474         (test_function): Use it.
87475         * tests/test-snprintf-posix.h (strisnan): New function.
87476         (test_function): Use it.
87477         * tests/test-sprintf-posix.h (strisnan): New function.
87478         (test_function): Use it.
87479         Reported by Eric Blake.
87481 2007-05-20  Bruno Haible  <bruno@clisp.org>
87483         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87484         numbers that fails on BeOS.
87485         * doc/functions/frexpl.texi: Update.
87487 2007-05-20  Jim Meyering  <jim@meyering.net>
87489         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87490         forced upon us by glibc-2.6.
87492 2007-05-20  Bruno Haible  <bruno@clisp.org>
87494         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87495         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87496         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87497         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87498         NEED_PRINTF_INFINITE.
87499         (is_infinitel): New function.
87500         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87502         gl_PREREQ_VASNPRINTF_INFINITE.
87503         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87504         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87505         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87506         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87507         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87508         gl_PREREQ_VASNPRINTF_INFINITE.
87509         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87510         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87511         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87512         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87513         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87514         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87515         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87516         * doc/functions/fprintf.texi: Update.
87517         * doc/functions/printf.texi: Update.
87518         * doc/functions/snprintf.texi: Update.
87519         * doc/functions/sprintf.texi: Update.
87520         * doc/functions/vfprintf.texi: Update.
87521         * doc/functions/vprintf.texi: Update.
87522         * doc/functions/vsnprintf.texi: Update.
87523         * doc/functions/vsprintf.texi: Update.
87525 2007-05-20  Bruno Haible  <bruno@clisp.org>
87527         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87528         was not found in libc.
87529         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87531 2007-05-20  Bruno Haible  <bruno@clisp.org>
87533         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87534         printed as "-nan" instead of "nan".
87535         * tests/test-vasprintf-posix.c (test_function): Likewise.
87536         * tests/test-snprintf-posix.h (test_function): Likewise.
87537         * tests/test-sprintf-posix.h (test_function): Likewise.
87538         Needed for HP-UX 11.
87540 2007-05-20  Jim Meyering  <jim@meyering.net>
87542         Fix buggy test for the fchownat-deref bug.
87543         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87544         symlink required for the run-test.  Without it, this test would
87545         always declare that fchownat doesn't work, and client code would
87546         unnecessarily use the replacement function with fixed libc.
87547         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87548         Reported by Greg Schafer.
87550 2007-05-19  Bruno Haible  <bruno@clisp.org>
87552         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87553         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87554         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87555         Needed for IRIX 6.5 and Solaris 2.5.1.
87557 2007-05-19  Bruno Haible  <bruno@clisp.org>
87559         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87560         (test_function): Skip tests involving -0.0 on platforms where
87561         -0.0 = 0.0.
87562         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87563         (test_function): Skip tests involving -0.0 on platforms where
87564         -0.0 = 0.0.
87565         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87566         (test_function): Skip tests involving -0.0 on platforms where
87567         -0.0 = 0.0.
87568         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87569         (test_function): Skip tests involving -0.0 on platforms where
87570         -0.0 = 0.0.
87571         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87572         tests.
87573         * tests/test-printf-posix.h (test_function): Likewise.
87574         * tests/test-printf-posix.output: Remove all -0.0 related results.
87575         Needed for IRIX 6.5.
87577 2007-05-19  Bruno Haible  <bruno@clisp.org>
87579         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87580         printed as "nan0x7fffffff" instead of "nan".
87581         * tests/test-vasprintf-posix.c (test_function): Likewise.
87582         * tests/test-snprintf-posix.h (test_function): Likewise.
87583         * tests/test-sprintf-posix.h (test_function): Likewise.
87584         * tests/test-fprintf-posix.h (NaN): Remove macro.
87585         (test_function): Remove all NaN related tests.
87586         * tests/test-printf-posix.h (NaN): Remove macro.
87587         (test_function): Remove all NaN related tests.
87588         * tests/test-printf-posix.output: Remove all NaN related results.
87589         Needed for IRIX 6.5.
87591 2007-05-19  Bruno Haible  <bruno@clisp.org>
87593         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87594         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87596 2007-05-19  Bruno Haible  <bruno@clisp.org>
87598         * lib/float_.h: New file.
87599         * m4/float_h.m4: New file.
87600         * modules/float: New file.
87601         * modules/isnanl (Dependencies): Add float.
87602         * modules/isnanl-nolibm (Dependencies): Likewise.
87603         * modules/mathl (Dependencies): Likewise.
87604         * modules/printf-frexpl (Dependencies): Likewise.
87605         * modules/signbit (Dependencies): Likewise.
87606         * modules/vasnprintf (Dependencies): Likewise.
87607         * doc/headers/float.texi: Update.
87609 2007-05-19  Jim Meyering  <jim@meyering.net>
87611         * lib/utimens.c (gl_futimens): Rename from futimens,
87612         now that glibc-2.6 declares futimens.
87613         * lib/utimens.h: Likewise.
87615 2007-05-19  Bruno Haible  <bruno@clisp.org>
87617         Avoid test failures on mingw.
87618         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87619         * tests/test-printf-posix.sh: Likewise.
87620         * tests/test-vfprintf-posix.sh: Likewise.
87621         * tests/test-vprintf-posix.sh: Likewise.
87623 2007-05-19  Bruno Haible  <bruno@clisp.org>
87625         Fix *printf result for NaN, Inf, -0.0 on mingw.
87626         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87627         * lib/vasnprintf.c: Include math.h and isnan.h.
87628         (is_infinite_or_zero): New function.
87629         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87630         values in the %f, %F, %e, %E, %g, %G directives.
87631         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87632         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87633         gl_PRINTF_INFINITE and test its result. Invoke
87634         gl_PREREQ_VASNPRINTF_INFINITE.
87635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87636         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87637         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87638         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87639         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87640         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87641         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87642         * doc/functions/fprintf.texi: Update.
87643         * doc/functions/printf.texi: Update.
87644         * doc/functions/snprintf.texi: Update.
87645         * doc/functions/sprintf.texi: Update.
87646         * doc/functions/vfprintf.texi: Update.
87647         * doc/functions/vprintf.texi: Update.
87648         * doc/functions/vsnprintf.texi: Update.
87649         * doc/functions/vsprintf.texi: Update.
87651 2007-05-19  Bruno Haible  <bruno@clisp.org>
87653         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87654         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87655         Instead of multiplying with 10^k, set extra_zeroes to k.
87656         (scale10_round_long_double): Remove function.
87658 2007-05-18  Bruno Haible  <bruno@clisp.org>
87660         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87661         introduced on 2007-05-06.
87663 2007-05-18  Bruno Haible  <bruno@clisp.org>
87665         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87666         %g directives.
87667         * tests/test-vasprintf-posix.c (test_function): Likewise.
87668         * tests/test-snprintf-posix.h (test_function): Likewise.
87669         * tests/test-sprintf-posix.h (test_function): Likewise.
87671 2007-05-18  Bruno Haible  <bruno@clisp.org>
87673         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87674         (strmatch): New function.
87675         (test_function): Test the %f directive on numbers of various exponents.
87676         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87677         (strmatch): New function.
87678         (test_function): Test the %f directive on numbers of various exponents.
87679         * tests/test-snprintf-posix.h (strmatch): New function.
87680         (test_function): Test the %f directive on numbers of various exponents.
87681         * tests/test-sprintf-posix.h (strmatch): New function.
87682         (test_function): Test the %f directive on numbers of various exponents.
87683         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87684         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87685         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87686         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87688 2007-05-18  Bruno Haible  <bruno@clisp.org>
87690         Add support for 'long double' number output.
87691         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87692         * lib/vasnprintf.c: Include math.h and float+.h.
87693         (mp_limb_t): New type.
87694         (GMP_LIMB_BITS): New macro.
87695         (mp_twolimb_t): New type.
87696         (GMP_TWOLIMB_BITS): New macro.
87697         (mpn_t): New type.
87698         (multiply, divide, convert_to_decimal, decode_long_double,
87699         scale10_round_long_double, scale10_round_decimal_long_double,
87700         floorlog10l): New functions.
87701         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87702         for the %f, %F, %e, %E, %g, %G directives.
87703         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87704         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87705         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87706         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87707         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87708         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87709         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87710         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87711         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87712         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87713         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87714         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87715         * modules/snprintf-posix (Depends-on): Likewise.
87716         * modules/sprintf-posix (Depends-on): Likewise.
87717         * modules/vasnprintf-posix (Depends-on): Likewise.
87718         * modules/vasprintf-posix (Depends-on): Likewise.
87719         * modules/vfprintf-posix (Depends-on): Likewise.
87720         * modules/vsnprintf-posix (Depends-on): Likewise.
87721         * modules/vsprintf-posix (Depends-on): Likewise.
87722         * modules/vasnprintf (Files): Add lib/float+.h.
87723         * doc/functions/fprintf.texi: Update.
87724         * doc/functions/printf.texi: Update.
87725         * doc/functions/snprintf.texi: Update.
87726         * doc/functions/sprintf.texi: Update.
87727         * doc/functions/vfprintf.texi: Update.
87728         * doc/functions/vprintf.texi: Update.
87729         * doc/functions/vsnprintf.texi: Update.
87730         * doc/functions/vsprintf.texi: Update.
87732 2007-05-18  Bruno Haible  <bruno@clisp.org>
87734         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87736 2007-05-18  Bruno Haible  <bruno@clisp.org>
87738         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87739         for printing 64-bit integers. Needed for mingw.
87741 2007-05-18  Bruno Haible  <bruno@clisp.org>
87743         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87744         gl_FUNC_FREXPL_WORKS.
87745         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87747 2007-05-18  Bruno Haible  <bruno@clisp.org>
87749         * modules/frexpl-nolibm-tests: New file.
87751         * modules/frexpl-nolibm: New file.
87752         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87754 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87756         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87757         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87758         GCC 4.2, which otherwise issues a lot of warnings.
87759         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87760         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87761         Likewise.
87762         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87763         * modules/iconv_open (iconv.h): Likewise.
87764         * modules/locale (locale.h): Likewise.
87765         * modules/netinet_in (netinet/in.h): Likewise.
87766         * modules/sys_select (sys_select.h): Likewise.
87767         * modules/sys_socket (sys/socket.h): Likewise.
87768         * modules/sys_stat (sys/stat.h): Likewise.
87769         * modules/sysexits (sysexits.h): Likewise.
87770         * modules/unistd (unistd.h): Likewise.
87772 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87774         * modules/closein-tests (Makefile.am): Distribute
87775         `test-closein.sh'.
87777 2007-05-17  Bruno Haible  <bruno@clisp.org>
87779         * tests/test-printf-posix.output: Renamed from
87780         tests/test-fprintf-posix.out.
87781         * modules/fprintf-posix-tests: Update.
87782         * modules/printf-posix-tests: Update.
87783         * modules/vfprintf-posix-tests: Update.
87784         * modules/vprintf-posix-tests: Update.
87785         * tests/test-fprintf-posix.sh: Update.
87786         * tests/test-printf-posix.sh: Update.
87787         * tests/test-vfprintf-posix.sh: Update.
87788         * tests/test-vprintf-posix.sh: Update.
87789         Reported by Ralf Wildenhues.
87791 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87793         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87794         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87795         GCC 4.2, which otherwise issues a lot of warnings.
87796         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87797         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87798         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87799         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87800         it should no longer be needed.
87801         * lib/string_.h: Likewise.
87802         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87803         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87804         * modules/inttypes (inttypes.h): Likewise.
87805         * modules/math (math.h): Likewise.
87806         * modules/search (search.h): Likewise.
87807         * modules/signal (signal.h): Likewise.
87808         * modules/stdint (stdint.h): Likewise.
87809         * modules/stdio (stdio.h): Likewise.
87810         * modules/stdlib (stdlib.h): Likewise.
87811         * modules/string (string.h): Likewise.
87812         * modules/sys_time (sys/time.h): Likewise.
87813         * modules/time (time.h): Likewise.
87814         * modules/wchar (wchar.h): Likewise.
87815         * modules/wctype (wtype.h): Likewise.
87817 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87819         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87821 2007-05-13  Bruno Haible  <bruno@clisp.org>
87823         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87824         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87825         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87826         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87827         (gl_PREREQ_STRTOK_R): Don't require it here.
87829 2007-05-13  Bruno Haible  <bruno@clisp.org>
87831         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87832         when used in C++ mode.
87834 2007-05-12  Bruno Haible  <bruno@clisp.org>
87836         * lib/linebuffer.h: Tweak doc.
87837         * lib/linebuffer.c: Likewise.
87839 2007-05-12  James Youngman  <jay@gnu.org>
87841         * lib/linebuffer.c (readlinebuffer_delim): New function,
87842         like readlinebuffer, but use a caller-specified delimiter.
87843         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87844         as the delimiter.
87845         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87847 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87849         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87850         * modules/openat (Files): Remove openat-die.c.
87851         (Depends-on): Add openat-die.
87852         * modules/openat-die: New module.
87854 2007-05-06  Bruno Haible  <bruno@clisp.org>
87856         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87857         Update with info about Cygwin.
87858         * doc/functions/fprintf.texi: Update.
87859         * doc/functions/printf.texi: Update.
87860         * doc/functions/snprintf.texi: Update.
87861         * doc/functions/sprintf.texi: Update.
87862         * doc/functions/vfprintf.texi: Update.
87863         * doc/functions/vprintf.texi: Update.
87864         * doc/functions/vsnprintf.texi: Update.
87865         * doc/functions/vsprintf.texi: Update.
87866         Reported by Eric Blake.
87868 2007-05-06  Bruno Haible  <bruno@clisp.org>
87870         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87871         padding ourselves for the floating-point directives.
87872         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87874         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87875         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87876         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87878         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87884         * tests/test-snprintf-posix.h (test_function): Also check the width
87885         and some flags in the %f directive.
87886         * tests/test-sprintf-posix.h (test_function): Likewise.
87887         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87888         * tests/test-vasprintf-posix.c (test_function): Likewise.
87889         * doc/functions/fprintf.texi: Update.
87890         * doc/functions/printf.texi: Update.
87891         * doc/functions/snprintf.texi: Update.
87892         * doc/functions/sprintf.texi: Update.
87893         * doc/functions/vfprintf.texi: Update.
87894         * doc/functions/vprintf.texi: Update.
87895         * doc/functions/vsnprintf.texi: Update.
87896         * doc/functions/vsprintf.texi: Update.
87898 2007-05-06  Bruno Haible  <bruno@clisp.org>
87900         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87901         pass the ' flag character to sprintf or snprintf.
87902         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87903         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87904         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87905         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87906         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87907         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87908         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87910         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87914         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87915         flag.
87916         * tests/test-sprintf-posix.h (test_function): Likewise.
87917         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87918         * tests/test-vasprintf-posix.c (test_function): Likewise.
87919         * doc/functions/fprintf.texi: Update.
87920         * doc/functions/printf.texi: Update.
87921         * doc/functions/snprintf.texi: Update.
87922         * doc/functions/sprintf.texi: Update.
87923         * doc/functions/vfprintf.texi: Update.
87924         * doc/functions/vprintf.texi: Update.
87925         * doc/functions/vsnprintf.texi: Update.
87926         * doc/functions/vsprintf.texi: Update.
87928 2007-05-01  Bruno Haible  <bruno@clisp.org>
87930         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87932 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87934         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87935         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87937 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87939         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87940         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87941         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87943 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87945         * lib/argp-help.c (struct hol_entry): New member `ord'.
87946         (HOL_ENTRY_PTRCMP): Use ord for comparison
87947         (hol_sort): Initialize ord.
87949 2007-05-01  Bruno Haible  <bruno@clisp.org>
87951         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87952         Reported by Eric Blake.
87953         * doc/gnulib.texi (Function Substitutes): Update.
87955 2007-05-01  Bruno Haible  <bruno@clisp.org>
87957         * doc/functions.texi: Remove file, now redundant through
87958         doc/functions/*.texi.
87960 2007-05-01  Bruno Haible  <bruno@clisp.org>
87962         * modules/argp (Depends-on): Add sleep.
87964 2007-05-01  Bruno Haible  <bruno@clisp.org>
87966         * modules/sleep-tests: New file.
87967         * tests/test-sleep.c: New file.
87969         * modules/sleep: New file.
87970         * lib/sleep.c: New file.
87971         * m4/sleep.m4: New file.
87972         * lib/unistd_.h (sleep): New declaration.
87973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87974         HAVE_SLEEP.
87975         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87976         * doc/functions/sleep.texi: Document the sleep module.
87978 2007-05-01  Bruno Haible  <bruno@clisp.org>
87980         * lib/sigprocmask.h: Remove file.
87981         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87982         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87983         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87984         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87985         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87986         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87987         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87988         HAVE_SIGSET_T as a shell variable.
87989         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87990         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87991         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87992         (Depends-on): Add signal. Remove verify.
87993         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87994         (Include): Mention <signal.h> instead of sigprocmask.h.
87995         * NEWS: Mention the change.
87996         * lib/fatal-signal.c: Don't include sigprocmask.h.
87998 2007-05-01  Bruno Haible  <bruno@clisp.org>
88000         * modules/signal: New file.
88001         * lib/signal_.h: New file.
88002         * m4/signal_h.m4: New file.
88004 2007-05-01  Bruno Haible  <bruno@clisp.org>
88006         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
88007         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
88008         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
88009         HAVE_WCTYPE_CTMP_BUG into wctype.h.
88011 2007-05-01  Bruno Haible  <bruno@clisp.org>
88013         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
88014         configure time.
88015         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
88016         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
88017         * modules/sys_stat (Makefile.am): Substitute their values into
88018         sys/stat.h.
88020 2007-05-01  Bruno Haible  <bruno@clisp.org>
88022         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
88023         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
88024         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
88026 2007-05-01  Bruno Haible  <bruno@clisp.org>
88028         * doc/header/assert.texi: Undo last change: don't mention the gnulib
88029         'assert' module here.
88031 2007-05-01  Bruno Haible  <bruno@clisp.org>
88033         * doc/functions/*.texi: New files.
88034         * doc/functions/google-ranking.txt: New file.
88035         * doc/gnulib.texi (Function Substitutes): New chapter.
88036         (ctime, inet_ntoa): Remove sections.
88037         * doc/ctime.texi: Remove file.
88038         * doc/inet_ntoa.texi: Remove file.
88039         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
88040         dependencies.
88041         (%.info): New rule, specifying a --reference-limit.
88043 2007-05-01  Bruno Haible  <bruno@clisp.org>
88045         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
88047 2007-05-01  Bruno Haible  <bruno@clisp.org>
88049         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
88050         the portability of 'mkdir' to mingw systems.
88052 2007-05-01  Bruno Haible  <bruno@clisp.org>
88054         * doc/headers/google-ranking.txt: New file.
88056 2007-04-30  Eric Blake  <ebb9@byu.net>
88058         Prefer fseeko to fseek.
88059         * modules/getpass (Depends-on): Add fseeko.
88060         * lib/getpass.c (getpass): Use fseeko, not fseek.
88062 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
88064         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
88065         assumes the sorting is stable, while most qsort implementations
88066         are not.  Use argument addresses to ensure they never compare as
88067         equal.
88069         * tests/test-argp-2.sh (usage-indent test): Fix output
88070         (func_compare): Restore diff options
88071         * tests/test-argp.c: Restore #include "progname.h"
88073 2007-04-29  Bruno Haible  <bruno@clisp.org>
88075         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
88076         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88077         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
88078         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88079         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
88080         (configure.ac): Define CHECK_SNPRINTF_POSIX.
88081         (TESTS, check_PROGRAMS): Add test-snprintf.
88082         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
88083         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
88084         (TESTS, check_PROGRAMS): Add test-vsnprintf.
88085         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
88086         assertions that fail on HP-UX, OSF/1, or IRIX.
88087         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
88089 2007-04-29  Bruno Haible  <bruno@clisp.org>
88091         * MODULES.html.sh (posix_functions): Remove 'contents'.
88093 2007-04-29  Karl Berry  <karl@gnu.org>
88095         * config/srclist.txt (gendocs_template_min): new entry.
88097 2007-04-29  Bruno Haible  <bruno@clisp.org>
88099         Work around fpurge bug on BSD systems.
88100         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
88101         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
88102         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
88103         fpurge to rpl_fpurge if the system already has this function.
88104         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
88105         the case where the system already has this function. Correct invariants
88106         on BSD systems.
88107         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
88108         BSD systems.
88110 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
88112         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
88113         proposed by Sven Verdoolaege.
88115         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
88116         options.
88117         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
88118         (usage and help tests): Update
88120 2007-04-29  Bruno Haible  <bruno@clisp.org>
88122         * tests/test-fflush.c (main): Use a file of size 17, not 10.
88123         Print more information in case of failure. Disable a test on BeOS.
88125 2007-04-29  Bruno Haible  <bruno@clisp.org>
88127         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
88128         This helps debugging on systems on which no gdb is available.
88130 2007-04-29  Bruno Haible  <bruno@clisp.org>
88132         * lib/freading.h: Improve comments.
88133         * lib/fwriting.h: Likewise.
88134         * tests/test-freading.c (main): Don't check freading immediately after
88135         repositioning. Needed for glibc.
88137 2007-04-29  Bruno Haible  <bruno@clisp.org>
88139         * lib/freading.c (freading): Trivial simplification.
88141 2007-04-28  Bruno Haible  <bruno@clisp.org>
88143         * tests/test-fwriting.c (main): Also test the interaction between
88144         fflush and fwriting.
88145         * modules/fwriting-tests (Depends-on): Add fflush.
88147         * tests/test-freading.c (main): Also test the interaction between
88148         fflush and freading.
88149         * modules/freading-tests (Depends-on): Add fflush.
88151 2007-04-28  Bruno Haible  <bruno@clisp.org>
88153         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
88154         fseeko and ftello.
88155         Suggested by Eric Blake.
88157 2007-04-28  Jim Meyering  <jim@meyering.net>
88159         Avoid false-negative in gl_STDINT_H's C99 conformance test.
88160         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
88161         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
88163 2007-04-27  Eric Blake  <ebb9@byu.net>
88165         * doc/headers/assert.texi (assert.h): Document assert module use.
88167 2007-04-27  Bruno Haible  <bruno@clisp.org>
88169         * doc/headers/*.texi: New files.
88170         * doc/gnulib.texi (Header File Substitutes): New chapter.
88171         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
88172         dependencies.
88173         (standards.info ,standards.html, standards.dvi): Update dependencies.
88174         (mostlyclean, clean): New targets.
88176 2007-04-27  Bruno Haible  <bruno@clisp.org>
88178         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
88179         * modules/sysexits (Files, Makefile.am): Update.
88181         * lib/sys_socket_.h: Renamed from lib/socket_.h.
88182         * modules/sys_socket (Files, Makefile.am): Update.
88184         * lib/sys_stat_.h: Renamed from lib/stat_.h.
88185         * modules/sys_stat (Files, Makefile.am): Update.
88187 2007-04-27  Eric Blake  <ebb9@byu.net>
88189         * lib/freading.h: Improve comments.
88190         * lib/fwriting.h: Likewise.
88191         * lib/fflush.c: Likewise.
88193         Fix closein for mingw.
88194         * modules/closein-tests: Add tests for closein.
88195         * tests/test-closein.c: New file.
88196         * tests/test-closein.sh: Likewise.
88197         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
88198         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
88200 2007-04-27  Bruno Haible  <bruno@clisp.org>
88202         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
88203         version is < 6.
88204         * lib/math_.h [__DECC]: Likewise.
88205         * lib/stdio_.h [__DECC]: Likewise.
88206         * lib/stdlib_.h [__DECC]: Likewise.
88207         * lib/string_.h [__DECC]: Likewise.
88208         * lib/time_.h [__DECC]: Likewise.
88209         * lib/wchar_.h [__DECC]: Likewise.
88210         * lib/wctype_.h [__DECC]: Likewise.
88212 2007-04-27  Bruno Haible  <bruno@clisp.org>
88214         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
88216 2007-04-27  Bruno Haible  <bruno@clisp.org>
88218         * lib/fflush.c: Add comments.
88219         * modules/fpurge-tests (Depends-on): Add fflush.
88220         * modules/freadable-tests (Depends-on): Likewise.
88221         * modules/fwritable-tests (Depends-on): Likewise.
88223 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
88225         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
88226         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
88227         Report by Bruno Haible <bruno@clisp.org>.
88229 2007-04-26  Eric Blake  <ebb9@byu.net>
88231         Fix fflush on mingw.
88232         * modules/fflush (Depends-on): Add freading.
88233         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
88234         but unread data.
88236 2007-04-26  Eric Blake  <ebb9@byu.net>
88237         and Bruno Haible  <bruno@clisp.org>
88239         Implement freading and fwriting.
88240         * lib/freading.c: New file.
88241         * lib/freading.h: Likewise.
88242         * m4/freading.m4: Likewise.
88243         * modules/freading: Likewise.
88244         * modules/freading-tests: Likewise.
88245         * tests/test-freading.c: Likewise.
88246         * lib/fwriting.c: New file.
88247         * lib/fwriting.h: Likewise.
88248         * m4/fwriting.m4: Likewise.
88249         * modules/fwriting: Likewise.
88250         * modules/fwriting-tests: Likewise.
88251         * tests/test-fwriting.c: Likewise.
88252         * MODULES.html.sh (File stream based Input/Output): Mention them.
88254 2007-04-26  Bruno Haible  <bruno@clisp.org>
88256         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
88257         'long' when we assume it.
88258         Suggested by Eric Blake.
88260 2007-04-26  Bruno Haible  <bruno@clisp.org>
88262         Ensure fseeko, ftello are declared on glibc systems.
88263         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
88264         * modules/fseeko (configure.ac-early): Likewise.
88265         * modules/ftello (configure.ac-early): Likewise.
88266         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
88267         AC_FUNC_FSEEKO for this.
88268         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
88269         (gl_CHECK_FSEEKO): Remove macro.
88271 2007-04-26  Bruno Haible  <bruno@clisp.org>
88273         * tests/test-fflush.c (main): Also check the ftell result after
88274         fflush and fseek/fseeko.
88275         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
88276         file descriptor position cache in the stream.
88277         * lib/fseeko.c (rpl_fseeko): Likewise.
88279 2007-04-26  Bruno Haible  <bruno@clisp.org>
88281         * modules/fflush-tests (Depends-on): Add fseeko.
88283 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
88284             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88286         * lib/argz_.h: ensure error_t definition is obtained in same
88287         mechanism system argz.h would have.
88288         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
88289         argz facilities are known bad.  Err on the side of caution if
88290         cross-compiling.
88292 2007-04-25  Eric Blake  <ebb9@byu.net>
88294         * lib/fpurge.c (includes): Use stdlib.h for free.
88295         * tests/test-fflush.c (main): Also test fflush-fseeko.
88297 2007-04-25  Bruno Haible  <bruno@clisp.org>
88299         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
88300         * lib/fseeko.c: New file.
88301         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
88302         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
88303         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
88304         gl_FUNC_FSEEKO.
88305         (gl_FUNC_FSEEKO): Invoke it.
88306         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
88307         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
88308         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
88310 2007-04-25  Bruno Haible  <bruno@clisp.org>
88312         * modules/fflush (Depends-on): Add ftello.
88314 2007-04-25  Bruno Haible  <bruno@clisp.org>
88316         * modules/ftello-tests: New file.
88317         * tests/test-ftello.c: New file.
88319         * modules/ftello: New file.
88320         * m4/ftello.m4: New file.
88321         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
88322         HAVE_FTELLO.
88323         * lib/stdio_.h (ftello): New declaration.
88324         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
88325         HAVE_FTELLO.
88327 2007-04-25  Bruno Haible  <bruno@clisp.org>
88329         * modules/fseeko-tests: New file.
88330         * tests/test-fseeko.c: New file.
88332         * modules/fseeko: New file.
88333         * m4/fseeko.m4: New file.
88334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
88335         HAVE_FSEEKO.
88336         * lib/stdio_.h (fseeko): New declaration.
88337         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
88338         HAVE_FSEEKO.
88340 2007-04-25  Bruno Haible  <bruno@clisp.org>
88342         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
88344 2007-04-25  Bruno Haible  <bruno@clisp.org>
88346         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
88347         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
88348         * tests/test-unistd.c: Likewise.
88349         * tests/test-fcntl.c: Likewise.
88351 2007-04-23  Eric Blake  <ebb9@byu.net>
88353         * lib/fflush.c: Fix missing include.
88354         Reported by Bruno Haible.
88356 2007-04-23  Bruno Haible  <bruno@clisp.org>
88358         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
88359         Reported by Eric Blake.
88361 2007-04-23  Bruno Haible  <bruno@clisp.org>
88363         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
88365 2007-04-23  Bruno Haible  <bruno@clisp.org>
88367         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
88369 2007-04-23  Bruno Haible  <bruno@clisp.org>
88371         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
88372         Needed on HP-UX 11.
88374 2007-04-16  Eric Blake  <ebb9@byu.net>
88376         Make fflush rely on fpurge.
88377         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
88378         open coding all variants.
88379         * modules/fflush (Depends-on): Add fpurge and unistd.
88380         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
88381         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
88383         Fix --with-tests compilation on cygwin.
88384         * modules/argmatch-tests (Makefile.am): List gnulib library first
88385         in LDADD.
88386         * modules/argp-tests (Makefile.am): Likewise.
88387         * modules/array-list-tests (Makefile.am): Likewise.
88388         * modules/array-oset-tests (Makefile.am): Likewise.
88389         * modules/avltree-list-tests (Makefile.am): Likewise.
88390         * modules/avltree-oset-tests (Makefile.am): Likewise.
88391         * modules/avltreehash-list-tests (Makefile.am): Likewise.
88392         * modules/carray-list-tests (Makefile.am): Likewise.
88393         * modules/dirname-tests (Makefile.am): Likewise.
88394         * modules/frexp-tests (Makefile.am): Likewise.
88395         * modules/isnanl-tests (Makefile.am): Likewise.
88396         * modules/linked-list-tests (Makefile.am): Likewise.
88397         * modules/linkedhash-list-tests (Makefile.am): Likewise.
88398         * modules/lock-tests (Makefile.am): Likewise.
88399         * modules/rbtree-list-tests (Makefile.am): Likewise.
88400         * modules/rbtree-oset-tests (Makefile.am): Likewise.
88401         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
88402         * modules/tls-tests (Makefile.am): Likewise.
88403         * modules/tsearch-tests (Makefile.am): Likewise.
88404         * modules/xvasprintf-tests (Makefile.am): Likewise.
88406         Fix fpurge for cygwin.
88407         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
88408         value.
88409         * modules/fpurge-tests (Depends-on): Clean up trash.
88411 2007-04-16  Simon Josefsson  <simon@josefsson.org>
88413         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
88415         * m4/autobuild.m4: Re-indent.
88417 2007-04-13  Bruno Haible  <bruno@clisp.org>
88419         * modules/fpurge-tests: New file.
88420         * tests/test-fpurge.c: New file.
88422         * modules/fpurge: New file.
88423         * lib/fpurge.h: New file.
88424         * lib/fpurge.c: New file.
88425         * m4/fpurge.m4: New file.
88427 2007-04-13  Bruno Haible  <bruno@clisp.org>
88429         * modules/fbufmode-tests: New file.
88430         * tests/test-fbufmode.c: New file.
88432         * modules/fbufmode: New file.
88433         * lib/fbufmode.h: New file.
88434         * lib/fbufmode.c: New file.
88435         * m4/fbufmode.m4: New file.
88437 2007-04-13  Bruno Haible  <bruno@clisp.org>
88439         * modules/fwritable-tests: New file.
88440         * tests/test-fwritable.c: New file.
88442         * modules/fwritable: New file.
88443         * lib/fwritable.h: New file.
88444         * lib/fwritable.c: New file.
88445         * m4/fwritable.m4: New file.
88447 2007-04-13  Bruno Haible  <bruno@clisp.org>
88449         * modules/freadable-tests: New file.
88450         * tests/test-freadable.c: New file.
88452         * modules/freadable: New file.
88453         * lib/freadable.h: New file.
88454         * lib/freadable.c: New file.
88455         * m4/freadable.m4: New file.
88457 2007-04-13  Bruno Haible  <bruno@clisp.org>
88459         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
88460         MOSTLYCLEANFILES.
88462 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88464         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
88465         gzip bootstrap.conf to avoid dragging in i18n machinery.
88466         (gnulib_tool_option): Use it.
88468 2007-04-13  Bruno Haible  <bruno@clisp.org>
88470         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88471         %F directives.
88472         * tests/test-vasprintf-posix.c (test_function): Likewise.
88473         * tests/test-snprintf-posix.h (test_function): Likewise.
88474         * tests/test-sprintf-posix.h (test_function): Likewise.
88475         * tests/test-fprintf-posix.h (test_function): Likewise.
88476         * tests/test-printf-posix.h (test_function): Likewise.
88477         * tests/test-fprintf-posix.out: Likewise.
88479 2007-04-13  Bruno Haible  <bruno@clisp.org>
88481         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88482         * modules/tls-tests (configure.ac): Likewise.
88483         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88485 2007-04-13  Bruno Haible  <bruno@clisp.org>
88487         * lib/tls.c (glthread_tls_get): Fix return type.
88488         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88490 2007-04-12  Eric Blake  <ebb9@byu.net>
88492         * modules/gettime (Depends-on): Remove gettime.
88493         Reported by Dmitry V. Levin.
88495 2007-04-12  Bruno Haible  <bruno@clisp.org>
88497         * modules/fflush (Include): Mention <stdio.h>.
88498         * modules/strtoimax (Include): Mention <inttypes.h>.
88499         * modules/strtoumax (Include): Likewise.
88501 2007-04-12  Eric Blake  <ebb9@byu.net>
88503         * .cvsignore: New file.
88504         * .gitignore: Likewise.
88506 2007-04-12  Bruno Haible  <bruno@clisp.org>
88508         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88509         not before, since $(LDADD) often contains libgnu.a.
88510         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88511         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88512         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88513         Needed on Cygwin.
88515 2007-04-12  Eric Blake  <ebb9@byu.net>
88517         Work around glibc's failure to flush stdin on fclose.
88518         * lib/closein.c (close_stdin): Flush stdin before closing.
88520         Work around glibc's failure to reset seekable stdin on exit.
88521         * modules/closein: New module.
88522         * lib/closein.c: New file.
88523         * lib/closein.h: Likewise.
88524         * m4/closein.m4: Likewise.
88525         * MODULES.html.sh (File stream based Input/Output): Document it.
88527 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88529         * gnulib-tool: Rename generated 'autobuild' script to
88530         'do-autobuild' in --create-megatestdir output.
88532         * doc/gnulib.texi (Build robot for gnulib): Fix.
88534 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88536         * modules/sysexits (Depends-on): Add absolute-header.
88538 2007-04-12  Eric Blake  <ebb9@byu.net>
88540         No need to preserve errno on success.
88541         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88542         Reported by Bruno Haible.
88544 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88546         * MODULES.html.sh (Support for maintaining and releasing
88547         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88549 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88551         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88553 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88555         * modules/autobuild: New module.
88557         * m4/autobuild.m4: New file.
88559 2007-04-11  Bruno Haible  <bruno@clisp.org>
88561         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88562         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88563         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88564         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88565         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88566         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88567         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88568         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88569         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88570         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88571         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88572         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88573         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88574         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88575         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88576         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88577         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88578         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88579         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88580         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88581         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88582         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88583         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88584         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88585         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88586         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88587         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88588         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88589         Reported by Eric Blake.
88591 2007-04-11  Bruno Haible  <bruno@clisp.org>
88593         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88595 2007-04-10  Bruno Haible  <bruno@clisp.org>
88597         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88598         for NaN and Infinity. Needed on FreeBSD 6.1.
88599         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88600         regarding results for "%010a" of Infinity and NaN.
88601         * tests/test-vasprintf-posix.c (test_function): Likewise.
88602         * tests/test-snprintf-posix.h (test_function): Likewise.
88603         * tests/test-sprintf-posix.h (test_function): Likewise.
88604         * tests/test-fprintf-posix.h (test_function): Likewise.
88605         * tests/test-printf-posix.h (test_function): Likewise.
88606         * tests/test-fprintf-posix.out: Likewise.
88608 2007-04-10  Bruno Haible  <bruno@clisp.org>
88610         * modules/locale-tests: New file.
88611         * tests/test-locale.c: New file.
88613         * modules/locale: New file.
88614         * lib/locale_.h: New file.
88615         * m4/locale_h.m4: New file.
88617 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88618             Bruno Haible  <bruno@clisp.org>
88620         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88621         be determined, test for availability of the copysignf, copysign,
88622         copysignl functions.
88623         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88624         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88625         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88627 2007-04-09  Eric Blake  <ebb9@byu.net>
88629         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88630         * modules/stdio (Makefile.am): Support fflush.
88631         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88632         * modules/fflush: New file.
88633         * lib/fflush.c: Likewise.
88634         * m4/fflush.m4: Likewise.
88635         * modules/fflush-tests: New test.
88636         * tests/test-fflush.c: Likewise.
88637         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88639 2007-04-06  Bruno Haible  <bruno@clisp.org>
88641         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88642         (VASNPRINTF): Use signbit for faster determination whether to print a
88643         minus sign.
88644         * modules/vasnprintf (Files): Remove lib/float+.h.
88645         * modules/fprintf-posix (Depends-on): Add signbit.
88646         * modules/snprintf-posix (Depends-on): Likewise.
88647         * modules/sprintf-posix (Depends-on): Likewise.
88648         * modules/vasnprintf-posix (Depends-on): Likewise.
88649         * modules/vasprintf-posix (Depends-on): Likewise.
88650         * modules/vfprintf-posix (Depends-on): Likewise.
88651         * modules/vsnprintf-posix (Depends-on): Likewise.
88652         * modules/vsprintf-posix (Depends-on): Likewise.
88654 2007-04-06  Bruno Haible  <bruno@clisp.org>
88656         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88657         * tests/test-frexpl.c (main): Likewise.
88658         * tests/test-ldexpl.c (main): Likewise.
88659         * modules/frexp-tests (Depends-on): Add signbit.
88660         * modules/frexpl-tests (Depdends-on): Likewise.
88661         * modules/ldexpl-tests (Depdends-on): Likewise.
88663 2007-04-06  Bruno Haible  <bruno@clisp.org>
88665         * modules/signbit-tests: New file.
88666         * tests/test-signbit.c: New file.
88668         * modules/signbit: New file.
88669         * lib/signbitf.c: New file.
88670         * lib/signbitd.c: New file.
88671         * lib/signbitl.c: New file.
88672         * m4/signbit.m4: New file.
88673         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88674         (signbit): New macro.
88675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88676         REPLACE_SIGNBIT.
88677         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88678         REPLACE_FREXPL into math.h.
88680 2007-04-06  Bruno Haible  <bruno@clisp.org>
88682         * modules/isnanf-nolibm-tests: New file.
88683         * tests/test-isnanf.c: New file.
88685         * modules/isnanf-nolibm: New file.
88686         * lib/isnanf.h: New file.
88687         * lib/isnanf.c: New file.
88688         * lib/isnan.c: Consider the USE_FLOAT macro.
88689         * m4/isnanf.m4: New file.
88691 2007-04-06  Bruno Haible  <bruno@clisp.org>
88693         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88694         (Link): New section.
88696         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88698 2007-04-06  Bruno Haible  <bruno@clisp.org>
88700         Assume the 'long double' type.
88701         * m4/longdouble.m4: Remove file.
88702         * config/srclist.txt: Don't mention longdouble.m4.
88703         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88704         * lib/float+.h: Likewise.
88705         * lib/frexp.c: Likewise.
88706         * lib/printf-args.h: Likewise.
88707         * lib/printf-args.c: Likewise.
88708         * lib/printf-frexp.c: Likewise.
88709         * lib/printf-parse.c: Likewise.
88710         * lib/vasnprintf.c: Likewise.
88711         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88712         * m4/intl.m4: Likewise.
88713         * m4/isnanl.m4: Likewise.
88714         * m4/printf.m4: Likewise.
88715         * m4/printf-frexpl.m4: Likewise.
88716         * m4/vasnprintf.m4: Likewise.
88717         * modules/allocsa (Files): Remove m4/longdouble.m4.
88718         * modules/gettext (Files): Likewise.
88719         * modules/relocatable-prog-wrapper (Files): Likewise.
88720         * modules/vasnprintf (Files): Likewise.
88721         * modules/isnanl (Files): Likewise.
88722         (Include): Simplify.
88723         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88724         (Include): Simplify.
88725         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88726         (Include): Simplify.
88727         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88728         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88729         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88730         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88731         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88732         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88733         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88734         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88735         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88736         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88737         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88738         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88739         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88740         * tests/test-isnanl.c: Likewise.
88741         * tests/test-snprintf-posix.h: Likewise.
88742         * tests/test-sprintf-posix.h: Likewise.
88743         * tests/test-vasnprintf-posix.c: Likewise.
88744         * tests/test-vasnprintf-posix2.c: Likewise.
88745         * tests/test-vasprintf-posix.c: Likewise.
88747 2007-04-06  Bruno Haible  <bruno@clisp.org>
88749         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88750         * lib/math_.h [__DECC]: Include the overridden include file through
88751         #include_next, outside the double-inclusion guard.
88752         * lib/stdio_.h [__DECC]: Likewise.
88753         * lib/stdlib_.h [__DECC]: Likewise.
88754         * lib/string_.h [__DECC]: Likewise.
88755         * lib/time_.h [__DECC]: Likewise.
88756         * lib/wchar_.h [__DECC]: Likewise.
88757         * lib/wctype_.h [__DECC]: Likewise.
88758         * lib/inttypes_.h [__DECC]: Likewise.
88759         Reported by Albert Chin <china@thewrittenword.com> in
88760         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88762 2007-04-04  Eric Blake  <ebb9@byu.net>
88764         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88765         1.5.x.
88767 2007-04-04  Bruno Haible  <bruno@clisp.org>
88769         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88770         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88772 2007-04-04  Bruno Haible  <bruno@clisp.org>
88774         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88775         results for "%010a" of Infinity and NaN.
88776         * tests/test-vasprintf-posix.c (test_function): Likewise.
88777         * tests/test-snprintf-posix.h (test_function): Likewise.
88778         * tests/test-sprintf-posix.h (test_function): Likewise.
88779         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88780         * tests/test-printf-posix.h (test_function): Likewise.
88781         * tests/test-fprintf-posix.out: Update.
88782         Needed for FreeBSD 6.1.
88784 2007-04-04  Bruno Haible  <bruno@clisp.org>
88786         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88787         directly used by the gnulib modules nor by gnulib-tool.
88789 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88791         * DEPENDENCIES: Give overall description of version dependency
88792         desirability.  Use more-typical names for apps.
88793         Add shell, coreutils, diffutils, grep, tar, gzip.
88795 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88797         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88799 2007-04-04  Karl Berry  <karl@gnu.org>
88801         * MODULES.html.sh (func_module): missing '.
88803 2007-04-03  Bruno Haible  <bruno@clisp.org>
88805         * modules/argmatch-tests (Makefile.am): New variable
88806         test_argmatch_LDADD.
88807         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88808         * modules/array-list-tests (Makefile.am): New variable
88809         test_array_list_LDADD.
88810         * modules/array-oset-tests (Makefile.am): New variable
88811         test_array_oset_LDADD.
88812         * modules/avltree-list-tests (Makefile.am): New variable
88813         test_avltree_list_LDADD.
88814         * modules/avltree-oset-tests (Makefile.am): New variable
88815         test_avltree_oset_LDADD.
88816         * modules/avltreehash-list-tests (Makefile.am): New variable
88817         test_avltreehash_list_LDADD.
88818         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88819         test_canonicalize_lgpl_LDADD.
88820         * modules/carray-list-tests (Makefile.am): New variable
88821         test_carray_list_LDADD.
88822         * modules/dirname-tests (Makefile.am): New variable
88823         test_dirname_LDADD.
88824         * modules/linked-list-tests (Makefile.am): New variable
88825         test_linked_list_LDADD.
88826         * modules/linkedhash-list-tests (Makefile.am): New variable
88827         test_linkedhash_list_LDADD.
88828         * modules/rbtree-list-tests (Makefile.am): New variable
88829         test_rbtree_list_LDADD.
88830         * modules/rbtree-oset-tests (Makefile.am): New variable
88831         test_rbtree_oset_LDADD.
88832         * modules/rbtreehash-list-tests (Makefile.am): New variable
88833         test_rbtreehash_list_LDADD.
88834         * modules/xvasprintf-tests (Makefile.am): New variable
88835         test_xvasprintf_LDADD.
88836         Reported by Eric Blake.
88838 2007-04-03  Eric Blake  <ebb9@byu.net>
88840         * DEPENDENCIES: Weaken m4 requirements.
88842 2007-04-03  Bruno Haible  <bruno@clisp.org>
88844         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88845         * modules/isnanl-tests (configure.ac): Likewise.
88847 2007-04-03  Ben Pfaff  <blp@gnu.org>
88849         * modules/iconv_open: Add $(srcdir)/ to source directory
88850         references in Makefile fragments that call gperf, to fix VPATH
88851         builds.
88853 2007-04-03  Bruno Haible  <bruno@clisp.org>
88855         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88856         * lib/ldexpl.c: Undo last change.
88858 2007-04-03  Bruno Haible  <bruno@clisp.org>
88860         * modules/printf-frexpl (Depends-on): Undo last change.
88861         (Files): Add m4/ldexpl.m4.
88863 2007-04-03  Bruno Haible  <bruno@clisp.org>
88865         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88866         * modules/isnanl (Link): New section.
88868         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88869         * modules/frexp (Link): New section.
88871         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88872         * modules/frexpl (Link): New section.
88874         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88875         * modules/ldexpl (Link): New section.
88877 2007-04-03  Bruno Haible  <bruno@clisp.org>
88879         * modules/TEMPLATE-EXTENDED: New file.
88880         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88882 2007-04-03  Bruno Haible  <bruno@clisp.org>
88884         * DEPENDENCIES: New file.
88885         Suggested by Simon Josefsson.
88887 2007-04-03  Bruno Haible  <bruno@clisp.org>
88889         * doc/gnulib.texi: Escape @.
88891 2007-04-03  James Youngman  <jay@gnu.org>
88892         and Paul Eggert  <eggert@cs.ucla.edu>
88894         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88895         birthtime on all systems that have birthtime, not just those which
88896         use st_birthtimensec rather than st_birthtim.  Putting zero in
88897         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88898         that the birth time is not available for files on an NFS mount.
88900 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88902         * modules/memxor: Move back from crypto/, suggested by Bruno.
88903         * modules/crypto/hmac-sha1: Fix memxor dependency.
88905         * modules/crypto/gc: Moved from ../.
88907 2007-04-02  Eric Blake  <ebb9@byu.net>
88909         * lib/ldexpl.c (includes): Avoid libm.
88911         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88913 2007-04-02  Bruno Haible  <bruno@clisp.org>
88915         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88916         on IRIX.
88918 2007-04-02  Bruno Haible  <bruno@clisp.org>
88920         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88921         x86 or x86_64 platforms running MacOS X.
88922         Reported by Ryan Schmidt <@ryandesign.com>.
88924 2007-04-02  Bruno Haible  <bruno@clisp.org>
88926         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88927         i386.
88929 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88931         * modules/crypto/arcfour: Moved from ../.
88932         * modules/crypto/arcfour-tests: Moved from ../.
88933         * modules/crypto/arctwo: Moved from ../.
88934         * modules/crypto/arctwo-tests: Moved from ../.
88935         * modules/crypto/des: Moved from ../.
88936         * modules/crypto/des-tests: Moved from ../.
88937         * modules/crypto/gc-arcfour: Moved from ../.
88938         * modules/crypto/gc-arcfour-tests: Moved from ../.
88939         * modules/crypto/gc-arctwo: Moved from ../.
88940         * modules/crypto/gc-arctwo-tests: Moved from ../.
88941         * modules/crypto/gc-des: Moved from ../.
88942         * modules/crypto/gc-des-tests: Moved from ../.
88943         * modules/crypto/gc-hmac-md5: Moved from ../.
88944         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88945         * modules/crypto/gc-hmac-sha1: Moved from ../.
88946         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88947         * modules/crypto/gc-md2: Moved from ../.
88948         * modules/crypto/gc-md2-tests: Moved from ../.
88949         * modules/crypto/gc-md4: Moved from ../.
88950         * modules/crypto/gc-md4-tests: Moved from ../.
88951         * modules/crypto/gc-md5: Moved from ../.
88952         * modules/crypto/gc-md5-tests: Moved from ../.
88953         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88954         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88955         * modules/crypto/gc-random: Moved from ../.
88956         * modules/crypto/gc-rijndael: Moved from ../.
88957         * modules/crypto/gc-rijndael-tests: Moved from ../.
88958         * modules/crypto/gc-sha1: Moved from ../.
88959         * modules/crypto/gc-sha1-tests: Moved from ../.
88960         * modules/crypto/gc-tests: Moved from ../.
88961         * modules/crypto/hmac-md5: Moved from ../.
88962         * modules/crypto/hmac-md5-tests: Moved from ../.
88963         * modules/crypto/hmac-sha1: Moved from ../.
88964         * modules/crypto/hmac-sha1-tests: Moved from ../.
88965         * modules/crypto/md2: Moved from ../.
88966         * modules/crypto/md2-tests: Moved from ../.
88967         * modules/crypto/md4: Moved from ../.
88968         * modules/crypto/md4-tests: Moved from ../.
88969         * modules/crypto/md5: Moved from ../.
88970         * modules/crypto/md5-tests: Moved from ../.
88971         * modules/crypto/memxor: Moved from ../.
88972         * modules/crypto/rijndael: Moved from ../.
88973         * modules/crypto/rijndael-tests: Moved from ../.
88974         * modules/crypto/sha1: Moved from ../.
88976 2007-03-30  James Youngman  <jay@gnu.org>
88978         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88979         rename() to change the ctime of a file (because ctime is unaffected
88980         by rename on jfs2 on AIX 5.1).
88981         (main): Start by doing cleanup, in case a previous run failed leaving
88982         test files behind.
88984 2007-03-31  Bruno Haible  <bruno@clisp.org>
88986         Support old proprietary implementations of iconv.
88987         * modules/iconv_open: New file.
88988         * lib/iconv_.h: New file.
88989         * m4/iconv_h.m4: New file.
88990         * lib/iconv_open.c: New file.
88991         * lib/iconv_open-aix.gperf: New file.
88992         * lib/iconv_open-hpux.gperf: New file.
88993         * lib/iconv_open-irix.gperf: New file.
88994         * lib/iconv_open-osf.gperf: New file.
88995         * m4/iconv_open.m4: New file.
88996         * modules/linebreak (Depends-on): Add iconv_open.
88997         * modules/striconv (Depends-on): Likewise.
88998         * modules/striconveh (Depends-on): Likewise.
88999         * modules/unicodeio (Depends-on): Likewise.
89000         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
89001         (iconv_t)(-1).
89002         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
89003         conversion if cd is (iconv_t)(-1).
89004         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
89005         is not possible.
89007 2007-03-31  Bruno Haible  <bruno@clisp.org>
89009         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89010         work on Solaris either. Protect also second use of "autodetect_jp".
89012 2007-03-31  Bruno Haible  <bruno@clisp.org>
89014         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
89015         the function is not present.
89017 2007-03-31  Bruno Haible  <bruno@clisp.org>
89019         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
89020         the function is not present.
89022 2007-03-31  Bruno Haible  <bruno@clisp.org>
89024         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
89025         a bug in HP-UX iconv_open().
89027 2007-03-31  Bruno Haible  <bruno@clisp.org>
89029         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
89030         (Mathematics <math.h>): New section, add fpieee.
89031         (Input/output <stdio.h>): Add fseterr.
89032         (Mathematics <math.h>): New section, add printf-frexp.
89033         (Container data structures): Add sublist.
89034         (Core language properties): Add fpucw, inline.
89035         (Functions for greatest-width integer types <inttypes.h>): Add
89036         imaxabs, imaxdiv, inttypes.
89037         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
89038         isnanl-nolibm, ldexp.
89039         (Mathematics <math.h>): New section, add printf-frexpl.
89040         (Support for systems lacking POSIX:2001): Add fprintf-posix,
89041         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
89042         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
89043         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
89044         (Unicode string functions): Add unistr/u*-mbtoucr.
89045         (Java): Add javacomp-script, javaexec-script.
89046         (C#): Add csharpcomp-script, csharpexec-script.
89047         (Support for building libraries and executables): Add havelib,
89048         relocatable-*.
89049         (Support for maintaining and releasing projects): Renamed from
89050         'Support for maintaining and release projects'. Add announce-gen.
89052 2007-03-31  Bruno Haible  <bruno@clisp.org>
89054         * README: Talk primarily about git.
89055         (git and CVS): Renamed from CVS.
89056         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
89057         gnulib is available through git.
89058         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
89060 2007-03-30  Bruno Haible  <bruno@clisp.org>
89062         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
89063         * lib/poll_.h: Likewise.
89064         * lib/stat_.h: Likewise.
89065         * lib/sys_time_.h: Likewise.
89066         * lib/sysexit_.h: Likewise.
89067         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
89068         * lib/stdbool_.h: Likewise.
89069         * lib/byteswap_.h: Add double-inclusion guard.
89071 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
89073         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
89075 2007-03-30  Karl Berry  <karl@gnu.org>
89077         * config/srclist-update: double space after USA in the license
89078         substitution, since that's how it's usually (?) written.
89080 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89082         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
89083         reported by Bruno Haible.
89085 2007-03-29  Bruno Haible  <bruno@clisp.org>
89087         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
89088         a bug in AIX iconv().
89090 2007-03-29  Bruno Haible  <bruno@clisp.org>
89092         * modules/ldexpl-tests: New file.
89093         * tests/test-ldexpl.c: New file.
89095 2007-03-29  Bruno Haible  <bruno@clisp.org>
89097         * lib/ldexpl.c: Include fpucw.h.
89098         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
89099         multiplication.
89100         * modules/ldexpl (Depends-on): Add fpucw.
89102 2007-03-29  Bruno Haible  <bruno@clisp.org>
89104         * modules/ldexpl: New file.
89105         * m4/ldexpl.m4: New file.
89106         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
89107         set.
89108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
89109         REPLACE_LDEXPL.
89110         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
89111         REPLACE_LDEXPL.
89112         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
89113         gl_FUNC_LDEXPL_WORKS.
89114         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
89115         * modules/mathl (Files): Remove lib/ldexpl.c.
89116         (Depends-on): Add ldexpl.
89118 2007-03-29  Bruno Haible  <bruno@clisp.org>
89120         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
89122 2007-03-29  Bruno Haible  <bruno@clisp.org>
89124         * tests/test-striconveh.c (main): Don't assume that a direct conversion
89125         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
89126         and possibly also HP-UX.
89127         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89128         work on AIX, IRIX, HP-UX, OSF/1.
89129         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
89130         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
89131         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
89132         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
89133         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
89134         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
89136 2007-03-29  Bruno Haible  <bruno@clisp.org>
89138         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
89140 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89142         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
89143         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
89145 2007-03-29  Eric Blake  <ebb9@byu.net>
89147         * lib/acl-internal.h: Remove redundant include.
89148         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
89149         Cygwin when a file is locked.
89151 2007-03-29  Bruno Haible  <bruno@clisp.org>
89153         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
89154         file.
89155         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
89157 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89159         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
89160         try to remove a parent directory if the child couldn't be removed
89161         (except for the first rmdir, which could fail because the child
89162         doesn't exist).  Problem reported by Jeff Blaine in
89163         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
89165 2007-03-28  Bruno Haible  <bruno@clisp.org>
89167         * lib/striconveh.c (utf8conv_carefully): New function.
89168         (mem_cd_iconveh_internal): Invoke it.
89170 2007-03-28  Bruno Haible  <bruno@clisp.org>
89172         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
89173         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
89174         input.
89175         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
89176         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
89177         unistr/u8-uctomb.
89179 2007-03-28  Bruno Haible  <bruno@clisp.org>
89181         * modules/unistr/u8-mbtoucr: New file.
89182         * lib/unistr/u8-mbtoucr.c: New file.
89183         * modules/unistr/u16-mbtoucr: New file.
89184         * lib/unistr/u16-mbtoucr.c: New file.
89185         * modules/unistr/u16-mbtoucr: New file.
89186         * lib/unistr/u16-mbtoucr.c: New file.
89187         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
89189 2007-03-27  Simon Josefsson  <simon@josefsson.org>
89190             Bruno Haible  <bruno@clisp.org>
89192         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
89193         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
89194         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
89196         * m4/stdio_h.m4: Add stubs for vasprintf too.
89198         * modules/stdio: Support vasprintf in sed command.
89200         * modules/vasprintf: Depend on stdio for prototypes.  Remove
89201         vasprintf.h.  Add stdio module indicator.
89203         * lib/stdio_.h: Declare asprintf and vasprintf, based on
89204         vasprintf.h.
89206         * lib/vasprintf.h: File removed.
89208         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
89209         * lib/vasprintf.c: Ditto.
89210         * lib/xvasprintf.c: Ditto.
89211         * tests/test-vasprintf-posix.c: Ditto.
89212         * tests/test-vasprintf.c: Ditto.
89214 2007-03-27  Bruno Haible  <bruno@clisp.org>
89216         Make vasnprintf multithread-safe.
89217         * lib/vasnprintf.c (decimal_point_char): New function.
89218         (VASNPRINTF): Use it.
89219         Suggested by Simon Josefsson.
89221 2007-03-27  Eric Blake  <ebb9@byu.net>
89223         Support sub-second birthtime on cygwin.
89224         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
89225         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
89226         (get_stat_birthtime): Also work with st_birthtim.
89228 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
89230         * lib/stat-time.h (USE_BIRTHTIME): Remove.
89231         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
89232         (get_stat_birthtime_ns): Do not try to use "spare" fields.
89233         (get_stat_birthtime_ns): Simplify compile-time tests.
89234         (get_stat_birthtime): Change the API to look like
89235         get_stat_mtime etc., except return a negative tv_nsec on error.
89236         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
89237         Don't check for "spare" fields.
89238         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
89239         or for struct stat.st_birthtime, as these tests aren't used.
89240         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
89242 2007-03-27  Bruno Haible  <bruno@clisp.org>
89244         * lib/stat-time.h: Include <sys/stat.h>.
89246 2007-03-27  James Youngman  <jay@gnu.org>
89248         * lib/stat-time.h (get_stat_birthtime): New function for
89249           retrieving st_birthtime as provided by UFS2 (hence *BSD).
89250         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
89251           and its variants.
89252         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
89253         * modules/stat-time-test: New file.
89254         * tests/test-stat-time.c: New test, devised by Bruno Haible.
89256 2007-03-26  Bruno Haible  <bruno@clisp.org>
89258         Better support of signalling NaNs.
89259         * lib/atanl.c: Include isnanl.h.
89260         (atanl): Perform test for NaN at the beginning of the function and
89261         through a call to isnanl.
89262         * lib/cosl.c: Include isnanl.h.
89263         (cosl): Perform test for NaN at the beginning of the function and
89264         through a call to isnanl.
89265         * lib/ldexpl.c: Include isnanl.h.
89266         (ldexpl): Perform test for NaN through a call to isnanl.
89267         * lib/logl.c: Include isnanl.h.
89268         (logl): Perform test for NaN at the beginning of the function and
89269         through a call to isnanl.
89270         * lib/sinl.c: Include isnanl.h.
89271         (sinl): Perform test for NaN at the beginning of the function and
89272         through a call to isnanl.
89273         * lib/sqrtl.c: Include isnanl.h.
89274         (sqrtl): Perform test for NaN at the beginning of the function and
89275         through a call to isnanl.
89276         * lib/tanl.c: Include isnanl.h.
89277         (tanl): Perform test for NaN at the beginning of the function and
89278         through a call to isnanl.
89279         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
89280         * modules/mathl (Depends-on): Add isnanl.
89282 2007-03-26  Eric Blake  <ebb9@byu.net>
89284         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
89285         regression in logic sense of previous patch.
89287 2007-03-26  Bruno Haible  <bruno@clisp.org>
89289         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
89290         unportable shell command "if ! ...".
89291         Reported by Ralf Wildenhues.
89293 2007-03-25  Bruno Haible  <bruno@clisp.org>
89295         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
89296         <sysexits.h> file, and only add EX_CONFIG.
89297         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
89298         absolute file name and whether it is sufficient. Substitute also
89299         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
89300         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
89301         ABSOLUTE_SYSEXITS_H into sysexits.h.
89303 2007-03-25  Bruno Haible  <bruno@clisp.org>
89305         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
89306         hints is NULL.
89308 2007-03-25  Bruno Haible  <bruno@clisp.org>
89310         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
89311         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
89313 2007-03-25  Bruno Haible  <bruno@clisp.org>
89315         * lib/vasnprintf.c: Include langinfo.h.
89316         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
89317         multithread-safe.
89318         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
89319         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
89320         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89321         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89322         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89323         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89324         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89325         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
89326         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89327         Reported by Simon Josefsson.
89329 2007-03-25  Bruno Haible  <bruno@clisp.org>
89331         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
89332         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
89333         * modules/vasnprintf (Depends-on): Add stdint.
89335 2007-03-25  Bruno Haible  <bruno@clisp.org>
89337         * modules/fpieee: New file.
89338         * m4/fpieee.m4: New file.
89339         * modules/isnan-nolibm (Depends-on): Add fpieee.
89340         * modules/isnanl-nolibm (Depends-on): Add fpieee.
89341         * modules/isnanl (Depends-on): Add fpieee.
89343 2007-03-25  Bruno Haible  <bruno@clisp.org>
89345         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
89347 2007-03-25  Bruno Haible  <bruno@clisp.org>
89349         Avoid test failures on IRIX 6.5.
89350         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
89351         (main): Use it.
89352         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
89353         macros.
89354         (main): Use them.
89356 2007-03-25  Bruno Haible  <bruno@clisp.org>
89358         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
89359         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
89360         exists but doesn't work.
89361         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
89362         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
89363         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
89364         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
89365         math.h.
89367 2007-03-25  Bruno Haible  <bruno@clisp.org>
89369         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
89370         returns inf. Needed on IRIX 6.5.
89372 2007-03-25  Bruno Haible  <bruno@clisp.org>
89374         * tests/test-frexpl.c: Include isnanl-nolibm.h.
89375         (main): Use isnanl instead of x != x idiom.
89376         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
89378         * tests/test-frexp.c: Include isnan.h.
89379         (main): Use isnan instead of x != x idiom.
89380         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
89382 2007-03-25  Bruno Haible  <bruno@clisp.org>
89384         * tests/test-frexp.c (NaN): New function/macro.
89385         (main): Use it instead of 0.0 / 0.0.
89386         * tests/test-isnan.c (NaN): New function/macro.
89387         (main): Use it instead of 0.0 / 0.0.
89388         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
89389         (test_function): Use it instead of 0.0 / 0.0.
89390         * tests/test-vasprintf-posix.c (NaN): New function/macro.
89391         (test_function): Use it instead of 0.0 / 0.0.
89392         * tests/test-snprintf-posix.h (NaN): New function/macro.
89393         (test_function): Use it instead of 0.0 / 0.0.
89394         * tests/test-sprintf-posix.h (NaN): New function/macro.
89395         (test_function): Use it instead of 0.0 / 0.0.
89396         * tests/test-fprintf-posix.h (NaN): New function/macro.
89397         (test_function): Use it instead of 0.0 / 0.0.
89398         * tests/test-printf-posix.h (NaN): New function/macro.
89399         (test_function): Use it instead of 0.0 / 0.0.
89401         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
89403 2007-03-25  Bruno Haible  <bruno@clisp.org>
89405         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
89407 2007-03-25  Bruno Haible  <bruno@clisp.org>
89409         * lib/regexec.c (merge_state_with_log): Make static.
89411 2007-03-25  Bruno Haible  <bruno@clisp.org>
89413         * lib/trigl.c (kernel_rem_pio2): Make static.
89415 2007-03-25  Bruno Haible  <bruno@clisp.org>
89417         * lib/sincosl.c (sincosl_table): Make static.
89419 2007-03-25  Bruno Haible  <bruno@clisp.org>
89421         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
89422         if the compiler does not support C99.
89424 2007-03-25  Bruno Haible  <bruno@clisp.org>
89426         * modules/time (Makefile.am): Ensure all rule action lines start with a
89427         tab.
89429 2007-03-24  Bruno Haible  <bruno@clisp.org>
89431         * modules/tsearch-tests: New file.
89432         * tests/test-tsearch.sh: New file.
89433         * tests/test-tsearch.c: New file, mostly copied from glibc.
89435         * modules/search-tests: New file.
89436         * tests/test-search.c: New file.
89438         * modules/search: New file.
89439         * lib/search_.h: New file, incorporating lib/tsearch.h.
89440         * m4/search_h.m4: New file.
89441         * lib/tsearch.h: Remove file.
89442         * lib/tsearch.c: Include search.h instead of tsearch.h.
89443         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
89444         HAVE_TSEARCH.
89445         * modules/tsearch (Files): Remove lib/tsearch.h.
89446         (Depends-on): Add search.
89447         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
89448         (Include): Change tsearch.h into search.h.
89450 2007-03-24  Bruno Haible  <bruno@clisp.org>
89452         * modules/fpucw: New file.
89453         * lib/fpucw.h: New file.
89454         * lib/frexp.c: Include fpucw.h.
89455         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89456         (FUNC): Use them.
89457         * lib/printf-frexp.c: Include fpucw.h.
89458         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89459         (FUNC): Use them.
89460         * lib/vasnprintf.c: Include fpucw.h.
89461         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
89462         'long double' calculations.
89463         * tests/test-frexpl.c: Include fpucw.h.
89464         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89465         * tests/test-printf-frexpl.c: Include fpucw.h.
89466         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89467         * modules/frexpl (Depends-on): Add fpucw.
89468         * modules/printf-frexpl (Depends-on): Likewise.
89469         * modules/fprintf-posix (Depends-on): Likewise.
89470         * modules/snprintf-posix (Depends-on): Likewise.
89471         * modules/sprintf-posix (Depends-on): Likewise.
89472         * modules/vasnprintf-posix (Depends-on): Likewise.
89473         * modules/vasprintf-posix (Depends-on): Likewise.
89474         * modules/vfprintf-posix (Depends-on): Likewise.
89475         * modules/vsnprintf-posix (Depends-on): Likewise.
89476         * modules/vsprintf-posix (Depends-on): Likewise.
89477         * modules/frexpl-tests (Depends-on): Likewise.
89478         * modules/printf-frexpl-tests (Depends-on): Likewise.
89480 2007-03-24  Bruno Haible  <bruno@clisp.org>
89482         * lib/float+.h: New file.
89483         * lib/isnan.c: Include float+.h.
89484         (SIZE): New macro.
89485         (FUNC): Compare only SIZE bytes of the value.
89486         * lib/vasnprintf.c: Include float+.h.
89487         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89488         SIZEOF_LDBL or SIZEOF_DBL bytes.
89489         * modules/isnan-nolibm (Files): Add lib/float+.h.
89490         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89491         * modules/isnanl (Files): Add lib/float+.h.
89492         * modules/vasnprintf (Files): Add lib/float+.h.
89494 2007-03-24  Bruno Haible  <bruno@clisp.org>
89496         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89497         include isnanl-nolibm.h.
89499 2007-03-24  Bruno Haible  <bruno@clisp.org>
89501         * tests/test-read-file.c (main): Don't produce spurious output for
89502         expected situations. Make the test fail if it encountered unexpected
89503         results.
89505 2007-03-24  Bruno Haible  <bruno@clisp.org>
89507         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89508         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89510 2007-03-24  Bruno Haible  <bruno@clisp.org>
89512         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89514 2007-03-24  Bruno Haible  <bruno@clisp.org>
89516         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89517         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89519         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89520         * modules/utf8-ucs4: Turn into a symbolic link to module
89521         unistr/u8-mbtouc.
89523         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89524         utf8-ucs4-unsafe.
89525         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89526         unistr/u8-mbtouc-unsafe.
89528         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89529         * modules/utf16-ucs4: Turn into a symbolic link to module
89530         unistr/u16-mbtouc.
89532         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89533         utf16-ucs4-unsafe.
89534         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89535         unistr/u16-mbtouc-unsafe.
89537         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89538         * modules/ucs4-utf8: Turn into a symbolic link to module
89539         unistr/u8-ubtomb.
89541         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89542         * modules/ucs4-utf16: Turn into a symbolic link to module
89543         unistr/u16-ubtomb.
89545 2007-03-24  Bruno Haible  <bruno@clisp.org>
89547         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89548         Enable the function only if HAVE_INLINE.
89549         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89550         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89551         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89552         Enable the function only if HAVE_INLINE.
89553         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89554         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89555         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89556         Enable the function only if HAVE_INLINE.
89557         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89558         Enable the function only if HAVE_INLINE.
89559         * modules/utf8-ucs4: Update.
89560         * modules/utf8-ucs4-unsafe: Update.
89561         * modules/utf16-ucs4: Update.
89562         * modules/utf16-ucs4-unsafe: Update.
89563         * modules/ucs4-utf8: Update.
89564         * modules/ucs4-utf16: Update.
89566 2007-03-24  Bruno Haible  <bruno@clisp.org>
89568         * lib/utf8-ucs4.h: Remove file.
89569         * lib/utf8-ucs4-unsafe.h: Remove file.
89570         * lib/utf16-ucs4.h: Remove file.
89571         * lib/utf16-ucs4-unsafe.h: Remove file.
89572         * lib/ucs4-utf8.h: Remove file.
89573         * lib/ucs4-utf16.h: Remove file.
89574         * lib/unistr.h: Include their previous contents.
89575         * m4/utf-ucs4.m4: Remove file.
89576         * m4/ucs4-utf.m4: Remove file.
89577         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89578         (Depends-on): Add unistr/base.
89579         (configure.ac): Remove gl_UTF_UCS4.
89580         (Makefile.am): Update.
89581         (Include): Change to unistr.h.
89582         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89583         (Depends-on): Add unistr/base.
89584         (configure.ac): Remove gl_UTF_UCS4.
89585         (Makefile.am): Update.
89586         (Include): Change to unistr.h.
89587         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89588         (Depends-on): Add unistr/base.
89589         (configure.ac): Remove gl_UTF_UCS4.
89590         (Makefile.am): Update.
89591         (Include): Change to unistr.h.
89592         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89593         (Depends-on): Add unistr/base.
89594         (configure.ac): Remove gl_UTF_UCS4.
89595         (Makefile.am): Update.
89596         (Include): Change to unistr.h.
89597         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89598         (Depends-on): Add unistr/base.
89599         (configure.ac): Remove gl_UCS4_UTF.
89600         (Makefile.am): Update.
89601         (Include): Change to unistr.h.
89602         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89603         (Depends-on): Add unistr/base.
89604         (configure.ac): Remove gl_UCS4_UTF.
89605         (Makefile.am): Update.
89606         (Include): Change to unistr.h.
89607         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89608         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89609         utf8-ucs4-unsafe.h.
89610         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89611         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89612         utf16-ucs4-unsafe.h.
89613         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89614         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89615         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89616         * lib/unistr/u8-strchr.c: Likewise.
89617         * lib/unistr/u8-strrchr.c: Likewise.
89618         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89619         * lib/unistr/u16-strchr.c: Likewise.
89620         * lib/unistr/u16-strrchr.c: Likewise.
89621         * lib/striconveh.c: Update.
89622         * lib/linebreak.c: Update.
89624 2007-03-24  Bruno Haible  <bruno@clisp.org>
89626         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89627         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89629 2007-03-22  Bruno Haible  <bruno@clisp.org>
89631         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89633 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89635         * MODULES.html.sh (File system functions): New module write-any-file.
89636         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89637         * m4/write-any-file.m4: New files.
89639 2007-03-23  Eric Blake  <ebb9@byu.net>
89641         * gnulib-tool: Rearrange space-tab sequences, since some editors
89642         like to eat them.
89644 2007-03-23  Eric Blake  <ebb9@byu.net>
89646         * lib/version-etc.c (version_etc_va): Update license wording to
89647         be more concise.  Recommended by Richard Stallman.
89649 2007-03-22  Bruno Haible  <bruno@clisp.org>
89651         * lib/poll.c (MSG_PEEK): New fallback definition.
89653 2007-03-22  Bruno Haible  <bruno@clisp.org>
89655         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89656         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89657         (main): Update.
89658         Fixes a compilation error on BeOS.
89660 2007-03-22  Bruno Haible  <bruno@clisp.org>
89662         * modules/frexpl-tests: New file.
89663         * tests/test-frexpl.c: New file.
89665         * modules/frexpl: New file.
89666         * m4/frexpl.m4: New file.
89667         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89668         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89670         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89671         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89672         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89674 2007-03-22  Bruno Haible  <bruno@clisp.org>
89676         * lib/frexpl.c: Share code with lib/frexp.c.
89677         * modules/mathl (Files): Add lib/frexp.c.
89678         (Depends-on): Add isnanl-nolibm.
89680 2007-03-22  Bruno Haible  <bruno@clisp.org>
89682         * modules/printf-frexp (Files): Add m4/frexp.m4.
89683         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89684         only if the found frexp function actually works.
89686 2007-03-22  Bruno Haible  <bruno@clisp.org>
89688         * lib/frexp.c: Remove older implementation that uses divisions.
89690 2007-03-21  Bruno Haible  <bruno@clisp.org>
89692         * modules/frexp-tests: New file.
89693         * tests/test-frexp.c: New file.
89695         * modules/frexp: New file.
89696         * lib/frexp.c: New file.
89697         * m4/frexp.m4: New file.
89698         * lib/math_.h (frexp): New declaration.
89699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89700         REPLACE_FREXP.
89701         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89703 2007-03-21  Bruno Haible  <bruno@clisp.org>
89705         * modules/isnanl-tests: New file.
89706         * tests/test-isnanl.c: New file.
89708         * modules/isnanl: New file.
89709         * lib/isnanl.h: New file.
89710         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89711         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89712         gl_FUNC_ISNANL_WORKS.
89713         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89714         New macros.
89716 2007-03-21  Bruno Haible  <bruno@clisp.org>
89718         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89719         lib/isnanl.h.
89720         (Include): Update.
89721         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89722         * lib/vasnprintf.c: Update.
89723         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89724         tests/test-isnanl.h, remove tests/test-isnanl.c.
89725         (Makefile.am): Update.
89726         * tests/test-isnanl-nolibm.c: New file.
89727         * tests/test-isnanl.h: New file.
89728         * tests/test-isnanl.c: Remove file.
89730 2007-03-21  Jim Meyering  <jim@meyering.net>
89732         When trying to open ".", treat ESTALE like EACCES.
89733         * lib/savewd.c (savewd_save): Resort to forking not just upon
89734         failure with EACCES, but also when errno is ESTALE.
89736 2007-03-20  Bruno Haible  <bruno@clisp.org>
89738         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89739         Needed on AIX 5.1. Reported by Matthew Woehlke.
89741 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89743         Suggestions by Bruno Haible:
89744         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89745         our own.
89746         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89747         * modules/acl (Depends-on): Add gettext.
89749 2007-03-19  Bruno Haible  <bruno@clisp.org>
89751         * modules/iconvme: Remove file.
89752         * lib/iconvme.h: Remove file.
89753         * lib/iconvme.c: Remove file.
89754         * m4/iconvme.m4: Remove file.
89756 2007-03-19  Bruno Haible  <bruno@clisp.org>
89758         * doc/relocatable-maint.texi: Break long shell script line.
89759         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89761 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89763         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89764         handle file_has_acl.
89765         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89766         * lib/acl.c: Move header inclusions and related macro defns into
89767         lib/acl-internal.h.
89768         (S_ISLNK): Remove defn, since that's now done for us.
89769         (file_has_acl): Move to lib/file-has-acl.c.
89770         Call acl_trivial if available.  This is the crucial part of the fix.
89771         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89772         shared within the library.  Rewrite a bit, partly to make it compatible
89773         with the GNU coding style.
89774         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89775         Remove unnecessary double-quotes.
89776         Don't test for acl_to_text; the build will catch that.
89777         Replace acl_entries if it doesn't exist and it is needed.
89778         Check for -lsec and acl_trivial (as used on Solaris 10).
89779         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89780         lib/file-has-acl.c.
89781         (Depends-on): Add sys_stat, for S_ISLNK.
89783 2007-03-19  Ben Pfaff  <blp@gnu.org>
89785         * doc/gnulib.texi: Fix typos.
89786         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89788 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89790         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89791         If size is zero here, buf must be zero.
89793 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89795         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89796         <bruno@clisp.org>.
89798 2007-03-18  Bruno Haible  <bruno@clisp.org>
89800         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89801         Suggested by Eric Blake.
89803 2007-03-18  Ben Pfaff  <blp@gnu.org>
89805         * doc/relocatable.texi: Recommend using as prefix a directory
89806         that does not exist and will never be created.  Based on
89807         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89808         and others.
89810 2007-03-17  Bruno Haible  <bruno@clisp.org>
89812         * lib/fchownat.c: Include lchown.h.
89814 2007-03-17  Bruno Haible  <bruno@clisp.org>
89816         Fix endless loop when the given allocated size was > INT_MAX.
89817         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89818         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89819         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89820         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89821         * lib/sprintf.c (sprintf): Likewise.
89823 2007-03-17  Bruno Haible  <bruno@clisp.org>
89825         * tests/test-argp-2.sh (func_compare): Output a context diff.
89827 2007-03-17  Bruno Haible  <bruno@clisp.org>
89829         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89830         locale's decimal-point character.
89832 2007-03-17  Bruno Haible  <bruno@clisp.org>
89834         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89835         before comparing it. Needed because on some platforms (e.g. x86) a
89836         'long double' occupies less bytes than sizeof (long double).
89838 2007-03-17  Bruno Haible  <bruno@clisp.org>
89840         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89841         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89842         * tests/test-getaddrinfo.c (simple): Likewise.
89843         * tests/test-read-file.c (main): Likewise.
89845 2007-03-17  Bruno Haible  <bruno@clisp.org>
89847         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89849 2007-03-17  Bruno Haible  <bruno@clisp.org>
89851         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89852         unused variable.
89854 2007-03-17  Bruno Haible  <bruno@clisp.org>
89856         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89857         * tests/test-c-strncasecmp.c: Likewise.
89859 2007-03-17  Bruno Haible  <bruno@clisp.org>
89861         * modules/stdlib (Depends-on): Add unistd.
89862         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89863         Needed for MacOS X 10.3.
89865 2007-03-17  Bruno Haible  <bruno@clisp.org>
89867         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89869 2007-03-17  Bruno Haible  <bruno@clisp.org>
89871         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89873 2007-03-17  Bruno Haible  <bruno@clisp.org>
89875         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89876         to reflect files copied from gnulib (with or without modifications).
89877         Suggested by Jim Meyering.
89879 2007-03-17  Eric Blake  <ebb9@byu.net>
89881         * NEWS: Document stdlib change from 2007-02-18.
89883 2007-03-17  Jim Meyering  <jim@meyering.net>
89885         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89886         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89887         someone uses a name containing shell meta-characters.
89888         Reported by Alfred M. Szmidt.
89890         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89892 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89894         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89895         and copy gettext configuration files only if configure.ac contains
89896         a use of AM_GNU_GETTEXT_VERSION.
89898 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89900         * build-aux/bootstrap (gnulib_name): New variable.
89901         (gnulib_tool_options): Use it.
89903 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89905         * tests/test-des.c: Use new namespace.
89907 2007-03-15  Bruno Haible  <bruno@clisp.org>
89909         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89910         Reported by James Youngman <jay@gnu.org>.
89912 2007-03-15  Bruno Haible  <bruno@clisp.org>
89914         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89915         declared prototype. Needed with cc on OSF/1 5.1.
89917 2007-03-15  Bruno Haible  <bruno@clisp.org>
89919         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89920         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89921         (struct gl_list_implementation): Add dispose_fn argument to the
89922         'create_empty', 'create' methods.
89923         (struct gl_list_impl_base): Add field 'dispose_fn'.
89924         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89925         argument.
89926         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89927         dispose_fn argument.
89928         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89929         dispose_fn on the dropped values.
89930         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89931         dispose_fn argument.
89932         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89933         dropped values.
89934         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89935         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89936         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89937         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89938         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89939         argument.
89940         (gl_tree_list_free): Call dispose_fn on the dropped values.
89941         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89942         the dropped values.
89943         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89944         Add dispose_fn argument.
89945         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89946         Call dispose_fn on the dropped values.
89947         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89948         Add dispose_fn argument.
89949         (gl_sublist_create): Initialize the 'dispose_fn' field.
89950         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89951         * tests/test-array_list.c (main): Update.
89952         * tests/test-carray_list.c (main): Update.
89953         * tests/test-avltree_list.c (main): Update.
89954         * tests/test-rbtree_list.c (main): Update.
89955         * tests/test-avltreehash_list.c (main): Update.
89956         * tests/test-rbtreehash_list.c (main): Update.
89957         * tests/test-linked_list.c (main): Update.
89958         * tests/test-linkedhash_list.c (main): Update.
89959         * tests/test-array_oset.c (main): Update.
89961 2007-03-15  Bruno Haible  <bruno@clisp.org>
89963         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89964         (gl_oset_create_empty): Add dispose_fn argument.
89965         (struct gl_oset_implementation): Add dispose_fn argument to
89966         'create_empty' method.
89967         (struct gl_oset_impl_base): Add dispose_fn field.
89968         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89969         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89970         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89971         values.
89972         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89973         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89974         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89975         dropped value.
89976         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89977         dropped value.
89978         * tests/test-array_oset.c (main): Update.
89979         * tests/test-avltree_oset.c (main): Update.
89980         * tests/test-rbtree_oset.c (main): Update.
89981         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89983 2007-03-13  Bruno Haible  <bruno@clisp.org>
89985         * tests/test-stdbool.c (i): Update after last patch.
89987 2007-03-12  Bruno Haible  <bruno@clisp.org>
89989         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89990         the iswprint macro. Needed on Solaris 2.5.1.
89992 2007-03-12  Bruno Haible  <bruno@clisp.org>
89994         * tests/test-printf-frexp.c (main): Declare x as volatile.
89996 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89998         * doc/gnulib.texi (Build robot for gnulib): New section.
90000 2007-03-12  Jim Meyering  <jim@meyering.net>
90002         * build-aux/bootstrap: New file.
90003         * build-aux/bootstrap.conf: New file, from coreutils.
90005 2007-03-11  Bruno Haible  <bruno@clisp.org>
90007         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
90009 2007-03-12  Simon Josefsson  <simon@josefsson.org>
90011         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
90012         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
90013         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
90015 2007-03-11  Bruno Haible  <bruno@clisp.org>
90017         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
90018         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
90020 2007-03-11  Bruno Haible  <bruno@clisp.org>
90022         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
90023         formula. Needed for SunPRO C 5.0.
90025 2007-03-11  Bruno Haible  <bruno@clisp.org>
90027         * modules/long-options (Depends-on): Add getopt.
90029 2007-03-11  Bruno Haible  <bruno@clisp.org>
90031         * modules/modechange (Depends-on): Add stdbool.
90033 2007-03-11  Bruno Haible  <bruno@clisp.org>
90035         * modules/i-ring (Depends-on): Add stdbool.
90037 2007-03-11  Bruno Haible  <bruno@clisp.org>
90039         * modules/gc-des (Depends-on): Add stdbool.
90041 2007-03-11  Bruno Haible  <bruno@clisp.org>
90043         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
90045 2007-03-11  Bruno Haible  <bruno@clisp.org>
90047         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
90049 2007-03-11  Bruno Haible  <bruno@clisp.org>
90051         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
90053 2007-03-11  Bruno Haible  <bruno@clisp.org>
90055         * lib/vasnprintf.c (sprintf): Undefine.
90057 2007-03-11  Bruno Haible  <bruno@clisp.org>
90059         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
90060         initializers in SunPRO C and Compaq C compilers.
90062 2007-03-11  Bruno Haible  <bruno@clisp.org>
90064         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
90065         decrementing code ANSI C compliant.
90067 2007-03-11  Bruno Haible  <bruno@clisp.org>
90069         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
90070         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
90072 2007-03-11  Bruno Haible  <bruno@clisp.org>
90074         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
90075         <stdbool.h> substitute doesn't pass.
90077 2007-03-11  Bruno Haible  <bruno@clisp.org>
90079         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
90081 2007-03-11  Bruno Haible  <bruno@clisp.org>
90083         * gnulib-tool (func_create_megatestdir): Create also an autobuild
90084         script, for submission to autobuild.josefsson.org.
90086 2007-03-10  Bruno Haible  <bruno@clisp.org>
90088         * modules/canonicalize-lgpl-tests: New file.
90089         * tests/test-canonicalize-lgpl.sh: New file.
90090         * tests/test-canonicalize-lgpl.c: New file.
90092         * modules/c-strcase-tests: New file.
90093         * tests/test-c-strcase.sh: New file.
90094         * tests/test-c-strcasecmp.c: New file.
90095         * tests/test-c-strncasecmp.c: New file.
90097         * modules/atexit-tests: New file.
90098         * tests/test-atexit.sh: New file.
90099         * tests/test-atexit.c: New file.
90101 2007-03-10  Bruno Haible  <bruno@clisp.org>
90103         * tests/test-binary-io.sh: Use temporary filenames that are not so
90104         likely to clash with those of other tests (in a parallel make).
90105         * tests/test-binary-io.c: Likewise.
90107 2007-03-10  Bruno Haible  <bruno@clisp.org>
90109         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
90110         fallback; use #error instead.
90111         Suggested by Simon Josefsson.
90113 2007-03-10  Bruno Haible  <bruno@clisp.org>
90115         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
90116         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
90117         first and the last.
90119 2007-03-10  Bruno Haible  <bruno@clisp.org>
90121         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
90123 2007-03-10  Bruno Haible  <bruno@clisp.org>
90125         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90126         "make distcheck".
90127         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
90128         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
90129         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
90131 2007-03-10  Bruno Haible  <bruno@clisp.org>
90133         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
90134         variable.
90135         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
90136         variable.
90138 2007-03-09  Eric Blake  <ebb9@byu.net>
90139         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
90141         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
90142         types are not being provided by gnulib.
90143         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
90144         types are supported.
90146 2007-03-10  Bruno Haible  <bruno@clisp.org>
90148         * lib/stdio_.h (__attribute__): New macro.
90149         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
90150         vsprintf): Specify __attribute__ __format__ for GCC.
90151         Suggested by Eric Blake.
90153 2007-03-09  Bruno Haible  <bruno@clisp.org>
90155         * modules/printf-posix-tests: New file.
90156         * tests/test-printf-posix.sh: New file.
90157         * tests/test-printf-posix.c: New file.
90159         * modules/printf-posix: New file.
90160         * lib/printf.c: New file.
90161         * m4/printf-posix-rpl.m4: New file.
90162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
90163         REPLACE_PRINTF.
90164         * lib/stdio_.h (printf): New declaration.
90165         (format, __format__, ____printf____, ____scanf____, ____strftime____,
90166         ____strfmon____): New macros.
90167         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
90168         REPLACE_PRINTF.
90170 2007-03-09  Bruno Haible  <bruno@clisp.org>
90172         * tests/test-vasnprintf-posix2.sh: New file.
90173         * tests/test-vasnprintf-posix2.c: New file.
90174         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
90175         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
90176         (Makefile.am): Activate test-vasnprintf-posix2.sh.
90178         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
90179         a locale dependent decimal point, rather than always '.'.
90181 2007-03-09  Eric Blake  <ebb9@byu.net>
90183         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
90184         spite of platforms like Tandem/NSK that define it to -1.
90186 2007-03-08  Bruno Haible  <bruno@clisp.org>
90188         * modules/vprintf-posix-tests: New file.
90189         * tests/test-vprintf-posix.sh: New file.
90190         * tests/test-vprintf-posix.c: New file.
90191         * tests/test-printf-posix.h: New file.
90193         * modules/vprintf-posix: New file.
90194         * lib/vprintf.c: New file.
90195         * m4/vprintf-posix.m4: New file.
90196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
90197         REPLACE_VPRINTF.
90198         * lib/stdio_.h (vprintf): New declaration.
90199         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
90200         REPLACE_VPRINTF.
90202 2007-03-08  Bruno Haible  <bruno@clisp.org>
90204         * modules/fprintf-posix-tests: New file.
90205         * tests/test-fprintf-posix.sh: New file.
90206         * tests/test-fprintf-posix.c: New file.
90208         * modules/fprintf-posix: New file.
90209         * lib/fprintf.c: New file.
90210         * m4/fprintf-posix.m4: New file.
90211         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
90212         REPLACE_FPRINTF.
90213         * lib/stdio_.h (fprintf): New declaration.
90214         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
90215         REPLACE_FPRINTF.
90217 2007-03-08  Bruno Haible  <bruno@clisp.org>
90219         * modules/vfprintf-posix-tests: New file.
90220         * tests/test-vfprintf-posix.sh: New file.
90221         * tests/test-vfprintf-posix.c: New file.
90222         * tests/test-fprintf-posix.h: New file.
90223         * tests/test-fprintf-posix.out: New file.
90225         * modules/vfprintf-posix: New file.
90226         * lib/vfprintf.c: New file.
90227         * m4/vfprintf-posix.m4: New file.
90228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
90229         REPLACE_VFPRINTF.
90230         * lib/stdio_.h (vfprintf): New declaration.
90231         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
90232         REPLACE_VFPRINTF.
90234 2007-03-08  Bruno Haible  <bruno@clisp.org>
90236         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
90238 2007-03-08  Bruno Haible  <bruno@clisp.org>
90240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
90241         instead of 'expr' invocations.
90242         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90243         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90244         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
90246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90247         Suggested by Paul Eggert.
90249 2007-03-08  Bruno Haible  <bruno@clisp.org>
90251         * modules/fseterr-tests: New file.
90252         * tests/test-fseterr.c: New file.
90254         * modules/fseterr: New file.
90255         * lib/fseterr.h: New file.
90256         * lib/fseterr.c: New file.
90258 2007-03-08  Bruno Haible  <bruno@clisp.org>
90260         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
90261         * lib/getopt_.h: Likewise.
90262         * lib/mbswidth.h: Likewise.
90263         * lib/setenv.h: Likewise.
90264         * lib/vasnprintf.h: Likewise.
90265         * lib/vasprintf.h: Likewise.
90266         * lib/verror.h: Likewise.
90267         * lib/xsetenv.h: Likewise.
90268         * lib/xvasprintf.h: Likewise.
90270 2007-03-08  Jim Meyering  <jim@meyering.net>
90272         * users.txt: Add parted.
90274         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
90276 2007-03-07  Bruno Haible  <bruno@clisp.org>
90278         * m4/printf.m4: Make the shell script snippets copy&pastable.
90280 2007-03-02  Bruno Haible  <bruno@clisp.org>
90282         * lib/netinet_in_.h: New file.
90283         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
90284         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
90285         * modules/netinet_in (Files): Add lib/netinet_in_.h.
90286         (Depends-on): Add absolute-header.
90287         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
90288         into netinet/in.h.
90290 2007-03-03  Bruno Haible  <bruno@clisp.org>
90292         * lib/sys_select_.h: New file.
90293         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
90294         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
90295         * modules/sys_select (Files): Add lib/sys_select_.h.
90296         (Depends-on): Add absolute-header.
90297         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
90298         into sys/select.h.
90300 2007-03-02  Bruno Haible  <bruno@clisp.org>
90302         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
90303         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
90304         values.
90305         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
90306         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
90307         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
90308         * modules/sys_socket (Depends-on): Add absolute-header.
90309         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
90310         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
90311         (Include): Remove requirement of inclusion of <sys/types.h>.
90313 2007-03-02  Bruno Haible  <bruno@clisp.org>
90315         * lib/byteswap_.h (bswap_32): Fix formula.
90317 2007-03-06  Bruno Haible  <bruno@clisp.org>
90319         * modules/sprintf-posix-tests: New file.
90320         * tests/test-sprintf-posix.c: New file.
90322         * modules/sprintf-posix: New file.
90323         * lib/sprintf.c: New file.
90324         * m4/sprintf-posix.m4: New file.
90325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
90326         REPLACE_SPRINTF.
90327         * lib/stdio_.h (sprintf): New declaration.
90328         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
90329         REPLACE_SPRINTF.
90331 2007-03-06  Bruno Haible  <bruno@clisp.org>
90333         * modules/vsprintf-posix-tests: New file.
90334         * tests/test-vsprintf-posix.c: New file.
90335         * tests/test-sprintf-posix.h: New file.
90337         * modules/vsprintf-posix: New file.
90338         * lib/vsprintf.c: New file.
90339         * m4/vsprintf-posix.m4: New file.
90340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
90341         REPLACE_VSPRINTF.
90342         * lib/stdio_.h (vsprintf): New declaration.
90343         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
90344         REPLACE_VSPRINTF.
90346 2007-03-06  Bruno Haible  <bruno@clisp.org>
90348         * modules/vsnprintf (Depend-on): Remove minmax.
90350 2007-03-06  Bruno Haible  <bruno@clisp.org>
90352         * modules/snprintf-posix-tests: New file.
90353         * tests/test-snprintf-posix.c: New file.
90355         * modules/snprintf-posix: New file.
90356         * m4/snprintf-posix.m4: New file.
90357         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
90358         gl_FUNC_SNPRINTF.
90359         (gl_FUNC_SNPRINTF): Invoke it.
90360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
90361         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
90362         is set.
90363         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
90365 2007-03-06  Bruno Haible  <bruno@clisp.org>
90367         * modules/vsnprintf-posix-tests: New file.
90368         * tests/test-vsnprintf-posix.c: New file.
90369         * tests/test-snprintf-posix.h: New file.
90371         * modules/vsnprintf-posix: New file.
90372         * m4/vsnprintf-posix.m4: New file.
90373         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
90374         gl_FUNC_VSNPRINTF.
90375         (gl_FUNC_VSNPRINTF): Invoke it.
90376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
90377         * lib/stdio_.h (vsnprintf): Define as a replacement if
90378         REPLACE_VSNPRINTF is set.
90379         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
90381 2007-03-06  Bruno Haible  <bruno@clisp.org>
90383         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
90384         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
90386 2007-03-06  Bruno Haible  <bruno@clisp.org>
90388         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
90389         (asinl): Declare also if HAVE_DECL_ASINL is set.
90390         (atanl): Declare also if HAVE_DECL_ATANL is set.
90391         (ceill): Declare also if HAVE_DECL_CEILL is set.
90392         (cosl): Declare also if HAVE_DECL_COSL is set.
90393         (expl): Declare also if HAVE_DECL_EXPL is set.
90394         (floorl): Declare also if HAVE_DECL_FLOORL is set.
90395         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
90396         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
90397         (logl): Declare also if HAVE_DECL_LOGL is set.
90398         (sinl): Declare also if HAVE_DECL_SINL is set.
90399         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
90400         (tanl): Declare also if HAVE_DECL_TANL is set.
90401         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
90402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
90403         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
90404         declaration of frexpl, ldexpl.
90405         * modules/printf-frexpl (Depends-on): Add math.
90406         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
90408 2007-03-05  Bruno Haible  <bruno@clisp.org>
90410         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
90411         frexpl and ldexpl are declared.
90412         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
90414 2007-03-05  Bruno Haible  <bruno@clisp.org>
90416         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
90417         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
90419 2007-03-05  Bruno Haible  <bruno@clisp.org>
90421         * lib/stdio_.h: Include <stddef.h>.
90423 2007-03-05  Bruno Haible  <bruno@clisp.org>
90425         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
90427 2007-03-05  Bruno Haible  <bruno@clisp.org>
90429         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
90430         NetBSD 4, from Ralf Wildenhues.
90432 2007-03-04  Bruno Haible  <bruno@clisp.org>
90434         * lib/vasprintf.h: Update #if logic for the case when the functions
90435         exist but are overridden.
90437 2007-03-04  Bruno Haible  <bruno@clisp.org>
90439         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
90440         implementations: glibc-2.4 and MacOS X 10.3.
90441         * tests/test-vasnprintf-posix.c (test_function): Test also the case
90442         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
90443         * tests/test-vasprintf-posix.c (test_function): Likewise.
90445 2007-03-04  Bruno Haible  <bruno@clisp.org>
90447         * modules/vasprintf-posix-tests: New file.
90448         * tests/test-vasprintf-posix.c: New file.
90450         * modules/vasprintf-posix: New file.
90451         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
90452         defined.
90453         * m4/vasprintf-posix.m4: New file.
90454         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
90455         gl_FUNC_VASPRINTF.
90456         (gl_FUNC_VASPRINTF): Invoke it.
90457         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
90458         here.
90459         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
90461 2007-03-04  Bruno Haible  <bruno@clisp.org>
90463         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
90464         REPLACE_GETTIMEOFDAY.
90465         * modules/sys_time (Makefile.am): Likewise.
90466         * m4/sys_time_h.m4: Likewise.
90467         * m4/gettimeofday.m4: Likewise.
90469 2007-03-04  Bruno Haible  <bruno@clisp.org>
90471         * modules/vasnprintf-posix-tests: New file.
90472         * tests/test-vasnprintf-posix.c: New file.
90474         * modules/vasnprintf-posix: New file.
90475         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90476         printf-frexpl.h.
90477         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90478         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90479         REPLACE_VASNPRINTF is defined.
90480         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90481         gl_FUNC_VASNPRINTF.
90482         (gl_FUNC_VASNPRINTF): Invoke it.
90483         * m4/vasnprintf-posix.m4: New file.
90484         * m4/printf.m4: New file.
90486 2007-03-04  Bruno Haible  <bruno@clisp.org>
90488         Compile progreloc.c only if --enable-relocatable is specified.
90489         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90490         if --enable-relocatable was specified.
90491         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90492         lib_SOURCES.
90494 2007-03-04  Jim Meyering  <jim@meyering.net>
90496         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90497         Use it consistently, rather than enumerating errno constants.
90499 2007-03-04  Bruno Haible  <bruno@clisp.org>
90501         * modules/xvasprintf-tests: New file.
90502         * tests/test-xvasprintf.c: New file.
90504         * modules/vasprintf-tests: New file.
90505         * tests/test-vasprintf.c: New file.
90507         * modules/vasnprintf-tests: New file.
90508         * tests/test-vasnprintf.c: New file.
90510         * modules/vsnprintf-tests: New file.
90511         * tests/test-vsnprintf.c: New file.
90513         * modules/snprintf-tests: New file.
90514         * tests/test-snprintf.c: New file.
90516 2007-03-04  Bruno Haible  <bruno@clisp.org>
90518         Compile relocatable.c only if --enable-relocatable is specified.
90519         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90520         gl_RELOCATABLE_LIBRARY.
90521         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90522         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90523         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90524         gl_RELOCATABLE_LIBRARY.
90525         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90526         (Makefile.am): Remove lib_SOURCES.
90527         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90528         gl_RELOCATABLE_LIBRARY.
90529         (Makefile.am): Remove lib_SOURCES.
90530         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90531         always.
90532         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90533         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90535 2007-03-04  Bruno Haible  <bruno@clisp.org>
90537         * modules/argmatch-tests: New file.
90538         * tests/test-argmatch.c: New file.
90540         * tests/test-allocsa.c (main): Halve the number of loop runs.
90542         * modules/alloca-opt-tests: New file.
90543         * tests/test-alloca-opt.c: New file.
90545 2007-03-04  Jim Meyering  <jim@meyering.net>
90547         Work around difference between Linux ACLs and Solaris 10 ZFS.
90548         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90549         for EINVAL.
90551 2007-03-03  Bruno Haible  <bruno@clisp.org>
90553         * modules/relocatable-prog (Depends-on): Add back progreloc's
90554         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90556 2007-03-03  Bruno Haible  <bruno@clisp.org>
90558         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90559         * modules/relocatable-lib: New file.
90561 2007-03-03  Bruno Haible  <bruno@clisp.org>
90563         * modules/relocatable-prog: Renamed from modules/relocatable.
90564         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90566 2007-03-03  Bruno Haible  <bruno@clisp.org>
90568         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90569         m4/relocatable-lib.m4.
90570         (Depends-on): Remove 'relocatable'.
90571         (configure.ac): Add gl_RELOCATABLE_NOP.
90573 2007-03-03  Bruno Haible  <bruno@clisp.org>
90575         * modules/relocatable-prog-wrapper: New file.
90576         * modules/relocatable (Depends-on): Add it. Remove all other
90577         dependencies except progname.
90578         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90580         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90581         (gl_FUNC_STRERROR): Nop.
90582         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90584         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90585         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90587         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90588         (gl_FUNC_READLINK): Update.
90590         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90592 2007-03-03  Bruno Haible  <bruno@clisp.org>
90594         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90595         * modules/xreadlink (Depends-on): Add unistd.
90596         * modules/xreadlink-with-size (Depends-on): Likewise.
90598 2007-03-03  Bruno Haible  <bruno@clisp.org>
90600         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90601         extracted from gt_FUNC_SETENV.
90602         (gt_FUNC_SETENV): Remove macro.
90603         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90604         remove gt_FUNC_SETENV.
90606 2007-03-03  Bruno Haible  <bruno@clisp.org>
90608         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90609         ENABLE_RELOCATABLE here.
90610         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90612 2007-03-03  Bruno Haible  <bruno@clisp.org>
90614         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90615         * tests/test-rbtreehash_list.c: Include progname.h.
90616         (main): Call set_program_name.
90618         * modules/rbtree-oset-tests (Depends-on): Add progname.
90619         * tests/test-rbtree_oset.c: Include progname.h.
90620         (main): Call set_program_name.
90622         * modules/rbtree-list-tests (Depends-on): Add progname.
90623         * tests/test-rbtree_list.c: Include progname.h.
90624         (main): Call set_program_name.
90626         * modules/linked-list-tests (Depends-on): Add progname.
90627         * tests/test-linked_list.c: Include progname.h.
90628         (main): Call set_program_name.
90630 2007-03-03  Bruno Haible  <bruno@clisp.org>
90632         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90633         All uses of __restrict changed to _Restrict_.
90634         * lib/glob_.h (__restrict): Remove macro.
90636 2007-03-02  Bruno Haible  <bruno@clisp.org>
90638         * modules/gettext (configure.ac): Require gettext infrastructure
90639         from version 0.16.1.
90641 2007-03-02  Bruno Haible  <bruno@clisp.org>
90643         * modules/linkedhash-list-tests (Depends-on): Add progname.
90644         * tests/test-linkedhash_list.c: Include progname.h.
90645         (main): Call set_program_name.
90647         * modules/carray-list-tests (Depends-on): Add progname.
90648         * tests/test-carray_list.c: Include progname.h.
90649         (main): Call set_program_name.
90651         * modules/avltreehash-list-tests (Depends-on): Add progname.
90652         * tests/test-avltreehash_list.c: Include progname.h.
90653         (main): Call set_program_name.
90655         * modules/avltree-oset-tests (Depends-on): Add progname.
90656         * tests/test-avltree_oset.c: Include progname.h.
90657         (main): Call set_program_name.
90659         * modules/avltree-list-tests (Depends-on): Add progname.
90660         * tests/test-avltree_list.c: Include progname.h.
90661         (main): Call set_program_name.
90663         * modules/array-oset-tests (Depends-on): Add progname.
90664         * tests/test-array_oset.c: Include progname.h.
90665         (main): Call set_program_name.
90667         * modules/array-list-tests (Depends-on): Add progname.
90668         * tests/test-array_list.c: Include progname.h.
90669         (main): Call set_program_name.
90671         * modules/argp-tests (Depends-on): Add progname.
90672         * tests/test-argp.c: Include argp.h first. Include progname.h.
90673         (main): Call set_program_name.
90675 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90677         * doc/gnulib-tool.texi (Initial import): Reword description of
90678         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90679         limited effect even if defined after the first system include.
90681 2007-03-01  Bruno Haible  <bruno@clisp.org>
90683         * build-aux/config.libpath: Update to libtool-1.5.22.
90684         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90686 2007-03-01  Bruno Haible  <bruno@clisp.org>
90688         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90689         foo_CFLAGS.
90690         Reported by Ralf Wildenhues.
90692 2007-03-01  Bruno Haible  <bruno@clisp.org>
90694         * build-aux/install-reloc: Remove object files left over by some
90695         compilers.
90696         Reported by Ralf Wildenhues.
90698 2007-03-01  Bruno Haible  <bruno@clisp.org>
90700         * build-aux/install-reloc: Break long lines.
90702 2007-03-01  Bruno Haible  <bruno@clisp.org>
90704         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90705         Reported by Ralf Wildenhues.
90707 2007-03-01  Bruno Haible  <bruno@clisp.org>
90709         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90710         include ordering constraints.
90712 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90714         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90715         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90716         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90717         as another example.
90718         * lib/time_.h: Fix misspelling.
90719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90720         Require gl_HEADER_TIME_H_DEFAULTS.
90721         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90722         * m4/time_r.m4 (gl_TIME_R): Likewise.
90723         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90725 2007-03-01  Bruno Haible  <bruno@clisp.org>
90727         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90728         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90730 2007-03-01  Jim Meyering  <jim@meyering.net>
90732         * modules/xreadlink (Maintainer): Add my name.
90733         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90735 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90736             Bruno Haible  <bruno@clisp.org>
90738         * build-aux/install-reloc: Compile also c-ctype.c.
90739         * build-aux/relocatable.sh.in: New file.
90740         * doc/relocatable.texi: New file.
90741         * doc/relocatable-maint.texi: New file.
90742         * doc/gnulib.texi: Include relocatable-maint.texi.
90743         * lib/progreloc.c: Include unistd.h unconditionally.
90744         * lib/relocwrapper.c: Include unistd.h unconditionally.
90745         Include c-ctype.h.
90746         (add_dotbin): Use c_tolower.
90747         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90748         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90749         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90750         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90751         to m4/relocatable-lib.m4.
90752         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90753         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90754         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90755         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90756         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90757         * modules/relocatable: New file.
90758         * modules/relocatable-lib: New file.
90759         * modules/relocatable-script: New file.
90761 2007-02-28  Bruno Haible  <bruno@clisp.org>
90763         Import --enable-relocatable infrastructure.
90764         * build-aux/config.libpath: New file, from GNU gettext.
90765         * build-aux/install-reloc: New file, from GNU gettext.
90766         * build-aux/reloc-ldflags: New file, from GNU gettext.
90767         * lib/relocatable.h: New file, from GNU gettext.
90768         * lib/relocatable.c: New file, from GNU gettext.
90769         * lib/relocwrapper.c: New file, from GNU gettext.
90770         * m4/relocatable.m4: New file, from GNU gettext.
90772 2007-02-28  Bruno Haible  <bruno@clisp.org>
90774         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90776         * modules/xreadlink: New file, from GNU gettext with modifications.
90777         * lib/xreadlink.c: New file, from GNU gettext.
90778         * lib/xreadlink.h: Add comments.
90779         (xreadlink): New declaration.
90781         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90782         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90783         lib/xreadlink-with-size.c.
90784         (configure.ac): Remove gl_XREADLINK invocation.
90785         (Makefile.am): Augment lib_SOURCES.
90786         * m4/xreadlink.m4: Remove file.
90787         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90788         (xreadlink_with_size): Renamed from xreadink.
90789         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90790         * modules/canonicalize (Depends-on): Replace xreadlink with
90791         xreadlink-with-size.
90792         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90794 2007-02-25  Jim Meyering  <jim@meyering.net>
90796         * build-aux/announce-gen: When complaining about excess arguments,
90797         list them.
90799 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90801         * README: Document signed integer overflow situation more
90802         accurately.
90804 2007-02-25  Bruno Haible  <bruno@clisp.org>
90806         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90807         'a' or 'A' conversion.
90809 2007-02-25  Bruno Haible  <bruno@clisp.org>
90811         * modules/filename: Renamed from modules/pathname.
90812         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90813         lib/concatpath.c with lib/concat-filename.c.
90814         (Makefile.am): Update.
90815         (Include): Replace pathname.h with filename.h.
90816         * lib/filename.h: Renamed from lib/pathname.h.
90817         (concatenated_filename): Renamed from concatenated_pathname.
90818         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90819         (concatenated_filename): Renamed from concatenated_pathname.
90820         * lib/findprog.c: Include filename.h instead of pathname.h.
90821         (find_in_path): Update.
90822         * lib/javacomp.c: Include filename.h instead of pathname.h.
90823         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90824         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90825         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90826         is_oldgcj_14_13_usable, is_javac_usable): Update.
90827         * lib/javaexec.c: Include filename.h instead of pathname.h.
90828         (execute_java_class): Update.
90829         * modules/findprog: Update.
90830         * modules/javacomp: Update.
90831         * modules/javaexec: Update.
90832         * MODULES.html.sh (File system functions): Add 'filename', remove
90833         'pathname'.
90835 2007-02-25  Bruno Haible  <bruno@clisp.org>
90837         * modules/printf-frexpl-tests: New file.
90838         * tests/test-printf-frexpl.c: New file.
90840         * modules/printf-frexpl: New file.
90841         * lib/printf-frexpl.h: New file.
90842         * lib/printf-frexpl.c: New file.
90843         * m4/printf-frexpl.m4: New file.
90845 2007-02-25  Bruno Haible  <bruno@clisp.org>
90847         * modules/printf-frexp-tests: New file.
90848         * tests/test-printf-frexp.c: New file.
90850         * modules/printf-frexp: New file.
90851         * lib/printf-frexp.h: New file.
90852         * lib/printf-frexp.c: New file.
90853         * m4/printf-frexp.m4: New file.
90855 2007-02-25  Bruno Haible  <bruno@clisp.org>
90857         Assume automake >= 1.10 for the tests.
90858         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90859         * modules/arctwo-tests: Likewise.
90860         * modules/argp-tests: Likewise.
90861         * modules/avltree-list-tests: Likewise.
90862         * modules/avltree-oset-tests: Likewise.
90863         * modules/avltreehash-list-tests: Likewise.
90864         * modules/carray-list-tests: Likewise.
90865         * modules/crc-tests: Likewise.
90866         * modules/des-tests: Likewise.
90867         * modules/gc-arcfour-tests: Likewise.
90868         * modules/gc-arctwo-tests: Likewise.
90869         * modules/gc-des-tests: Likewise.
90870         * modules/gc-hmac-md5-tests: Likewise.
90871         * modules/gc-hmac-sha1-tests: Likewise.
90872         * modules/gc-md2-tests: Likewise.
90873         * modules/gc-md4-tests: Likewise.
90874         * modules/gc-md5-tests: Likewise.
90875         * modules/gc-pbkdf2-sha1-tests: Likewise.
90876         * modules/gc-rijndael-tests: Likewise.
90877         * modules/gc-sha1-tests: Likewise.
90878         * modules/gc-tests: Likewise.
90879         * modules/getaddrinfo-tests: Likewise.
90880         * modules/hmac-md5-tests: Likewise.
90881         * modules/hmac-sha1-tests: Likewise.
90882         * modules/linked-list-tests: Likewise.
90883         * modules/linkedhash-list-tests: Likewise.
90884         * modules/lock-tests: Likewise.
90885         * modules/md2-tests: Likewise.
90886         * modules/md4-tests: Likewise.
90887         * modules/md5-tests: Likewise.
90888         * modules/rbtree-list-tests: Likewise.
90889         * modules/rbtree-oset-tests: Likewise.
90890         * modules/rbtreehash-list-tests: Likewise.
90891         * modules/read-file-tests: Likewise.
90892         * modules/rijndael-tests: Likewise.
90893         * modules/stdint-tests: Likewise.
90894         * modules/tls-tests: Likewise.
90896 2007-02-24  Bruno Haible  <bruno@clisp.org>
90898         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90899         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90900         function; instead check whether isnan with a double argument links.
90901         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90902         function; instead check whether isnan with a 'long double' argument
90903         links.
90904         Reported by Eric Blake <ebb9@byu.net>.
90906 2007-02-24  Bruno Haible  <bruno@clisp.org>
90908         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90909         defined.
90910         * lib/isnanl.c: Remove all code. Just include isnan.c.
90911         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90913 2007-02-25  Jim Meyering  <jim@meyering.net>
90915         Avoid conflicting types for 'unsetenv' on FreeBSD.
90916         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90917         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90918         in stdlib.h.
90920 2007-02-24  Bruno Haible  <bruno@clisp.org>
90922         * modules/isnanl-nolibm-tests: New file.
90923         * tests/test-isnanl.c: New file.
90925         * modules/isnanl-nolibm: New file.
90926         * lib/isnanl.h: New file.
90927         * lib/isnanl.c: New file.
90928         * m4/isnanl.m4: New file.
90930 2007-02-24  Bruno Haible  <bruno@clisp.org>
90932         * modules/isnan-nolibm-tests: New file.
90933         * tests/test-isnan.c: New file.
90935         * modules/isnan-nolibm: New file.
90936         * lib/isnan.h: New file.
90937         * lib/isnan.c: New file.
90938         * m4/isnan.m4: New file.
90940 2007-02-24  Bruno Haible  <bruno@clisp.org>
90942         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90943         assume that an exponent fits in 20 bits.
90945 2007-02-24  Jim Meyering  <jim@meyering.net>
90947         * m4/regex.m4: Update the description of the configure-time option,
90948         --without-included-regex, to state accurately what the defaults are,
90949         and perhaps to give people an idea why using this option is risky.
90951 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90954         loops on small arguments.  This attempts to avoid the problem
90955         Bruno Haible reported for AIX 4.3.2 in
90956         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90958 2007-02-23  Bruno Haible  <bruno@clisp.org>
90960         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90961         Needed for help2man.
90963 2007-02-23  Karl Berry  <karl@gnu.org>
90965         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90966         exists, foo.h should be cvs-ignored, not committed.
90968 2007-02-23  Eric Blake  <ebb9@byu.net>
90970         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90971         * lib/stat-time.h (includes): Likewise.
90972         * lib/utimecmp.c (includes): Likewise.
90973         * lib/utimens.h (includes): Likewise.
90974         * lib/getdate.y (includes): Also include "timespec.h" for use
90975         internal to the module.
90976         * modules/utimens (Depends-on): Revert yesterday's patch.
90977         * modules/nanosleep (Depends-on): Add missing dependency.
90979 2007-02-22  Bruno Haible  <bruno@clisp.org>
90981         * lib/glob.c: Don't include getlogin_r.h.
90983 2007-02-22  Jim Meyering  <jim@meyering.net>
90985         * modules/utimens (Depends-on): Add timespec, required for
90986         utimens.h's inclusion of timespec.h.
90988 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90990         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90991         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90992         Schwab in
90993         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90994         I'll try to think of a better way to fix the Solaris problem.
90996         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90997         like glibc; on Solaris 10, it fails with errno == EINVAL.
90998         POSIX says the behavior is unspecified if the first argument is NULL,
90999         so play it safe and never pass NULL to the system getcwd.
91001 2007-02-21  Jim Meyering  <jim@meyering.net>
91003         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
91004         of gettimeofday.  It would conflict with the one now always
91005         provided via sys_time_.h.  Reported by Matthew Woehlke, as
91006         an IRIX 6.5 build failure.
91008 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
91010         Minor fixups to port to Solaris 10 with Sun C 5.8.
91011         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
91012         * modules/getcwd (Depends-on): Add dirfd.
91013         * lib/putenv.c (putenv): #undef it.
91014         (rpl_putenv): New decl.
91015         (malloc, free): Include <stdlib.h> rather than prototyping separately.
91017 2007-02-20  Bruno Haible  <bruno@clisp.org>
91019         * modules/stdio-tests: New file.
91020         * tests/test-stdio.c: New file.
91022         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
91023         (Depends-on): Add stdio.
91024         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91025         (Include): Use <stdio.h> instead of vsnprintf.h.
91026         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91027         HAVE_DECL_VSNPRINTF.
91028         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
91030         * modules/snprintf (Files): Remove lib/snprintf.h.
91031         (Depends-on): Add stdio.
91032         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91033         (Include): Use <stdio.h> instead of snprintf.h.
91034         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91035         HAVE_DECL_SNPRINTF.
91036         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
91037         * lib/getaddrinfo.c: Likewise.
91039         * modules/stdio: New file.
91040         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
91041         * lib/snprintf.h: Remove file.
91042         * lib/vsnprintf.h: Remove file.
91043         * lib/.cppi-disable: Remove snprintf.h.
91044         * m4/stdio_h.m4: New file.
91045         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
91047 2007-02-20  Jim Meyering  <jim@meyering.net>
91049         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
91050         used by e.g., mingw.  From Bruno Haible.
91052 2007-02-19  Bruno Haible  <bruno@clisp.org>
91054         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
91055         warnings.
91056         Reported by Ben Pfaff <blp@cs.stanford.edu>.
91058 2007-02-19  Bruno Haible  <bruno@clisp.org>
91060         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
91061         from mingw users.
91063 2007-02-19  Bruno Haible  <bruno@clisp.org>
91065         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
91066         warnings.
91067         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
91069 2007-02-19  Jim Meyering  <jim@meyering.net>
91071         Don't use FD after a successful "fdopendir (fd)".
91072         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
91073         Reset it by calling dirfd on the just-obtained DIR*.
91075         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
91076         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
91078 2007-02-18  Bruno Haible  <bruno@clisp.org>
91080         * lib/readlink.c: Include <unistd.h>.
91081         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
91082         HAVE_READLINK.
91083         * modules/readlink (Depends-on): Add unistd.
91084         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91085         (Include): Add <unistd.h>.
91087         * lib/getlogin_r.h: Remove file.
91088         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
91089         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
91090         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
91091         HAVE_DECL_GETLOGIN_R.
91092         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
91093         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91094         (Include): Use <unistd.h> instead of getlogin_r.h.
91096         * lib/getcwd.h: Remove file.
91097         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
91098         * lib/xgetcwd.c: Likewise.
91099         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
91100         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
91101         * modules/getcwd (Files): Remove lib/getcwd.h.
91102         (Depends-on): Add unistd.
91103         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91104         (Include): Use <unistd.h> instad of getcwd.h.
91106         * lib/ftruncate.c: Include <unistd.h> first.
91107         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
91108         Set HAVE_FTRUNCATE.
91109         * modules/ftruncate (Depends-on): Add unistd.
91110         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91112         * lib/fchdir.c: Include <unistd.h> first.
91113         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
91114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
91115         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
91116         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91117         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
91119         * lib/dup2.c: Include <unistd.h> first.
91120         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
91121         HAVE_DUP2.
91122         * modules/dup2 (Depends-on): Add unistd.
91123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91125         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
91126         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
91127         REPLACE_CHOWN. Don't define chown as a macro here.
91128         * modules/chown (Depends-on): Add unistd.
91129         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91131         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
91132         Add definition for GL_LINK_WARNING.
91133         (chown, dup2): New declarations.
91134         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
91135         link warning.
91136         (ftruncate): New declaration.
91137         (getcwd): New declaration, taken from old getcwd.h.
91138         (getlogin_r): New declaration, taken from old getlogin_r.h.
91139         (readlink): New declaration.
91140         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
91141         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
91142         (gl_PREREQ_UNISTD): Remove macro.
91143         (gl_UNISTD_MODULE_INDICATOR): New macro.
91144         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
91145         many new variables. Don't set UNISTD_H.
91146         * modules/unistd (Description): Change.
91147         (Depends-on): Add link-warning.
91148         (configure.ac): Update.
91149         (Makefile.am): Create unistd.h always. Substitute many new variables
91150         into it.
91152 2007-02-18  Bruno Haible  <bruno@clisp.org>
91154         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
91155         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
91156         HAVE_GETSUBOPT.
91157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
91158         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
91159         * lib/getsubopt.h: Remove file.
91160         * modules/getsubopt (Files): Remove lib/getsubopt.h.
91161         (Depends-on): Add stdlib.
91162         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91163         (Includes): Use <stdlib.h> instead of getsubopt.h.
91164         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
91165         Set HAVE_GETSUBOPT.
91166         * lib/getsubopt.c: Don't include getsubopt.h.
91168 2007-02-18  Bruno Haible  <bruno@clisp.org>
91170         * modules/fchdir (Depends-on): Add dup2.
91172 2007-02-18  Bruno Haible  <bruno@clisp.org>
91174         * lib/stdlib_.h: Handle glibc's special invocation convention
91175         specially.
91177 2007-02-18  Bruno Haible  <bruno@clisp.org>
91179         * modules/stdlib-tests: New file.
91180         * tests/test-stdlib.c: New file.
91182         * modules/mkstemp (Files): Remove lib/mkstemp.h.
91183         (Depends-on): Add stdlib.
91184         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91185         (Includes): Use <stdlib.h> instead of mkstemp.h.
91186         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91187         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
91188         * lib/mkstemp.c: Don't include mkstemp.h.
91189         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
91190         * lib/stdlib--.h: Don't include mkstemp.h.
91192         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
91193         (Depends-on): Add stdlib.
91194         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91195         (Includes): Use <stdlib.h> instead of mkdtemp.h.
91196         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91197         HAVE_MKDTEMP.
91198         * lib/mkdtemp.c: Don't include mkdtemp.h.
91199         * lib/clean-temp.c: Don't include mkdtemp.h.
91201         * modules/exit (Files): Remove lib/exit.h.
91202         (Depends-on): Add stdlib.
91203         (Makefile.am): Remove lib_SOURCES.
91204         (Include): Use <stdlib.h> instead of exit.h.
91205         * lib/argmatch.c: Don't include exit.h.
91206         * lib/execute.c: Likewise.
91207         * lib/pagealign_alloc.c: Likewise.
91208         * lib/pipe.c: Likewise.
91209         * lib/wait-process.c: Likewise.
91210         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
91211         * lib/exitfail.c: Likewise.
91212         * lib/savewd.c: Likewise.
91213         * lib/xsetenv.c: Likewise.
91215         * modules/stdlib: New file.
91216         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
91217         and extra comments about mkstemp().
91218         * lib/exit.h: Remove file.
91219         * lib/mkdtemp.h: Remove file.
91220         * lib/mkstemp.h: Remove file.
91221         * m4/stdlib_h.m4: New file.
91222         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
91224 2007-02-18  Bruno Haible  <bruno@clisp.org>
91226         * modules/math-tests: New file.
91227         * tests/test-math.c: New file.
91229         * modules/math: New file.
91230         * modules/mathl (Files): Remove lib/mathl.h.
91231         (Depends-on): Add math.
91232         (Makefile.am): Don't mention mathl.h.
91233         (Include): Use <math.h> instead of mathl.h.
91234         * lib/math_.h: New file.
91235         * lib/mathl.h: Remove file.
91236         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
91237         mathl.h.
91238         * lib/asinl.c: Likewise.
91239         * lib/atanl.c: Likewise.
91240         * lib/ceill.c: Likewise.
91241         * lib/cosl.c: Likewise.
91242         * lib/expl.c: Likewise.
91243         * lib/floorl.c: Likewise.
91244         * lib/frexpl.c: Likewise.
91245         * lib/ldexpl.c: Likewise.
91246         * lib/logl.c: Likewise.
91247         * lib/sincosl.c: Likewise.
91248         * lib/sinl.c: Likewise.
91249         * lib/sqrtl.c: Likewise.
91250         * lib/tanl.c: Likewise.
91251         * lib/trigl.c: Likewise.
91252         * m4/math_h.m4: New file.
91253         * MODULES.html.sh (Mathematics): Add math.
91255 2007-02-17  Bruno Haible  <bruno@clisp.org>
91257         * modules/wctype-tests: New file.
91258         * tests/test-wctype.c: New file.
91260         * modules/wchar-tests: New file.
91261         * tests/test-wchar.c: New file.
91263         * modules/unistd-tests: New file.
91264         * tests/test-unistd.c: New file.
91266         * modules/time-tests: New file.
91267         * tests/test-time.c: New file.
91269         * modules/sysexits-tests: New file.
91270         * tests/test-sysexits.c: New file.
91272         * modules/sys_time-tests: New file.
91273         * tests/test-sys_time.c: New file.
91275         * modules/sys_stat-tests: New file.
91276         * tests/test-sys_stat.c: New file.
91278         * modules/sys_socket-tests: New file.
91279         * tests/test-sys_socket.c: New file.
91281         * modules/sys_select-tests: New file.
91282         * tests/test-sys_select.c: New file.
91284         * modules/string-tests: New file.
91285         * tests/test-string.c: New file.
91287         * modules/stdbool-tests: New file.
91288         * tests/test-stdbool.c: New file.
91290         * modules/netinet_in-tests: New file.
91291         * tests/test-netinet_in.c: New file.
91293         * modules/inttypes-tests: New file.
91294         * tests/test-inttypes.c: New file.
91296         * modules/fcntl-tests: New file.
91297         * tests/test-fcntl.c: New file.
91299         * modules/byteswap-tests: New file.
91300         * tests/test-byteswap.c: New file.
91302         * modules/arpa_inet-tests: New file.
91303         * tests/test-arpa_inet.c: New file.
91305 2007-02-17  Bruno Haible  <bruno@clisp.org>
91307         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
91308         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
91309         if the corresponding module is not enabled. Emit link warnings if
91310         the function is used nevertheless.
91311         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
91312         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
91313         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
91314         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
91315         * modules/inttypes (Depends-on): Add link-warning.
91316         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91317         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
91318         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
91319         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
91320         * modules/imaxdiv (configure.ac): Likewise.
91321         * modules/strtoimax (configure.ac): Likewise.
91322         * modules/strtoumax (configure.ac): Likewise.
91324 2007-02-17  Bruno Haible  <bruno@clisp.org>
91326         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
91327         gl_STRING_MODULE_INDICATOR_DEFAULTS.
91328         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
91329         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
91331 2007-02-17  Bruno Haible  <bruno@clisp.org>
91333         * modules/link-warning: New file.
91334         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
91335         * lib/string_.h (GL_LINK_WARNING): Remove definition.
91336         * modules/string (Depends-on): Add link-warning.
91337         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91338         string.h.
91339         * MODULES.html.sh (Support for building libraries and executables): Add
91340         link-warning.
91342 2007-02-17  Bruno Haible  <bruno@clisp.org>
91344         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
91345         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
91346         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
91347         long lines.
91349 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
91350             Bruno Haible  <bruno@clisp.org>
91352         * modules/tmpfile: New file.
91353         * lib/tmpfile.c: New file.
91354         * m4/tmpfile.m4: New file.
91355         * MODULES.html.sh (func_all_modules): New section "Input/output".
91357 2007-02-15  Bruno Haible  <bruno@clisp.org>
91359         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
91360         (supports_delete_on_close): New function.
91361         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
91363 2007-02-14  Bruno Haible  <bruno@clisp.org>
91365         * modules/mbspcasecmp-tests: New file.
91366         * tests/test-mbspcasecmp.sh: New file.
91367         * tests/test-mbspcasecmp.c: New file.
91369         New module mbspcasecmp.
91370         * modules/mbspcasecmp: New file.
91371         * lib/mbspcasecmp.c: New file.
91372         * lib/string_.h (strncasecmp): Change warning message.
91373         (mbspcasecmp): New declaration.
91374         * m4/mbspcasecmp.m4: New file.
91375         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91376         GNULIB_MBSPCASECMP.
91377         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
91378         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
91380 2007-02-14  Bruno Haible  <bruno@clisp.org>
91382         * modules/mbsncasecmp-tests: New file.
91383         * tests/test-mbsncasecmp.sh: New file.
91384         * tests/test-mbsncasecmp.c: New file.
91386         New module mbsncasecmp.
91387         * modules/mbsncasecmp: New file.
91388         * lib/mbsncasecmp.c: New file.
91389         * lib/string_.h (mbsncasecmp): New declaration.
91390         * m4/mbsncasecmp.m4: New file.
91391         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91392         GNULIB_MBSNCASECMP.
91393         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
91394         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
91396 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
91398         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
91399         Verify that it doesn't overlap with our flags.
91400         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
91401         do not have the desired effect in multibyte locales; instead, use
91402         mbscasecmp.
91403         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
91404         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
91405         we don't require GNU fnmatch ourselves (if our users require it, they
91406         should do so explicitly).
91408         Fix regex code so it doesn't rely on strcasecmp.
91409         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
91410         Otherwise, include gnulib's langinfo.h.
91411         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
91412         undesirable behavior in non-C locales.  Instead, rely on localecharset.
91413         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
91414         * modules/regex (FILES): Remove m4/codeset.m4.
91415         (Depends-on): Add localcharset.  Remove strcase.
91417 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91419         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
91420         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
91422 2007-02-13  Bruno Haible  <bruno@clisp.org>
91424         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
91425         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91427 2007-02-12  Bruno Haible  <bruno@clisp.org>
91429         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91430         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
91431         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
91432         time warning rather than a link error.
91434 2007-02-12  Bruno Haible  <bruno@clisp.org>
91436         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
91437         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91440 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91442         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
91443         args, not 2.
91445 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91447         New module 'time', so that apps can include <time.h> as per
91448         POSIX and GNU instead of separate include files like time_r.h
91449         and timegm.h.  This implementation tries out a simpler approach
91450         for replacing decls in standard include files (as compared to
91451         the string module), somewhat as an experiment.
91453         * config/srclist.txt: Comment out mktime.c for now.
91454         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
91455         since it doesn't apply any more.  Use generic wording instead.
91456         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
91457         'time'.
91458         * lib/time_.h, m4/time_h.m4, modules/time: New files.
91459         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
91460         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
91461         Don't include <sys/types.h>; no longer needed since we assume C89.
91462         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
91463         * lib/strftime.c: Likewise.
91464         * lib/time_r.c: Likewise.
91465         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
91466         * lib/nanosleep.c: Include <time.h> first, to check interface.
91467         * lib/strptime.c: Likewise.
91468         * lib/time_r.c: Likewise.
91469         * lib/timegm.c: Likewise.
91470         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91471         needed.
91472         * lib/timegm.c: Don't include timegm.h; no longer needed.
91473         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91474         time.h now handles any problems in that area.
91475         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91476         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91477         that time.h defines struct timespec.
91478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91479         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91480         handles that.
91481         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91482         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91483         needed.  Set REPLACE_LOCALTIME.
91484         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91485         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91486         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91487         nanosleep; time_h.m4 now does that.  Don't require
91488         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91489         module handles this now.
91490         * modules/getdate (Depends-on): Remove timespec.  Add time.
91491         * modules/nanosleep (Depends-on): Likewise.
91492         * modules/stat-time (Depends-on): Likewise.
91493         * modules/nanosleep (Include): Include time.h, not timespec.h.
91494         * modules/strptime (Files): Remove lib/strptime.h.
91495         (Depends-on): Add extensions, time.
91496         (Include): Include time.h, not strptime.h.
91497         * modules/time_r (Files): Remove lib/time_r.h.
91498         (Depends-on): Add time.
91499         (Include): Include time.h, not time_r.h.
91500         * modules/timegm: Likewise.
91501         * modules/timespec (Description): Now does timespec-related decls
91502         of our own, instead of struct timespec itself.
91503         (Depends-on): Add time; remove extensions.
91504         (Maintainer): Add self.
91505         * modules/utimecmp (Depends-on): Add time; remove timespec.
91506         * modules/utimens (Depends-on): Likewise.
91507         * modules/xnanosleep (Depends-on): Likewise.
91509 2007-02-11  Bruno Haible  <bruno@clisp.org>
91511         * lib/c-strstr.c: Include allocsa.h.
91512         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91513         * lib/c-strcasestr.c: Include allocsa.h.
91514         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91515         * lib/strcasestr.c: Include allocsa.h.
91516         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91517         * lib/mbsstr.c: Include allocsa.h.
91518         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91519         allocsa/freesa instead of malloc/free.
91520         * lib/mbscasestr.c: Include allocsa.h.
91521         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91522         allocsa/freesa instead of malloc/free.
91523         * modules/c-strstr (Depends-on): Add allocsa.
91524         * modules/c-strcasestr (Depends-on): Likewise.
91525         * modules/strcasestr (Depends-on): Likewise.
91526         * modules/mbsstr (Depends-on): Likewise.
91527         * modules/mbscasestr (Depends-on): Likewise.
91529 2007-02-11  Bruno Haible  <bruno@clisp.org>
91531         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91533         * modules/mbsspn-tests: New file.
91534         * tests/test-mbsspn.sh: New file.
91535         * tests/test-mbsspn.c: New file.
91537 2007-02-11  Bruno Haible  <bruno@clisp.org>
91539         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91541         * modules/mbspbrk-tests: New file.
91542         * tests/test-mbspbrk.sh: New file.
91543         * tests/test-mbspbrk.c: New file.
91545 2007-02-11  Bruno Haible  <bruno@clisp.org>
91547         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91548         unneeded cast.
91550         * modules/mbscspn-tests: New file.
91551         * tests/test-mbscspn.sh: New file.
91552         * tests/test-mbscspn.c: New file.
91554 2007-02-11  Bruno Haible  <bruno@clisp.org>
91556         * modules/mbscasecmp-tests: New file.
91557         * tests/test-mbscasecmp.sh: New file.
91558         * tests/test-mbscasecmp.c: New file.
91560 2007-02-11  Bruno Haible  <bruno@clisp.org>
91562         Ensure O(n) worst-case complexity of mbscasestr.
91563         * lib/mbscasestr.c: Include stdbool.h.
91564         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91565         functions.
91566         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91567         the bookkeeping indicates that it's worth it.
91568         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91570         * modules/mbscasestr-tests: New file.
91571         * tests/test-mbscasestr1.c: New file.
91572         * tests/test-mbscasestr2.sh: New file.
91573         * tests/test-mbscasestr2.c: New file.
91574         * tests/test-mbscasestr3.sh: New file.
91575         * tests/test-mbscasestr3.c: New file.
91576         * tests/test-mbscasestr4.sh: New file.
91577         * tests/test-mbscasestr4.c: New file.
91578         * m4/locale-tr.m4: New file.
91580 2007-02-11  Bruno Haible  <bruno@clisp.org>
91582         Ensure O(n) worst-case complexity of mbsstr.
91583         * lib/mbsstr.c: Include stdbool.h.
91584         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91585         functions.
91586         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91587         bookkeeping indicates that it's worth it.
91588         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91590         * modules/mbsstr-tests: New file.
91591         * tests/test-mbsstr1.c: New file.
91592         * tests/test-mbsstr2.sh: New file.
91593         * tests/test-mbsstr2.c: New file.
91594         * tests/test-mbsstr3.sh: New file.
91595         * tests/test-mbsstr3.c: New file.
91596         * m4/locale-fr.m4: New file.
91598 2007-02-11  Bruno Haible  <bruno@clisp.org>
91600         * lib/mbsrchr.c (mbsrchr): Fix bug.
91602         * modules/mbsrchr-tests: New file.
91603         * tests/test-mbsrchr.sh: New file.
91604         * tests/test-mbsrchr.c: New file.
91606 2007-02-11  Bruno Haible  <bruno@clisp.org>
91608         * lib/mbschr.c (mbschr): Fix bug.
91610         * modules/mbschr-tests: New file.
91611         * tests/test-mbschr.sh: New file.
91612         * tests/test-mbschr.c: New file.
91613         * m4/locale-zh.m4: New file.
91615 2007-02-11  Bruno Haible  <bruno@clisp.org>
91617         Support for copying multibyte string iterators.
91618         * lib/mbiter.h: Include <string.h>.
91619         (mbiter_multi_copy): New function.
91620         (mbi_copy): New macro.
91621         * lib/mbuiter.h: Include <string.h>.
91622         (mbuiter_multi_copy): New function.
91623         (mbui_copy): New macro.
91625 2007-02-11  Bruno Haible  <bruno@clisp.org>
91627         New module mbslen.
91628         * modules/mbslen: New file.
91629         * lib/mbslen.c: New file.
91630         * lib/string_.h (mbslen): New declaration.
91631         * m4/mbslen.m4: New file.
91632         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91633         GNULIB_MBSLEN.
91634         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91635         * MODULES.html.sh (Internationalization functions): Add mbslen.
91637 2007-02-11  Bruno Haible  <bruno@clisp.org>
91639         Ensure O(n) worst-case complexity of strcasestr substitute.
91640         * lib/strcasestr.c: Include stdbool.h.
91641         (knuth_morris_pratt): New function.
91642         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91643         bookkeeping indicates that it's worth it.
91644         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91646         * modules/strcasestr-tests: New file.
91647         * tests/test-strcasestr.c: New file.
91649 2007-02-11  Bruno Haible  <bruno@clisp.org>
91651         Ensure O(n) worst-case complexity of c_strcasestr.
91652         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91653         (knuth_morris_pratt): New function.
91654         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91655         the bookkeeping indicates that it's worth it.
91656         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91658         * modules/c-strcasestr-tests: New file.
91659         * tests/test-c-strcasestr.c: New file.
91661 2007-02-11  Bruno Haible  <bruno@clisp.org>
91663         Ensure O(n) worst-case complexity of c_strstr.
91664         * lib/c-strstr.c: Include stdbool.h, string.h.
91665         (knuth_morris_pratt): New function.
91666         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91667         bookkeeping indicates that it's worth it.
91668         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91670         * lib/c-strstr.c: Complete rewrite for maintainability.
91672         * modules/c-strstr-tests: New file.
91673         * tests/test-c-strstr.c: New file.
91675 2007-02-11  Bruno Haible  <bruno@clisp.org>
91677         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91678         5.2.1 and earlier, whereby \055 was treated just like the range
91679         delimiter '-'.
91680         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91682 2007-02-08  Bruno Haible  <bruno@clisp.org>
91684         * modules/regex (Depends-on): Add stdbool.
91685         Reported by Dalibor Topic <robilad@kaffe.org>.
91687 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91689         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91690         Prefer returning from main to exiting from it.
91691         Remove unnecessary parens after sizeof.
91693 2007-02-05  Bruno Haible  <bruno@clisp.org>
91695         New module mbssep.
91696         * modules/mbssep: New file.
91697         * lib/mbssep.c: New file.
91698         * lib/string_.h (strsep): Add a conditional link warning.
91699         (mbssep): New declaration.
91700         * m4/mbssep.m4: New file.
91701         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91702         GNULIB_MBSSEP.
91703         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91704         * MODULES.html.sh (Internationalization functions): Add mbssep.
91706 2007-02-05  Bruno Haible  <bruno@clisp.org>
91708         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91709         Optimize search in case of 1 delimiter.
91711 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91713         * lib/acl.h: Include sys/types.h before sys/acl.h.
91715 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91717         Merge upstream fix for glibc bugzilla #3957:
91719         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91721         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91722         bit for RE_HAT_LISTS_NOT_NEWLINE.
91723         (build_charclass_op): Remove bogus comment.
91725 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91727         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91729 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91731         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91732         * lib/memmem.c [!defined _LIBC]: Include config.h.
91734 2007-02-04  Bruno Haible  <bruno@clisp.org>
91736         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91737         warning message.
91739 2007-02-04  Bruno Haible  <bruno@clisp.org>
91741         New module mbstok_r.
91742         * modules/mbstok_r: New file.
91743         * lib/mbstok_r.c: New file.
91744         * lib/string_.h (strtok_r): Change argument names to match the
91745         comments. Add a conditional link warning.
91746         (mbstok_r): New declaration.
91747         * m4/mbstok_r.m4: New file.
91748         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91749         GNULIB_MBSTOK_R.
91750         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91751         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91753 2007-02-04  Bruno Haible  <bruno@clisp.org>
91755         New module mbsspn.
91756         * modules/mbsspn: New file.
91757         * lib/mbsspn.c: New file.
91758         * lib/string_.h (strspn): Add a conditional link warning.
91759         (mbsspn): New declaration.
91760         * m4/mbsspn.m4: New file.
91761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91762         GNULIB_MBSSPN.
91763         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91764         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91766 2007-02-04  Bruno Haible  <bruno@clisp.org>
91768         New module mbspbrk.
91769         * modules/mbspbrk: New file.
91770         * lib/mbspbrk.c: New file.
91771         * lib/string_.h (strpbrk): Add a conditional link warning.
91772         (mbspbrk): New declaration.
91773         * m4/mbspbrk.m4: New file.
91774         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91775         GNULIB_MBSPBRK.
91776         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91777         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91779 2007-02-04  Bruno Haible  <bruno@clisp.org>
91781         New module mbscspn.
91782         * modules/mbscspn: New file.
91783         * lib/mbscspn.c: New file.
91784         * lib/string_.h (strcspn): Add a conditional link warning.
91785         (mbscspn): New declaration.
91786         * m4/mbscspn.m4: New file.
91787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91788         GNULIB_MBSCSPN.
91789         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91790         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91792 2007-02-04  Bruno Haible  <bruno@clisp.org>
91794         New module mbscasestr, reduced goal of strcasestr.
91795         * modules/mbscasestr: New file.
91796         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91797         (mbscasestr): Renamed from strcasestr.
91798         * lib/strcasestr.c: Don't include mbuiter.h.
91799         (strcasestr): Remove support for multibyte locales.
91800         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91801         Change the conditional link warning.
91802         (mbscasestr): New declaration.
91803         * m4/mbscasestr.m4: New file.
91804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91805         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91806         REPLACE_STRCASESTR.
91807         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91808         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91809         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91810         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91811         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91812         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91813         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91814         (Depends-on): Remove mbuiter.
91815         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91817 2007-02-04  Bruno Haible  <bruno@clisp.org>
91819         Simplify handling of strncasecmp.
91820         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91821         the conditional link warning.
91822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91823         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91824         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91825         * modules/strcase (configure.ac): Don't invoke
91826         gl_STRING_MODULE_INDICATOR.
91827         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91829 2007-02-04  Bruno Haible  <bruno@clisp.org>
91831         New module mbscasecmp, reduced goal of strcasecmp.
91832         * modules/mbscasecmp: New file.
91833         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91834         (mbscasecmp): Renamed from strcasecmp.
91835         * lib/strcasecmp.c: Don't include mbuiter.h.
91836         (strcasecmp): Remove support for multibyte locales.
91837         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91838         Change the conditional link warning.
91839         (mbscasecmp): New declaration.
91840         * m4/mbscasecmp.m4: New file.
91841         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91842         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91843         REPLACE_STRCASECMP.
91844         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91845         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91846         GNULIB_MBSCASECMP.
91847         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91848         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91849         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91850         (Depends-on): Remove mbuiter.
91851         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91853 2007-02-04  Bruno Haible  <bruno@clisp.org>
91855         New module mbsstr. Remove module strstr.
91856         * modules/mbsstr: New file.
91857         * modules/strstr: Remove file.
91858         * lib/mbsstr.c: Renamed from lib/strstr.c.
91859         (mbsstr): Renamed from strstr.
91860         * lib/string_.h (strstr): Remove declaration. Change the conditional
91861         link warning.
91862         (mbsstr): New declaration.
91863         * m4/mbsstr.m4: New file.
91864         * m4/strstr.m4: Remove file.
91865         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91866         REPLACE_STRSTR.
91867         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91868         Don't initialize GNULIB_STRSTR.
91869         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91870         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91871         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91872         (Support for systems lacking ANSI C 89): Remove strstr.
91874 2007-02-04  Bruno Haible  <bruno@clisp.org>
91876         New module mbsrchr.
91877         * modules/mbsrchr: New file.
91878         * lib/mbsrchr.c: New file.
91879         * lib/string_.h (strrchr): Add a conditional link warning.
91880         (mbsrchr): New declaration.
91881         * m4/mbsrchr.m4: New file.
91882         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91883         GNULIB_MBSRCHR.
91884         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91885         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91887 2007-02-04  Bruno Haible  <bruno@clisp.org>
91889         New module mbschr.
91890         * modules/mbschr: New file.
91891         * lib/mbschr.c: New file.
91892         * lib/string_.h (strchr): Add a conditional link warning.
91893         (mbschr): New declaration.
91894         * m4/mbschr.m4: New file.
91895         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91896         GNULIB_MBSCHR.
91897         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91898         * MODULES.html.sh (Internationalization functions): Add mbschr.
91900 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91902         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91904         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91906 2007-02-04  Bruno Haible  <bruno@clisp.org>
91908         New module description section 'configure.ac-early'.
91909         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91910         (func_get_autoconf_early_snippet): New function.
91911         (func_import, func_create_testdir): Use it. Remove special cases for
91912         modules 'extensions' and 'lock'.
91913         * modules/extensions (configure.ac-early): Require
91914         gl_USE_SYSTEM_EXTENSIONS.
91915         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91917 2007-02-04  Bruno Haible  <bruno@clisp.org>
91919         Make use of gcj-4.3's -fsource and -ftarget option.
91920         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91921         and if so try the options -fsource and -ftarget.
91922         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91923         source_version, ftarget_option, target_version arguments.
91924         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91925         (is_envjavac_oldgcj_14_14_usable): Renamed from
91926         is_envjavac_gcj_14_14_usable.
91927         (is_envjavac_oldgcj_14_13_usable): Renamed from
91928         is_envjavac_gcj_14_13_usable.
91929         (is_gcj_present): Update.
91930         (is_gcj_43, is_gcj43_usable): New functions.
91931         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91932         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91933         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91934         try the options -fsource and -ftarget.
91936 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91938         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91939         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91940         larger value.
91942 2007-02-03  Jim Meyering  <jim@meyering.net>
91944         Give tools a better chance to allocate space for very large buffers.
91945         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91947         Make pwd and readlink work also when run with an unreadable parent dir
91948         on systems with openat support.
91949         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91950         provided getcwd function, even when we have openat support.
91951         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91953 2007-02-02  Bruno Haible  <bruno@clisp.org>
91955         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91956         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91957         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91958         portability problems if one of these functions is only used on specific
91959         platforms.
91960         Reported by Paul Eggert.
91962 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91964         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91965         is causing more trouble than it's curing.
91966         * lib/regex_internal.h (__mempcpy): Remove.
91967         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91968         (and make the code a tad smaller to boot).
91969         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91971 2007-02-02  Jim Meyering  <jim@meyering.net>
91973         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91974         section, not in the Makefile.am: one.
91976 2007-02-02  Eric Blake  <ebb9@byu.net>
91978         * lib/strchrnul.c: Always include config.h first.
91980         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91981         gnulib strstr is not necessary here.
91983 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91985         * m4/socklen.m4: Fix typo.
91987 2007-02-02  Eric Blake  <ebb9@byu.net>
91989         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91990         * modules/netinet_in (Makefile.am): Likewise.
91992 2007-02-01  Bruno Haible  <bruno@clisp.org>
91994         * lib/string_.h (GL_LINK_WARNING): New macro.
91995         (strcasecmp, strstr, strcasestr): If provided by the system,
91996         conditionally define as a macro that leads to a warning instead of to
91997         an error.
91998         (strncasecmp): Conditionally define as a macro that leads to a warning.
92000 2007-02-01  Karl Berry  <karl@gnu.org>
92002         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
92004 2007-02-01  Bruno Haible  <bruno@clisp.org>
92006         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
92007         renamings.
92009 2007-02-01  Eric Blake  <ebb9@byu.net>
92011         * modules/regex (Depends-on): Revert dependence on mempcpy.
92012         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
92013         module's definition of mempcpy.
92014         Reported by Paul Eggert.
92016 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
92018         * lib/string_.h: If the gnulib module XYZ is not present, undefine
92019         the symbol XYZ before redefining it.  This fixes a problem with
92020         programs that don't use XYZ, when compiled on systems that define
92021         XYZ to something else.
92023 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
92025         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
92026         occurs when "mkdir -m foo" creates a setgid directory that is (1)
92027         writeable to group or other and (2) is intended to have a special
92028         mode bit that is set or cleared.  In such a case, the directory
92029         should be neither group- nor other-writeable until the special
92030         mode bits are right.
92032 2007-01-31  Eric Blake  <ebb9@byu.net>
92034         * modules/mountlist (Depends-on): Add strstr.
92036         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
92037         bug.
92038         * modules/string (Makefile.am): Remove redundant replacement.
92039         * modules/regex (Depends-on): Add mempcpy.
92041 2007-01-31  Bruno Haible  <bruno@clisp.org>
92043         New module description field 'Link'.
92044         * gnulib-tool (func_usage): Document --extract-link-directive.
92045         (sed_extract_prog): Recognize 'Link' directive.
92046         (func_get_link_directive): New function.
92047         (func_import): Show summary of link directives.
92048         Handle --extract-link-directive option.
92049         * modules/acl (Link): New section.
92050         * modules/clock-time (Link): New section.
92051         * modules/euidaccess (Link): New section.
92052         * modules/gettext (Link): New section.
92053         * modules/iconv (Link): New section.
92054         * modules/lock (Link): New section.
92055         * modules/nanosleep (Link): New section.
92056         * modules/readline (Link): New section.
92058 2007-01-27  Bruno Haible  <bruno@clisp.org>
92060         Enforce the use of gnulib modules for unportable <string.h> functions.
92061         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
92062         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
92063         (gl_HEADER_STRING_H_BODY): Require it.
92064         * lib/string_.h: If the gnulib module XYZ is not present, redefine
92065         the symbol XYZ to one that gives a link error.
92066         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
92067         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
92068         * modules/mempcpy (configure.ac): Likewise.
92069         * modules/memrchr (configure.ac): Likewise.
92070         * modules/stpcpy (configure.ac): Likewise.
92071         * modules/stpncpy (configure.ac): Likewise.
92072         * modules/strcase (configure.ac): Likewise.
92073         * modules/strcasestr (configure.ac): Likewise.
92074         * modules/strchrnul (configure.ac): Likewise.
92075         * modules/strdup (configure.ac): Likewise.
92076         * modules/strndup (configure.ac): Likewise.
92077         * modules/strnlen (configure.ac): Likewise.
92078         * modules/strpbrk (configure.ac): Likewise.
92079         * modules/strsep (configure.ac): Likewise.
92080         * modules/strstr (configure.ac): Likewise.
92081         * modules/strtok_r (configure.ac): Likewise.
92083 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
92085         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
92087 2007-01-30  Jim Meyering  <jim@meyering.net>
92089         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
92091 2007-01-29  Bruno Haible  <bruno@clisp.org>
92093         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
92094         * lib/execute.c: Likewise.
92095         * lib/pipe.c: Likewise.
92096         * lib/printf-args.h: Likewise.
92097         * lib/printf-args.c: Likewise.
92098         * lib/printf-parse.c: Likewise.
92099         * lib/vasnprintf.c: Likewise.
92101 2007-01-29  Eric Blake  <ebb9@byu.net>
92103         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
92104         declaration.
92106 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
92108         * lib/strptime.h (strptime): Use 'restrict' for args where
92109         POSIX requires this.
92110         * lib/strptime.c (strptime): Likewise.
92111         Change license notice from LGPL to GPL, since gnulib-tool will
92112         change this as needed.
92113         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
92114         defined.
92115         Include "strptime.h" first, to check interface.
92116         Do not #undef _LIBC and _NL_CURRENT.
92117         Do not include <stdlib.h>; no longer needed.
92118         Include "time_r.h" and declare ptime_locale_status
92119         only if _LIBC is not defined.
92120         (__P): Remove unused macro.
92121         (match_string): Bring back glibc version, but use it only if _LIBC
92122         is defined.
92123         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
92124         Remove unnecessary assertion and abort() call.
92125         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
92126         * m4/strptime.m4: Fix serial number comment.
92127         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
92128         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
92129         (Depends-on): Add time_r.
92131 2007-01-29  Bruno Haible  <bruno@clisp.org>
92133         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92134         strptime.
92135         * modules/strptime (Depends-on): Add stdbool.
92136         * lib/strptime.h: Include <time.h> always. Add comments.
92138 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
92140         * modules/strptime: New file.
92141         * lib/strptime.h: New file.
92142         * lib/strptime.c: New file.
92143         * m4/strptime.m4: New file.
92145 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
92147         * MODULES.html.sh: New module mpsort.
92148         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92150         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
92151         a circularity problem with HP-UX ia64 reported by Bob Proulx in
92152         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
92153         All uses changed.
92154         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
92155         All uses changed.
92156         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
92157         to _Restrict_.
92158         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
92159         the parameter matches the prototype.
92161 2007-01-28  Jim Meyering  <jim@meyering.net>
92163         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
92164         sys/time.h here, reverting that part of the previous patch:
92165         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
92167 2007-01-28  Bruno Haible  <bruno@clisp.org>
92169         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
92170         value of $(SYS_TIME_H).
92171         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
92172         remove it conditionally, too. [added by Jim Meyering]
92173         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
92174         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92175         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
92176         GETTIMEOFDAY_REPLACEMENT to 1.
92178 2007-01-28  Bruno Haible  <bruno@clisp.org>
92180         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
92181         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
92182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
92183         Set UNISTD_H instead of UNISTD_H2.
92184         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
92186 2007-01-28  Bruno Haible  <bruno@clisp.org>
92188         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
92189         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
92191 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92193         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
92194         (func_create_testdir): Ensure C locale for `grep' and `tr'
92195         character ranges.
92196         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
92197         ACLOCAL_AMFLAGS parsing state machine.
92199 2007-01-27  Bruno Haible  <bruno@clisp.org>
92201         * modules/unistr/base: Update.
92203 2007-01-27  Bruno Haible  <bruno@clisp.org>
92205         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
92206         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
92207         * modules/unistr/u32-mbtouc-unsafe: Renamed from
92208         modules/unistr/u32-mbtouc.
92209         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
92210         * lib/unistr.h: Update.
92211         * lib/linebreak.c: Update.
92212         * modules/unistr/u32-mbtouc: Renamed from
92213         modules/unistr/u32-mbtouc-safe.
92214         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
92215         * lib/unistr.h: Update.
92216         * lib/unistr/u32-to-u8.c: Update.
92217         * lib/unistr/u32-to-u16.c: Update.
92219 2007-01-27  Bruno Haible  <bruno@clisp.org>
92221         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
92222         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
92223         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
92224         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
92225         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
92226         * modules/unistr/u16-mbtouc-unsafe: Renamed from
92227         modules/unistr/u16-mbtouc.
92228         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
92229         * lib/unistr.h: Update.
92230         * lib/linebreak.c: Update.
92231         * modules/linebreak: Update.
92232         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
92233         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
92234         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
92235         * modules/unistr/u16-mbtouc: Renamed from
92236         modules/unistr/u16-mbtouc-safe.
92237         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
92238         * lib/unistr.h: Update.
92239         * lib/unistr/u16-to-u8.c: Update.
92240         * modules/unistr/u16-to-u8: Update.
92241         * lib/unistr/u16-to-u32.c: Update.
92242         * modules/unistr/u16-to-u32: Update.
92244 2007-01-27  Bruno Haible  <bruno@clisp.org>
92246         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
92247         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
92248         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
92249         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
92250         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
92251         * modules/unistr/u8-mbtouc-unsafe: Renamed from
92252         modules/unistr/u8-mbtouc.
92253         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
92254         * lib/unistr.h: Update.
92255         * lib/striconveh.c: Update.
92256         * modules/striconveh: Update.
92257         * lib/linebreak.c: Update.
92258         * modules/linebreak: Update.
92259         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
92260         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
92261         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
92262         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
92263         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
92264         * lib/unistr.h: Update.
92265         * lib/striconveh.c: Update.
92266         * modules/striconveh: Update.
92267         * lib/unistr/u8-to-u16.c: Update.
92268         * modules/unistr/u8-to-u16: Update.
92269         * lib/unistr/u8-to-u32.c: Update.
92270         * modules/unistr/u8-to-u32: Update.
92272 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92274         Sync from Libtool.
92275         * lib/argz.c: Do not include strings.h nor memory.h, include
92276         string.h unconditionally.  Patch by Simon Josefsson.
92278 2007-01-27  Bruno Haible  <bruno@clisp.org>
92280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
92281         from gl_HEADER_STRING_H_BODY.
92282         (gl_HEADER_STRING_H_BODY): Require it.
92283         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
92284         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
92285         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
92286         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
92287         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
92288         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
92289         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92290         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
92291         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
92292         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
92293         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
92294         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
92295         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
92296         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92297         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
92299 2007-01-27  Bruno Haible  <bruno@clisp.org>
92301         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
92302         check_PROGRAMS into noinst_PROGRAMS.
92303         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
92304         check_PROGRAMS in this case.
92305         (func_import): Set for_test to false.
92306         (func_create_testdir): Set for_test to true.
92308 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92309             Bruno Haible  <bruno@clisp.org>
92311         * modules/strcasestr (Files): Remove lib/strcasestr.h.
92312         (Depends-on): Add string.
92313         (Includes): Use <string.h> instead of strcasestr.h.
92314         * modules/string (Makefile.am): Also substitute the value of
92315         REPLACE_STRCASESTR.
92316         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
92317         assume strcasestr is declared in <string.h> not <strings.h>. Also
92318         set REPLACE_STRCASESTR.
92319         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
92320         REPLACE_STRCASESTR.
92321         * lib/strcasestr.h: Remove file.
92322         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
92323         * lib/string_.h (strcasestr): New declaration.
92325 2007-01-27  Bruno Haible  <bruno@clisp.org>
92327         * lib/string_.h: Use 'extern'.
92329 2007-01-27  Jim Meyering  <jim@meyering.net>
92331         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
92332         of set-but-not-used local, "q".
92334         * lib/mempcpy.c: Include <config.h> before <string.h>.
92335         This fixes a compilation error on HP-UX, due to the system's
92336         "restrict"-using mempcpy prototype.
92338 2007-01-26  Bruno Haible  <bruno@clisp.org>
92340         Small optimization.
92341         * lib/javacomp.c: Include c-strstr.h.
92342          (is_envjavac_gcj): Use c_strstr instead of strstr.
92343         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
92345 2007-01-26  Bruno Haible  <bruno@clisp.org>
92347         * MODULES.html.sh (Unicode string functions): Add the new modules.
92349         * modules/uniconv/u32-strconv-to-locale: New file.
92350         * lib/uniconv/u32-strconv-to-locale.c: New file.
92352         * modules/uniconv/u16-strconv-to-locale: New file.
92353         * lib/uniconv/u16-strconv-to-locale.c: New file.
92355         * modules/uniconv/u8-strconv-to-locale: New file.
92356         * lib/uniconv/u8-strconv-to-locale.c: New file.
92358         * modules/uniconv/u32-strconv-from-locale: New file.
92359         * lib/uniconv/u32-strconv-from-locale.c: New file.
92361         * modules/uniconv/u16-strconv-from-locale: New file.
92362         * lib/uniconv/u16-strconv-from-locale.c: New file.
92364         * modules/uniconv/u8-strconv-from-locale: New file.
92365         * lib/uniconv/u8-strconv-from-locale.c: New file.
92367         * modules/uniconv/u32-strconv-to-enc: New file.
92368         * lib/uniconv/u32-strconv-to-enc.c: New file.
92369         * modules/uniconv/u32-strconv-to-enc-tests: New file.
92370         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
92372         * modules/uniconv/u16-strconv-to-enc: New file.
92373         * lib/uniconv/u16-strconv-to-enc.c: New file.
92374         * lib/uniconv/u-strconv-to-enc.h: New file.
92375         * modules/uniconv/u16-strconv-to-enc-tests: New file.
92376         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
92378         * modules/uniconv/u8-strconv-to-enc: New file.
92379         * lib/uniconv/u8-strconv-to-enc.c: New file.
92380         * modules/uniconv/u8-strconv-to-enc-tests: New file.
92381         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
92383         * modules/uniconv/u32-strconv-from-enc: New file.
92384         * lib/uniconv/u32-strconv-from-enc.c: New file.
92385         * modules/uniconv/u32-strconv-from-enc-tests: New file.
92386         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
92388         * modules/uniconv/u16-strconv-from-enc: New file.
92389         * lib/uniconv/u16-strconv-from-enc.c: New file.
92390         * modules/uniconv/u16-strconv-from-enc-tests: New file.
92391         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
92393         * modules/uniconv/u8-strconv-from-enc: New file.
92394         * lib/uniconv/u8-strconv-from-enc.c: New file.
92395         * lib/uniconv/u-strconv-from-enc.h: New file.
92396         * modules/uniconv/u8-strconv-from-enc-tests: New file.
92397         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
92399         * modules/uniconv/u32-conv-from-enc: New file.
92400         * lib/uniconv/u32-conv-from-enc.c: New file.
92401         * modules/uniconv/u32-conv-from-enc-tests: New file.
92402         * tests/uniconv/test-u32-conv-from-enc.c: New file.
92404         * modules/uniconv/u16-conv-from-enc: New file.
92405         * lib/uniconv/u16-conv-from-enc.c: New file.
92406         * lib/uniconv/u-conv-from-enc.h: New file.
92407         * modules/uniconv/u16-conv-from-enc-tests: New file.
92408         * tests/uniconv/test-u16-conv-from-enc.c: New file.
92410         * modules/uniconv/u8-conv-from-enc: New file.
92411         * lib/uniconv/u8-conv-from-enc.c: New file.
92412         * modules/uniconv/u8-conv-from-enc-tests: New file.
92413         * tests/uniconv/test-u8-conv-from-enc.c: New file.
92415         * modules/uniconv/base: New file.
92416         * lib/uniconv.h: New file.
92418 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
92420         * doc/gnulib-tool.texi (Initial import): Update to match current
92421         behavior with strdup module.
92422         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
92423         * lib/memmem.h: Remove; all uses removed.  This is now done
92424         by <string.h>.
92425         * lib/mempcpy.h: Likewise.
92426         * lib/memrchr.h: Likewise.
92427         * lib/stpcpy.h: Likewise.
92428         * lib/stpncpy.h: Likewise.
92429         * lib/strcase.h: Likewise.
92430         * lib/strchrnul.h: Likewise.
92431         * lib/strdup.h: Likewise.
92432         * lib/strndup.h: Likewise.
92433         * lib/strnlen.h: Likewise.
92434         * lib/strpbrk.h: Likewise.
92435         * lib/strsep.h: Likewise.
92436         * lib/strstr.h: Likewise.
92437         * lib/strtok_r.h: Likewise.
92438         * lib/string_.h: New file.
92439         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
92440         Rely on <string.h> instead.
92441         * lib/canon-host.c: Likewise.
92442         * lib/chdir-long.c: Likewise.
92443         * lib/concatpath.c: Likewise.
92444         * lib/exclude.c: Likewise.
92445         * lib/fchdir.c: Likewise.
92446         * lib/getaddrinfo.c: Likewise.
92447         * lib/getcwd.c: Likewise.
92448         * lib/getsubopt.c: Likewise.
92449         * lib/glob.c: Likewise.
92450         * lib/hard-locale.c: Likewise.
92451         * lib/iconvme.c: Likewise.
92452         * lib/javacomp.c: Likewise.
92453         * lib/mempcpy.c: Likewise.
92454         * lib/memrchr.c: Likewise.
92455         * lib/regex_internal.h: Likewise.
92456         * lib/stpncpy.c: Likewise.
92457         * lib/strcasecmp.c: Likewise.
92458         * lib/strchrnul.c: Likewise.
92459         * lib/strdup.c: Likewise.
92460         * lib/striconv.c: Likewise.
92461         * lib/striconveh.c: Likewise.
92462         * lib/striconveha.c: Likewise.
92463         * lib/strncasecmp.c: Likewise.
92464         * lib/strndup.c: Likewise.
92465         * lib/strnlen.c: Likewise.
92466         * lib/strsep.c: Likewise.
92467         * lib/strstr.c: Likewise.
92468         * lib/strtok_r.c: Likewise.
92469         * lib/userspec.c: Likewise.
92470         * lib/w32spawn.h: Likewise.
92471         * lib/xstrndup.c: Likewise.
92472         * lib/mountlist.c (strstr): Remove decl.
92473         * m4/string_h.m4: New file.
92474         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92475         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92476         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92477         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92478         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92479         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92480         Set REPLACE_STRCASECMP if necessary.
92481         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92482         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92483         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92484         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92485         HAVE_DECL_STRDUP if necessary.
92486         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92487         since gl_FUNC_STRNDUP does that now.
92488         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92489         Check for decl here...
92490         (gl_PREREQ_STRNLEN): ... not here.
92491         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92492         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92493         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92494         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92495         necessary.
92496         * modules/string: New file.
92497         * modules/memmem (Files): Remove special-purpose include file.
92498         (Depends-on): Add string.
92499         (Include): Include <string.h>, not the removed file.
92500         * modules/mempcpy: Likewise.
92501         * modules/memrchr: Likewise.
92502         * modules/stpcpy: Likewise.
92503         * modules/stpncpy: Likewise.
92504         * modules/strcase: Likewise.
92505         * modules/strchrnul: Likewise.
92506         * modules/strdup: Likewise.
92507         * modules/strndup: Likewise.
92508         * modules/strnlen: Likewise.
92509         * modules/strpbrk: Likewise.
92510         * modules/strsep: Likewise.
92511         * modules/strstr: Likewise.
92512         * modules/strtok_r: Likewise.
92513         * tests/test-dirname.c: Don't include "strdup.h", since
92514         <string.h> now suffices.
92515         * tests/test-memmem.c: Don't include "memmem.h", since
92516         <string.h> now suffices.
92518 2007-01-25  Bruno Haible  <bruno@clisp.org>
92520         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92521         *resultp is 0.
92523         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92524         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92525         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92526         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92528         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92529         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92530         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92531         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92532         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92533         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92535 2007-01-24  Bruno Haible  <bruno@clisp.org>
92537         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92538         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92539         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92540         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92541         gl_FUNC_FTS_CORE.
92542         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92543         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92544         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92545         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92546         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92547         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92548         gl_FUNC_FCHOWNAT.
92549         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92550         gl_FUNC_STRFTIME.
92551         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92552         Reported by Ralf Wildenhues.
92554 2007-01-24  Bruno Haible  <bruno@clisp.org>
92556         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92557         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92558         gl_GETADDRINFO.
92559         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92560         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92561         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92563 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92565         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92566         Don't use 'exit'; just return from 'main'.
92567         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92569         * lib/fnmatch_.h: Readjust white space and comments to match
92570         glibc, to avoid spurious diffs.
92572 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92574         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92575         2004-12-01 change by Jakub Jelinek, since this code won't compile
92576         if !LIBC.  Problem reported by Bob Proulx.
92578 2007-01-23  Bruno Haible  <bruno@clisp.org>
92580         * lib/striconveh.c: Include c-strcaseeq.h.
92581         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92582         * modules/striconveh (Depends-on): Add c-strcaseeq.
92584 2007-01-23  Bruno Haible  <bruno@clisp.org>
92586         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92588         * modules/c-strcaseeq: New file.
92589         * lib/c-strcaseeq.h: New file.
92591         * modules/streq: New file.
92592         * lib/streq.h: New file.
92594 2007-01-23  Bruno Haible  <bruno@clisp.org>
92596         * modules/striconveha-tests: New file.
92597         * tests/test-striconveha.c: New file.
92599         * lib/striconveha.h: Include <stdbool.h>.
92600         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92601         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92602         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92603         (mem_iconveha): New function.
92604         (str_iconveha_notranslit): Renamed from str_iconveha.
92605         (str_iconveha): New function.
92606         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92607         c-strcase.
92609 2007-01-23  Bruno Haible  <bruno@clisp.org>
92611         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92612         encodings without forgiving before trying any encoding with handler.
92613         (str_iconveha): Try all encodings without forgiving before trying any
92614         encoding with handler.
92616 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92618         Import the following changes from libc.
92620         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92622         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92624         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92626         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92627         normal_bracket label.
92629         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92631         [BZ #361]
92632         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92633         to normal_bracket after fetching the next character.
92635 2007-01-22  Bruno Haible  <bruno@clisp.org>
92637         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92638         argument.
92639         * lib/striconveh.c (iconv_carefully_1): New function.
92640         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92641         argument.
92642         (str_cd_iconveh): Update.
92643         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92644         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92645         * tests/test-striconveh.c (MAGIC): New macro.
92646         (new_offsets): New function.
92647         (main): Test call with and without offsets.
92649 2007-01-22  Bruno Haible  <bruno@clisp.org>
92651         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92652         * modules/sys_select (Makefile.am): Likewise.
92653         * modules/sys_socket (Makefile.am): Likewise.
92654         * modules/sys_time (Makefile.am): Likewise.
92656 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92658         * modules/gettimeofday (License): Change from GPL to LGPL, since
92659         gettimeofday is a library function.
92661 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92663         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92665 2007-01-21  Bruno Haible  <bruno@clisp.org>
92667         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92669 2007-01-21  Bruno Haible  <bruno@clisp.org>
92671         * modules/striconveha: New file.
92672         * lib/striconveha.h: New file.
92673         * lib/striconveha.c: New file.
92674         * MODULES.html.sh (Internationalization functions): Add striconveha.
92675         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92676         string.
92677         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92679 2007-01-21  Bruno Haible  <bruno@clisp.org>
92681         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92682         * lib/striconveh.c (str_iconveh): Likewise.
92684 2007-01-21  Bruno Haible  <bruno@clisp.org>
92686         * lib/striconveh.h (mem_iconveh): New declaration.
92687         * lib/striconveh.c (mem_iconveh): New function.
92688         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92690 2007-01-21  Bruno Haible  <bruno@clisp.org>
92692         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92694         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92695         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92696         original result buffer.
92697         (str_cd_iconveh): Update.
92698         * tests/test-striconveh.c (main): Update.
92700         * lib/striconv.h (mem_cd_iconv): Change specification.
92701         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92702         result buffer.
92703         (str_cd_iconv): Update.
92704         * tests/test-striconv.c (main): Update.
92706 2007-01-21  Bruno Haible  <bruno@clisp.org>
92708         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92710 2007-01-20  Jim Meyering  <jim@meyering.net>
92712         * lib/userspec.c (parse_with_separator): If a user or group string
92713         starts with "+", skip the corresponding name-to-ID look-up, since
92714         such a look-up must fail: user and group names may not include "+".
92716 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92718         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92719         since we now assume the sys_time module.
92720         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92721         check for sys/time.h; no longer needed.
92722         * modules/poll (Depends-on): Depend on sys_time.
92724 2007-01-18  Bruno Haible  <bruno@clisp.org>
92726         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92727         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92729         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92730         gettimeofday.
92732         * tests/test-gettimeofday.c: Include <time.h>.
92733         (dummy): Remove variable.
92735         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92736         gl_HEADER_SYS_TIME_H.
92737         (gl_HEADER_SYS_TIME_H): New macro.
92739         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92740         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92741         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92742         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92743         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92744         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92745         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92746         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92747         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92748         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92749         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92751         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92752         last change; it caused a compilation error when cross-compiling to
92753         Cygwin.
92755 2007-01-18  Jim Meyering  <jim@meyering.net>
92757         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92758         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92759         than the race-prone "test -d sys || mkdir sys".
92760         (configure.ac): Use AC_PROG_MKDIR_P.
92761         * modules/sys_select: Likewise.
92762         * modules/sys_socket: Likewise.
92763         * modules/sys_time: Likewise.
92765 2007-01-18  Eric Blake  <ebb9@byu.net>
92767         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92768         replace gettimeofday.
92769         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92770         name, to avoid infinite recursion.
92772 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92774         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92775         module sys_time.
92776         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92777         assume timespec.h defines struct timeval.
92778         * lib/settime.c: Likewise.
92779         * lib/utimens.c: Likewise.
92780         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92781         since we now assume the gettimeofday module.
92782         * lib/tempname.c (__gen_tempname): Likewise.
92783         * lib/gettimeofday.h: Remove.
92784         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92785         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92786         Include <time.h>, for 'time()'.
92787         (localtime_buffer_addr): Also use this workaround if
92788         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92789         to simplify the uses.  All uses changed.
92790         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92791         that #undef is inside {}, and 'const' follows type name consistently.
92792         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92793         (gettimeofday): Do not use the maximum possible value for
92794         tv->tv_usec, since that might break usages other than ls.c.
92795         Instead, we'll leave ls.c alone.  This undoes today's patch
92796         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92797         we've never observed the problem but might as well keep the
92798         canary.
92799         * lib/nanosleep.c: Include timespec.h first, for interface check.
92800         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92801         now assume the sys_time module.
92802         * lib/tempname.c: Likewise.
92803         * lib/timespec.h: Likewise.
92804         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92805         needed.
92806         * lib/strftime.c: Likewise.
92807         * lib/timespec.h: Likewise.
92808         * lib/posixtm.c: Include posixtm.h first, for interface check.
92809         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92810         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92811         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92812         * lib/sys_time_.h: New file.
92813         * lib/timespec.h (struct timespec): Use long int, not long.
92814         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92815         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92816         Remove obsolescent call to AC_HEADER_TIME.
92817         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92818         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92819         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92820         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92821         Likewise.
92822         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92823         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92824         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92825         into the sys_time module.  Check for gettimeofday just once.
92826         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92827         for gettimeofday signature to just check the signature.  Merely
92828         compile it, since linking doesn't test signature.  Improve test for
92829         whether gettimeofday.o is actually needed.
92830         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92831         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92832         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92833         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92834         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92835         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92836         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92837         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92838         than worrying about sys/time.h.
92839         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92840         Don't bother worrying about TIME_WITH_SYS_TIME.
92841         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92842         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92843         * m4/sys_time_h.m4: New file.
92844         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92845         Don't include sys/time.h.  Return from main rather than exiting.
92846         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92847         all uses changed.
92848         * modules/gethrxtime (Depends-on): Add sys_time.
92849         * modules/gettime (Depends-on): Likewise.
92850         * modules/gettimeofday (Depends-on): Likewise.
92851         * modules/nanosleep (Depends-on): Likewise.
92852         * modules/settime (Depends-on): Likewise.
92853         * modules/tempname (Depends-on): Likewise.
92854         * modules/utimens (Depends-on): Likewise.
92855         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92856         (Include): Change back to <sys/time.h>.
92857         (Maintainer): Add self.
92858         * modules/sys_time: New file.
92859         * modules/tempname (Depends-on): Add gettimeofday.
92860         * tests/test-gettimeofday.c: Include <sys/time.h>
92861         rather than gettimeofday.h.
92863 2007-01-17  Bruno Haible  <bruno@clisp.org>
92865         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92866         the license default to GPL.
92867         (func_create_testdir): Don't complain if a module is LGPL and its
92868         tests module depends on GPLed modules.
92870 2007-01-17  Bruno Haible  <bruno@clisp.org>
92872         * lib/gettimeofday.c (gettimeofday): Add code for the case
92873         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92874         maximum possible value for tv->tv_usec, rather than the minimum one.
92876 2005-10-08  Martin Lambers  <marlam@marlam.de>
92877 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92878 2007-01-16  Bruno Haible  <bruno@clisp.org>
92880         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92881         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92882         gl_FUNC_GETTIMEOFDAY.
92883         (Include): Add gettimeofday.h.
92884         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92885         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92886         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92887         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92888         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92889         * lib/gettimeofday.h: New file.
92890         * lib/gettimeofday.c: Include <sys/timeb.h>.
92891         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92892         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92893         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92894         fall back on time().
92896         * tests/test-gettimeofday.c: New file.
92897         * modules/gettimeofday-tests: New file.
92899 2007-01-16  Eric Blake  <ebb9@byu.net>
92901         * modules/fnmatch (Depends-on): Depend on wchar.
92902         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92903         * m4/fnmatch.m4: Likewise.
92904         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92905         * m4/mbchar.m4: Likewise.
92906         * modules/mbswidth (Depends-on): Depend on wchar.
92907         * lib/mbswidth.c: Assume <wchar.h>.
92908         * m4/mbswidth.m4: Likewise.
92909         * modules/quotearg (Depends-on): Depend on wchar.
92910         * lib/quotearg.c: Assume <wchar.h>.
92911         * m4/quotearg.m4: Likewise.
92912         * modules/regex (Depends-on): Depend on wchar.
92913         * lib/regex_internal.h: Assume <wchar.h>.
92914         * m4/regex.m4: Likewise.
92915         * modules/stdint (Depends-on): Depend on wchar.
92916         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92917         * m4/stdint.m4: Likewise.
92918         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92919         * modules/strftime (Depends-on): Depend on wchar.
92920         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92921         * modules/strtol (Depends-on): Depend on wchar.
92922         * lib/strtol.c: Assume <wchar.h>.
92923         * modules/wcwidth (Depends-on): Depend on wchar.
92924         * lib/wcwidth.h: Assume <wchar.h>.
92925         * m4/wcwidth.m4: Likewise.
92927 2007-01-16  Bruno Haible  <bruno@clisp.org>
92929         * modules/csharpexec-script: New, created from...
92930         * modules/csharpexec: ... this.
92932 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92934         * modules/javaexec-script: New, created from...
92935         * modules/javaexec: ... this.
92937 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92939         * modules/poll (Dependencies): Add sys_select.
92941 2007-01-15  Jim Meyering  <jim@meyering.net>
92943         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92944         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92945         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92946         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92948 2007-01-15  Bruno Haible  <bruno@clisp.org>
92950         * modules/striconveh: New file.
92951         * lib/striconveh.h: New file.
92952         * lib/striconveh.c: New file.
92953         * MODULES.html.sh (Internationalization functions): Add striconveh.
92955         * modules/striconveh-tests: New file.
92956         * tests/test-striconveh.c: New file.
92958 2007-01-15  Bruno Haible  <bruno@clisp.org>
92960         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92961         not from GNU libiconv or GNU libc.
92963 2007-01-15  Bruno Haible  <bruno@clisp.org>
92965         * doc/gnulib-intro.texi (Copyright): Explain the different license
92966         terms for module descriptions, autoconf macros, tests, documentation.
92968 2007-01-14  Bruno Haible  <bruno@clisp.org>
92970         * modules/striconv-tests: New file.
92971         * tests/test-striconv.c: New file.
92973 2007-01-14  Bruno Haible  <bruno@clisp.org>
92975         * modules/iconv-tests: New file.
92976         * tests/test-iconv.c: New file.
92978 2007-01-14  Bruno Haible  <bruno@clisp.org>
92980         * gnulib-tool (func_get_license): For test modules, use the license of
92981         the main module.
92983 2007-01-14  Bruno Haible  <bruno@clisp.org>
92985         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92986         if iconv is found to exist.
92988 2007-01-14  Bruno Haible  <bruno@clisp.org>
92990         * modules/c-ctype-tests: New file.
92991         * tests/test-c-ctype.c: New file.
92993 2007-01-14  Bruno Haible  <bruno@clisp.org>
92995         * modules/binary-io-tests: New file.
92996         * tests/test-binary-io.sh: New file.
92997         * tests/test-binary-io.c: New file.
92999 2007-01-14  Bruno Haible  <bruno@clisp.org>
93001         * modules/array-oset-tests: New file.
93002         * tests/test-array_oset.c: New file.
93004 2007-01-14  Bruno Haible  <bruno@clisp.org>
93006         * modules/array-list-tests: New file.
93007         * tests/test-array_list.c: New file.
93009 2007-01-14  Bruno Haible  <bruno@clisp.org>
93011         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
93012         and make.
93013         Reported by Simon Josefsson in
93014         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
93016 2007-01-14  Bruno Haible  <bruno@clisp.org>
93018         * modules/allocsa-tests: New file.
93019         * tests/test-allocsa.c: New file.
93021 2007-01-14  Bruno Haible  <bruno@clisp.org>
93023         * modules/fchdir (Depends-on): Add absolute-header.
93024         * modules/unistd (Depends-on): Likewise.
93026 2006-12-30  Bruno Haible  <bruno@clisp.org>
93028         * modules/fchdir: New file.
93029         * modules/unistd (Files): Add lib/unistd_.h.
93030         (Makefile.am): Generate unistd.h from unistd_.h.
93031         * lib/fchdir.c: New file.
93032         * lib/dirent_.h: New file.
93033         * lib/unistd_.h: New file.
93034         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
93035         * m4/fchdir.m4: New file.
93036         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
93037         (gl_HEADER_UNISTD): Invoke it.
93038         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
93039         function.
93040         * lib/backupfile.c (opendir, closedir): Undefine.
93041         * lib/chown.c (open, close): Undefine.
93042         * lib/clean-temp.c (open, close): Undefine.
93043         * lib/copy-file.c (open, close): Undefine.
93044         * lib/execute.c (open, close): Undefine.
93045         * lib/fsusage.c (open, close): Undefine.
93046         * lib/gc-gnulib.c (open, close): Undefine.
93047         * lib/getcwd.c (opendir, closedir): Undefine.
93048         * lib/glob.c (opendir, closedir): Undefine.
93049         * lib/javacomp.c (open, close): Undefine.
93050         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
93051         * lib/openat-proc.c (open, close): Undefine.
93052         * lib/pagealign_alloc.c (open, close): Undefine.
93053         * lib/pipe.c (open, close): Undefine.
93054         * lib/progreloc.c (open, close): Undefine.
93055         * lib/savedir.c (opendir, closedir): Undefine.
93056         * lib/utime.c (open, close): Undefine.
93057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
93059 2007-01-10  Bruno Haible  <bruno@clisp.org>
93061         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
93063 2007-01-12  Eric Blake  <ebb9@byu.net>
93065         Provide a robust <wchar.h>.  Further simplifications are now
93066         possible in other modules, but not included here.
93067         * modules/wchar: New module.
93068         * m4/wchar.m4: New file.
93069         * lib/wchar_.h: Likewise.
93070         * modules/mbchar (Depends-on): Depend on wchar, as the first use
93071         of the new module.
93072         * MODULES.html.sh (Extended multibyte and wide character utilities):
93073         New section.
93075 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
93077         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
93078         to a reasonable default for memory allocation.
93079         (xreadlink): Don't allocate a huge buffer, to work around a buggy
93080         file system that reports garbage st_size values for symlinks.
93081         Problem reported by Liyang Hu.
93083 2007-01-11  Simon Josefsson  <simon@josefsson.org>
93085         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
93086         Emacs .#* auto-save files).
93088 2007-01-11  Bruno Haible  <bruno@clisp.org>
93090         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
93091         directory.
93093 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
93095         Use @...@ consistently in lib/wctype_.h.
93096         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
93097         on it being set to 1 or 0.
93098         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
93099         go back to AC_SUBSTing it.
93100         * modules/wctype (Makefile.am): Undo previous change.
93102 2007-01-10  Eric Blake  <ebb9@byu.net>
93104         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
93105         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
93106         * modules/wctype (Makefile.am): Likewise.
93107         Reported by Chris McGuire.
93109 2007-01-10  Jim Meyering  <jim@meyering.net>
93111         fts.c: a small readability/maintainability improvement
93112         * lib/fts.c (fts_read): Make this code slightly more readable and
93113         maintainable by hoisting the "sp->fts_cur = p" assignments to
93114         immediately follow the statements that set P.  Derived from
93115         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
93117 2007-01-10  Eric Blake  <ebb9@byu.net>
93119         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
93120         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
93121         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93122         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
93123         Reported by Chris McGuire.
93125 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93127         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
93128         in sed script.
93130 2007-01-09  Bruno Haible  <bruno@clisp.org>
93132         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
93133         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
93134         variables.
93135         (func_module): Use them.
93137 2007-01-09  Bruno Haible  <bruno@clisp.org>
93139         * modules/unistr/base: New file.
93140         * lib/unistr.h: New file.
93142         * modules/unistr/u8-to-u16: New file.
93143         * lib/unistr/u8-to-u16.c: New file.
93145         * modules/unistr/u8-to-u32: New file.
93146         * lib/unistr/u8-to-u32.c: New file.
93148         * modules/unistr/u16-to-u8: New file.
93149         * lib/unistr/u16-to-u8.c: New file.
93151         * modules/unistr/u16-to-u32: New file.
93152         * lib/unistr/u16-to-u32.c: New file.
93154         * modules/unistr/u32-to-u8: New file.
93155         * lib/unistr/u32-to-u8.c: New file.
93157         * modules/unistr/u32-to-u16: New file.
93158         * lib/unistr/u32-to-u16.c: New file.
93160         * modules/unistr/u8-check: New file.
93161         * modules/unistr/u16-check: New file.
93162         * modules/unistr/u32-check: New file.
93163         * lib/unistr/u8-check.c: New file.
93164         * lib/unistr/u16-check.c: New file.
93165         * lib/unistr/u32-check.c: New file.
93167         * modules/unistr/u8-chr: New file.
93168         * modules/unistr/u16-chr: New file.
93169         * modules/unistr/u32-chr: New file.
93170         * lib/unistr/u8-chr.c: New file.
93171         * lib/unistr/u16-chr.c: New file.
93172         * lib/unistr/u32-chr.c: New file.
93174         * modules/unistr/u8-cmp: New file.
93175         * modules/unistr/u16-cmp: New file.
93176         * modules/unistr/u32-cmp: New file.
93177         * lib/unistr/u8-cmp.c: New file.
93178         * lib/unistr/u16-cmp.c: New file.
93179         * lib/unistr/u32-cmp.c: New file.
93181         * modules/unistr/u8-cpy: New file.
93182         * modules/unistr/u16-cpy: New file.
93183         * modules/unistr/u32-cpy: New file.
93184         * lib/unistr/u8-cpy.c: New file.
93185         * lib/unistr/u16-cpy.c: New file.
93186         * lib/unistr/u32-cpy.c: New file.
93187         * lib/unistr/u-cpy.h: New file.
93189         * modules/unistr/u8-cpy-alloc: New file.
93190         * modules/unistr/u16-cpy-alloc: New file.
93191         * modules/unistr/u32-cpy-alloc: New file.
93192         * lib/unistr/u8-cpy-alloc.c: New file.
93193         * lib/unistr/u16-cpy-alloc.c: New file.
93194         * lib/unistr/u32-cpy-alloc.c: New file.
93195         * lib/unistr/u-cpy-alloc.h: New file.
93197         * modules/unistr/u8-endswith: New file.
93198         * modules/unistr/u16-endswith: New file.
93199         * modules/unistr/u32-endswith: New file.
93200         * lib/unistr/u8-endswith.c: New file.
93201         * lib/unistr/u16-endswith.c: New file.
93202         * lib/unistr/u32-endswith.c: New file.
93203         * lib/unistr/u-endswith.h: New file.
93205         * modules/unistr/u8-mblen: New file.
93206         * modules/unistr/u16-mblen: New file.
93207         * modules/unistr/u32-mblen: New file.
93208         * lib/unistr/u8-mblen.c: New file.
93209         * lib/unistr/u16-mblen.c: New file.
93210         * lib/unistr/u32-mblen.c: New file.
93212         * modules/unistr/u8-mbtouc: New file.
93213         * modules/unistr/u16-mbtouc: New file.
93214         * modules/unistr/u32-mbtouc: New file.
93215         * lib/unistr/u8-mbtouc.c: New file.
93216         * lib/unistr/u16-mbtouc.c: New file.
93217         * lib/unistr/u32-mbtouc.c: New file.
93219         * modules/unistr/u8-mbtouc-safe: New file.
93220         * modules/unistr/u16-mbtouc-safe: New file.
93221         * modules/unistr/u32-mbtouc-safe: New file.
93222         * lib/unistr/u8-mbtouc-safe.c: New file.
93223         * lib/unistr/u16-mbtouc-safe.c: New file.
93224         * lib/unistr/u32-mbtouc-safe.c: New file.
93226         * modules/unistr/u8-move: New file.
93227         * modules/unistr/u16-move: New file.
93228         * modules/unistr/u32-move: New file.
93229         * lib/unistr/u8-move.c: New file.
93230         * lib/unistr/u16-move.c: New file.
93231         * lib/unistr/u32-move.c: New file.
93232         * lib/unistr/u-move.h: New file.
93234         * modules/unistr/u8-next: New file.
93235         * modules/unistr/u16-next: New file.
93236         * modules/unistr/u32-next: New file.
93237         * lib/unistr/u8-next.c: New file.
93238         * lib/unistr/u16-next.c: New file.
93239         * lib/unistr/u32-next.c: New file.
93241         * modules/unistr/u8-prev: New file.
93242         * modules/unistr/u16-prev: New file.
93243         * modules/unistr/u32-prev: New file.
93244         * lib/unistr/u8-prev.c: New file.
93245         * lib/unistr/u16-prev.c: New file.
93246         * lib/unistr/u32-prev.c: New file.
93248         * modules/unistr/u8-set: New file.
93249         * modules/unistr/u16-set: New file.
93250         * modules/unistr/u32-set: New file.
93251         * lib/unistr/u8-set.c: New file.
93252         * lib/unistr/u16-set.c: New file.
93253         * lib/unistr/u32-set.c: New file.
93254         * lib/unistr/u-set.h: New file.
93256         * modules/unistr/u8-startswith: New file.
93257         * modules/unistr/u16-startswith: New file.
93258         * modules/unistr/u32-startswith: New file.
93259         * lib/unistr/u8-startswith.c: New file.
93260         * lib/unistr/u16-startswith.c: New file.
93261         * lib/unistr/u32-startswith.c: New file.
93262         * lib/unistr/u-startswith.h: New file.
93264         * modules/unistr/u8-stpcpy: New file.
93265         * modules/unistr/u16-stpcpy: New file.
93266         * modules/unistr/u32-stpcpy: New file.
93267         * lib/unistr/u8-stpcpy.c: New file.
93268         * lib/unistr/u16-stpcpy.c: New file.
93269         * lib/unistr/u32-stpcpy.c: New file.
93270         * lib/unistr/u-stpcpy.h: New file.
93272         * modules/unistr/u8-stpncpy: New file.
93273         * modules/unistr/u16-stpncpy: New file.
93274         * modules/unistr/u32-stpncpy: New file.
93275         * lib/unistr/u8-stpncpy.c: New file.
93276         * lib/unistr/u16-stpncpy.c: New file.
93277         * lib/unistr/u32-stpncpy.c: New file.
93278         * lib/unistr/u-stpncpy.h: New file.
93280         * modules/unistr/u8-strcat: New file.
93281         * modules/unistr/u16-strcat: New file.
93282         * modules/unistr/u32-strcat: New file.
93283         * lib/unistr/u8-strcat.c: New file.
93284         * lib/unistr/u16-strcat.c: New file.
93285         * lib/unistr/u32-strcat.c: New file.
93286         * lib/unistr/u-strcat.h: New file.
93288         * modules/unistr/u8-strchr: New file.
93289         * modules/unistr/u16-strchr: New file.
93290         * modules/unistr/u32-strchr: New file.
93291         * lib/unistr/u8-strchr.c: New file.
93292         * lib/unistr/u16-strchr.c: New file.
93293         * lib/unistr/u32-strchr.c: New file.
93295         * modules/unistr/u8-strcmp: New file.
93296         * modules/unistr/u16-strcmp: New file.
93297         * modules/unistr/u32-strcmp: New file.
93298         * lib/unistr/u8-strcmp.c: New file.
93299         * lib/unistr/u16-strcmp.c: New file.
93300         * lib/unistr/u32-strcmp.c: New file.
93302         * modules/unistr/u8-strcpy: New file.
93303         * modules/unistr/u16-strcpy: New file.
93304         * modules/unistr/u32-strcpy: New file.
93305         * lib/unistr/u8-strcpy.c: New file.
93306         * lib/unistr/u16-strcpy.c: New file.
93307         * lib/unistr/u32-strcpy.c: New file.
93308         * lib/unistr/u-strcpy.h: New file.
93310         * modules/unistr/u8-strcspn: New file.
93311         * modules/unistr/u16-strcspn: New file.
93312         * modules/unistr/u32-strcspn: New file.
93313         * lib/unistr/u8-strcspn.c: New file.
93314         * lib/unistr/u16-strcspn.c: New file.
93315         * lib/unistr/u32-strcspn.c: New file.
93316         * lib/unistr/u-strcspn.h: New file.
93318         * modules/unistr/u8-strdup: New file.
93319         * modules/unistr/u16-strdup: New file.
93320         * modules/unistr/u32-strdup: New file.
93321         * lib/unistr/u8-strdup.c: New file.
93322         * lib/unistr/u16-strdup.c: New file.
93323         * lib/unistr/u32-strdup.c: New file.
93324         * lib/unistr/u-strdup.h: New file.
93326         * modules/unistr/u8-strlen: New file.
93327         * modules/unistr/u16-strlen: New file.
93328         * modules/unistr/u32-strlen: New file.
93329         * lib/unistr/u8-strlen.c: New file.
93330         * lib/unistr/u16-strlen.c: New file.
93331         * lib/unistr/u32-strlen.c: New file.
93332         * lib/unistr/u-strlen.h: New file.
93334         * modules/unistr/u8-strmblen: New file.
93335         * modules/unistr/u16-strmblen: New file.
93336         * modules/unistr/u32-strmblen: New file.
93337         * lib/unistr/u8-strmblen.c: New file.
93338         * lib/unistr/u16-strmblen.c: New file.
93339         * lib/unistr/u32-strmblen.c: New file.
93341         * modules/unistr/u8-strmbtouc: New file.
93342         * modules/unistr/u16-strmbtouc: New file.
93343         * modules/unistr/u32-strmbtouc: New file.
93344         * lib/unistr/u8-strmbtouc.c: New file.
93345         * lib/unistr/u16-strmbtouc.c: New file.
93346         * lib/unistr/u32-strmbtouc.c: New file.
93348         * modules/unistr/u8-strncat: New file.
93349         * modules/unistr/u16-strncat: New file.
93350         * modules/unistr/u32-strncat: New file.
93351         * lib/unistr/u8-strncat.c: New file.
93352         * lib/unistr/u16-strncat.c: New file.
93353         * lib/unistr/u32-strncat.c: New file.
93354         * lib/unistr/u-strncat.h: New file.
93356         * modules/unistr/u8-strncmp: New file.
93357         * modules/unistr/u16-strncmp: New file.
93358         * modules/unistr/u32-strncmp: New file.
93359         * lib/unistr/u8-strncmp.c: New file.
93360         * lib/unistr/u16-strncmp.c: New file.
93361         * lib/unistr/u32-strncmp.c: New file.
93363         * modules/unistr/u8-strncpy: New file.
93364         * modules/unistr/u16-strncpy: New file.
93365         * modules/unistr/u32-strncpy: New file.
93366         * lib/unistr/u8-strncpy.c: New file.
93367         * lib/unistr/u16-strncpy.c: New file.
93368         * lib/unistr/u32-strncpy.c: New file.
93369         * lib/unistr/u-strncpy.h: New file.
93371         * modules/unistr/u8-strnlen: New file.
93372         * modules/unistr/u16-strnlen: New file.
93373         * modules/unistr/u32-strnlen: New file.
93374         * lib/unistr/u8-strnlen.c: New file.
93375         * lib/unistr/u16-strnlen.c: New file.
93376         * lib/unistr/u32-strnlen.c: New file.
93377         * lib/unistr/u-strnlen.h: New file.
93379         * modules/unistr/u8-strpbrk: New file.
93380         * modules/unistr/u16-strpbrk: New file.
93381         * modules/unistr/u32-strpbrk: New file.
93382         * lib/unistr/u8-strpbrk.c: New file.
93383         * lib/unistr/u16-strpbrk.c: New file.
93384         * lib/unistr/u32-strpbrk.c: New file.
93385         * lib/unistr/u-strpbrk.h: New file.
93387         * modules/unistr/u8-strrchr: New file.
93388         * modules/unistr/u16-strrchr: New file.
93389         * modules/unistr/u32-strrchr: New file.
93390         * lib/unistr/u8-strrchr.c: New file.
93391         * lib/unistr/u16-strrchr.c: New file.
93392         * lib/unistr/u32-strrchr.c: New file.
93394         * modules/unistr/u8-strspn: New file.
93395         * modules/unistr/u16-strspn: New file.
93396         * modules/unistr/u32-strspn: New file.
93397         * lib/unistr/u8-strspn.c: New file.
93398         * lib/unistr/u16-strspn.c: New file.
93399         * lib/unistr/u32-strspn.c: New file.
93400         * lib/unistr/u-strspn.h: New file.
93402         * modules/unistr/u8-strstr: New file.
93403         * modules/unistr/u16-strstr: New file.
93404         * modules/unistr/u32-strstr: New file.
93405         * lib/unistr/u8-strstr.c: New file.
93406         * lib/unistr/u16-strstr.c: New file.
93407         * lib/unistr/u32-strstr.c: New file.
93408         * lib/unistr/u-strstr.h: New file.
93410         * modules/unistr/u8-strtok: New file.
93411         * modules/unistr/u16-strtok: New file.
93412         * modules/unistr/u32-strtok: New file.
93413         * lib/unistr/u8-strtok.c: New file.
93414         * lib/unistr/u16-strtok.c: New file.
93415         * lib/unistr/u32-strtok.c: New file.
93416         * lib/unistr/u-strtok.h: New file.
93418         * modules/unistr/u8-uctomb: New file.
93419         * modules/unistr/u16-uctomb: New file.
93420         * modules/unistr/u32-uctomb: New file.
93421         * lib/unistr/u8-uctomb.c: New file.
93422         * lib/unistr/u16-uctomb.c: New file.
93423         * lib/unistr/u32-uctomb.c: New file.
93425         * MODULES.html.sh (Unicode string functions): Add the new modules.
93427 2007-01-08  Bruno Haible  <bruno@clisp.org>
93429         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
93430         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
93431         subdirectories.
93433 2007-01-08  Karl Berry  <karl@gnu.org>
93435         * doc/error.texi: mention that main() fns must set program_name
93436         when progname is used.
93438 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
93440         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
93441         WCTYPE_H is empty, for the benefit of builds from non-distclean
93442         directories.  Problem reported by Eric Blake in
93443         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
93445 2007-01-08  Bruno Haible  <bruno@clisp.org>
93447         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
93448         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
93449         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
93450         PROVIDE_CANONICALIZE_FILENAME_MODE.
93451         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
93453 2007-01-08  Bruno Haible  <bruno@clisp.org>
93455         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
93456         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
93457         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
93458         * lib/fts.c: Likewise.
93459         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
93461 2006-12-25  Bruno Haible  <bruno@clisp.org>
93463         * modules/utf8-ucs4-safe: New file.
93464         * lib/utf8-ucs4-safe.h: New file.
93465         * lib/unistr/utf8-ucs4-safe.c: New file.
93467         * modules/utf16-ucs4-safe: New file.
93468         * lib/utf16-ucs4-safe.h: New file.
93469         * lib/unistr/utf16-ucs4-safe.c: New file.
93471         * MODULES.html.sh (Unicode string functions): Add the new modules.
93473 2007-01-08  Bruno Haible  <bruno@clisp.org>
93475         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93476         (Depends-on): Add unitypes.
93477         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93478         (u8_mbtouc_aux): Move out to separate file.
93479         (u8_mbtouc): Use ucs4_t, uint8_t types.
93480         * lib/unistr/utf8-ucs4.c: New file.
93482         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93483         (Depends-on): Add unitypes.
93484         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93485         (u16_mbtouc_aux): Move out to separate file.
93486         (u16_mbtouc): Use ucs4_t, uint16_t types.
93487         * lib/unistr/utf16-ucs4.c: New file.
93489         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93490         (Depends-on): Add unitypes.
93491         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93492         (u8_uctomb_aux): Move out to separate file.
93493         (u8_uctomb): Use ucs4_t, uint8_t types.
93494         * lib/unistr/ucs4-utf8.c: New file.
93496         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93497         (Depends-on): Add unitypes.
93498         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93499         (u16_uctomb_aux): Move out to separate file.
93500         (u16_uctomb): Use ucs4_t, uint16_t types.
93501         * lib/unistr/ucs4-utf16.c: New file.
93503 2006-12-25  Bruno Haible  <bruno@clisp.org>
93505         * modules/unitypes: New file.
93506         * lib/unitypes.h: New file.
93507         * MODULES.html.sh (func_all_modules): New section "Unicode string
93508         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93509         this section. Add unitypes.
93511 2007-01-08  Bruno Haible  <bruno@clisp.org>
93513         Avoid variable names that conflict with those from libtool.
93514         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93515         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93516         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93517         library_names_spec to acl_library_names_spec, hardcode_* to
93518         acl_hardcode_*.
93519         Reported by Ralf Wildenhues.
93521 2007-01-08  Bruno Haible  <bruno@clisp.org>
93523         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93524         definition.
93525         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93526         definition.
93527         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93528         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93529         definition.
93530         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93531         definition.
93532         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93533         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93534         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93535         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93536         definition.
93537         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93538         definition.
93539         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93540         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93541         GC_USE_<algorithm>.
93542         * lib/gc-libgcrypt.c: Likewise.
93543         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93544         * modules/gc-arctwo (configure.ac): Likewise.
93545         * modules/gc-des (configure.ac): Likewise.
93546         * modules/gc-hmac-md5 (configure.ac): Likewise.
93547         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93548         * modules/gc-md2 (configure.ac): Likewise.
93549         * modules/gc-md4 (configure.ac): Likewise.
93550         * modules/gc-md5 (configure.ac): Likewise.
93551         * modules/gc-random (configure.ac): Likewise.
93552         * modules/gc-rijndael (configure.ac): Likewise.
93553         * modules/gc-sha1 (configure.ac): Likewise.
93555 2007-01-08  Bruno Haible  <bruno@clisp.org>
93557         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93558         macro definition.
93559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93560         definition.
93561         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93562         definition.
93563         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93564         * modules/fcntl-safer (configure.ac): Likewise.
93565         * modules/fopen-safer (configure.ac): Likewise.
93566         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93567         GNULIB_FWRITEERROR macro definition.
93569 2007-01-08  Bruno Haible  <bruno@clisp.org>
93571         * m4/gnulib-common.m4: New file.
93572         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93573         (func_get_filelist): Add m4/gnulib-common.m4.
93575 2007-01-08  Bruno Haible  <bruno@clisp.org>
93577         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93578         command.
93580 2007-01-08  Jim Meyering  <jim@meyering.net>
93582         Use a more robust test for a "can't happen" condition.
93583         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93584         narrowed the st_size value.  Presuming the "can't happen" condition
93585         is true, that narrowing could conceivably convert an invalid st_size
93586         value into a valid one.  Instead, use a change based on Matthew
93587         Woehlke's original patch.
93589         Slight readability improvement: use an assert-like macro
93590         in place of literal "abort ()" uses.
93591         * lib/fts.c (fts_assert): Define.
93592         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93593         Use this macro instead of a bare 'abort'.
93595 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93597         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93598         simply work around them.
93599         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93600         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93601         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93602         declaring.
93603         Don't bother to define as macros, since the standard doesn't require it.
93604         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93605         longer worry about IRIX 5.3.
93606         (HAVE_WCTYPE_CTMP_BUG): Remove.
93608 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93610         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93611         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93612         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93613         Problems reported by Georg Schwarz for IRIX 5.3.
93615         * gnulib-tool (autoconf_minversion): Take the maximum version number
93616         found, not the minimum.  Problem reported by James Youngman.
93618 2007-01-03  Karl Berry  <karl@gnu.org>
93620         * doc/error.texi: new file, explaining interaction with progname.
93621         * doc/gnulib.texi: include it.  Update copyright.
93623 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93625         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93626         AC_CANONICAL_HOST, to improve autobuild outputs.
93628 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93629             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93631         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93632         sockets, server sockets, and other file descriptors.  Count errors
93633         to compute the return value.  Reorder the code a bit to be easier
93634         to follow.  Don't set event bits that were not requested (except
93635         POLLERR and POLLHUP).
93637 2007-01-01  Bruno Haible  <bruno@clisp.org>
93639         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93641 2007-01-03  Jim Meyering  <jim@meyering.net>
93643         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93645 2007-01-02  Bruno Haible  <bruno@clisp.org>
93647         * modules/settime (Include): Require timespec.h.
93648         * modules/nanosleep (Include): Likewise.
93650 2007-01-01  Bruno Haible  <bruno@clisp.org>
93652         * gnulib-tool (func_emit_copyright_notice): Bump year.
93653         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93655 2007-01-01  Bruno Haible  <bruno@clisp.org>
93657         Improve support for OpenBSD.
93658         * build-aux/config.rpath (libname_spec): Export.
93659         (library_names_spec): New variable. Export.
93660         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93661         library_names_spec from the config.rpath output. Locate shared library
93662         through the name pattern in library_names_spec.
93664 2007-01-01  Eric Blake  <ebb9@byu.net>
93666         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93668 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93670         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93671         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93672         assume the C locale, and avoid an "eval" that could cause trouble.
93673         Problem with SORT reported by Bob Proulx.
93675         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93676         Define.  Trivial patch from Henning Nielsen Lund, originally
93677         sent to bug-grep@gnu.org today.
93679 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93681         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93682         struct stat.  Problem reported by Henning Nielsen Lund.
93683         * lib/acl.c: Include acl.h first, to check interface.  Don't
93684         bother to include sys/types.h and sys/stat.h again.
93686 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93688         Import the following change from libc; problem reported by
93689         Sven Verdoolaege.
93691         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93693         [BZ #1373]
93694         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93696 2006-12-28  Jim Meyering  <jim@meyering.net>
93698         * build-aux/announce-gen: Do not assume that the package
93699         builds any of tar.gz, tar.bz2, and .xdelta files.
93700         Suggestion from Simon Josefsson.
93702 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93704         * modules/announce-gen: New file.
93706 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93708         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93709         handles its gotchas now.
93710         * lib/mbswidth.c: Likewise.
93711         * lib/wcwidth.h: Likewise.
93712         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93713         and iswcntrl; the wctype module does this stuff now.
93714         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93715         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93716         * modules/mbchar (Depends-on): Add wctype.
93717         * modules/mbswidth (Depends-on): Likewise.
93718         * modules/wcwidth (Depends-on): Likewise.
93720 2006-12-27  Eric Blake  <ebb9@byu.net>
93722         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93723         module uses more than what <wctype.h> is required to provide.
93725 2006-12-26  Eric Blake  <ebb9@byu.net>
93727         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93729 2006-12-26  Eric Blake  <ebb9@byu.net>
93731         * modules/absolute-header: New module.
93732         * modules/fcntl (Depends-on): Depend on it.
93733         * modules/inttypes (Depends-on): Likewise.
93734         * modules/stdint (Depends-on): Likewise.
93735         * modules/sys_stat (Depends-on): Likewise.
93736         * modules/wctype (Depends-on): Likewise.
93737         * MODULES.html.sh (Support for building libraries and
93738         executables): Document it.
93740 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93742         * gnulib-tool (SED): Remove, undoing previous change.
93743         The problem was that it broke coreutils on Solaris, because
93744         "sed --posix" leaked into a makefile.
93745         (sed): New alias, if 'alias' and GNU sed.
93747 2006-12-24  Jim Meyering  <jim@meyering.net>
93749         Work around an fchownat bug in glibc-2.4:
93750         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93751         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93752         in spite of the -P option.
93753         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93754         New macros.
93755         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93756         * modules/openat (Files): Add lib/fchownat.c.
93757         * lib/openat.c (fchownat): Don't define here.  Move to...
93758         * lib/fchownat.c: ...this new file.
93760 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93762         Fix bug reported by Bruno Haible in
93763         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93764         where quotearg.c didn't compile on Mac OS X 10.2 because it
93765         lacks <wchar.h> and wint_t.
93766         * lib/wctype_.h (__wctype_wint_t): New type.
93767         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93768         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93769         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93770         Arg is now of type __wctype_wint_t, not wint_t.
93771         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93772         substitute HAVE_WINT_T.
93773         * modules/wctype (Files): Add m4/wint_t.m4.
93774         (wctype.h): Substitute HAVE_WINT_T.
93776 2006-12-23  Bruno Haible  <bruno@clisp.org>
93778         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93780 2006-12-23  Bruno Haible  <bruno@clisp.org>
93782         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93783         S_ISLNK.
93784         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93785         mingw.
93787 2006-12-22  Bruno Haible  <bruno@clisp.org>
93789         * lib/copy-file.c: Include acl.h.
93790         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93791         Close the file descriptors only after being done with copy_acl.
93792         * modules/copy-file (Depends-on): Add acl.
93794 2006-12-22  Bruno Haible  <bruno@clisp.org>
93796         * gnulib-tool (SED): New variable.
93797         Use $SED instead of sed everywhere.
93799 2006-12-22  Bruno Haible  <bruno@clisp.org>
93801         * modules/no-c++: New file.
93802         * m4/no-c++.m4: New file.
93803         * MODULES.html.sh (Support for building libraries and executables):
93804         Add no-c++.
93806 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93808         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93809         Include <limits.h>, and use its INT_MAX to rewrite the
93810         j loop so that it does not overflow 'int'.  Problem reported by
93811         Ralf Wildenhues in
93812         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93813         Play it safe by shifting left by 1 rather than multiplying by 2,
93814         as GCC is less likely to optimize this away when the value
93815         is signed (when it assumes overflow leads to undefined behavior).
93816         Also, don't assume time_t uses two's complement.
93818 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93820         * MODULES.html.sh: New module wctype.
93821         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93822         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93823         <wctype.h>, since the new wctype module should fix this.
93824         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93825         the wctype module should arrange for it.
93826         * lib/regex_internal.h: Likewise.
93827         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93828         since the wctype module should handle this now.
93829         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93830         * modules/fnmatch (Depends-on): Add wctype.
93831         * modules/quotearg (Depends-on): Likewise.
93832         * modules/regex (Depends-on): Likewise.
93834 2006-12-19  Bruno Haible  <bruno@clisp.org>
93836         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93837         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93839 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93841         * modules/savewd (Depends-on): Fix dependency on fcntl.
93843 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93845         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93846         conforms to C99, rather than relying on the user's environment
93847         setting of STDINT_H.
93849 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93850         and Eric Blake  <ebb9@byu.net>
93852         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93853         This is more consistent with the other defines here.
93854         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93855         Port to z/OS.  Problem reported by Paul Gilmartin.
93856         Change local vars to use gl_ prefix rather than ac_.
93857         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93858         with other defines.
93859         * modules/double-slash-root: New module.
93860         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93861         (Depends-on): Add double-slash-root.
93862         * MODULES.html.sh (File system functions): Mention new module.
93864 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93866         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93867         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93868         This is for the benefit of gzip, which doesn't do i18n.
93870 2006-12-12  Jim Meyering  <jim@meyering.net>
93872         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93873         Reported by Andreas Schwab <schwab@suse.de>.
93875 2006-12-12  Bruno Haible  <bruno@clisp.org>
93877         Merge these changes.
93878         2006-09-05  Bruno Haible  <bruno@clisp.org>
93879         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93880         iconv_alloc succeeded.
93881         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93882         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93883         test for " && dest " at the end - dest is always != NULL there. Call
93884         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93885         with 2xNULL arguments, also to flush the state storage. Handle the
93886         IRIX iconv behaviour. Realloc the final result, to throw away unused
93887         memory.
93889 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93891         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93892         and fchmodat unconditionally, since glibc 2.4 has them.
93893         Problem reported by Arkadiusz Miskiewicz.
93895 2006-12-10  Bruno Haible  <bruno@clisp.org>
93897         * gnulib-tool (func_import): Show the include files only for those
93898         modules that are copied and specified.
93899         Reported by Karl Berry.
93901 2006-12-08  Jim Meyering  <jim@meyering.net>
93903         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93904         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93906         * build-aux/announce-gen: Add two new options, both optional:
93907         --bootstrap-tools=TOOL_LIST
93908               a comma-separated list of tools, e.g.,
93909               autoconf,automake,bison,gnulib
93910         --gnulib-snapshot-date=DATE
93911               if gnulib is in the bootstrap tool list,
93912               then report this as the snapshot date.
93913               If not specified, use the current date/time.
93914               If you specify a date here, be sure it's UTC.
93916 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93918         * tests/test-argp-2.sh: Fix test to match actual output.
93919         (func_compare): Fix sed script to be portable.
93921 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93923         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93924         workaround for this case.  It is not autoconfigured now; offhand
93925         it's hard to see how to autoconfigure it.
93927 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93929         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93930         a directory that is about to be chowned.  Such a directory's
93931         initial file permissions should permit the owner only and this
93932         should not be changed until after the chown, since the group and
93933         other bits would be incorrect if they granted permission before
93934         the chown.
93936         Fix porting problem for iswctype reported by Georg Schwarz in:
93937         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93938         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93939         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93940         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93941         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93943 2006-12-03  Jim Meyering  <jim@meyering.net>
93945         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93946         p->fts_statp may not yet be defined.
93947         (fts_read): Instead, set it in the caller, once p->fts_statp is
93948         sure to be defined, and corresponds to a top-level directory.
93949         This bug made du -x fail.  Here's the coreutils test case:
93950         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93951         Reported by Mike Frysinger.
93953 2006-12-01  Jim Meyering  <jim@meyering.net>
93955         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93956         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93957         Reported by Simon Josefsson.
93959 2006-11-30  Jim Meyering  <jim@meyering.net>
93961         * m4/warning.m4: Use the all-permissive copyright notice
93962         recommended by RMS (rather than LGPL).
93963         * m4/vararrays.m4: Likewise.
93964         * m4/flexmember.m4: Likewise.
93966 2006-11-29  Bruno Haible  <bruno@clisp.org>
93968         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93969         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93970         using +=.
93971         Reported by Simon Josefsson <simon@josefsson.org>.
93973 2006-11-28  James Youngman  <jay@gnu.org>
93975         * README: Advise users that they might find the bug-gnulib@gnu.org
93976         and autotools-announce@gnu.org mailing lists useful.
93978 2006-11-28  Bruno Haible  <bruno@clisp.org>
93980         * m4/ptrdiff_max.m4: Remove file.
93982 2006-11-21  Bruno Haible  <bruno@clisp.org>
93984         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93985         _AC_COMPUTE_INT.
93986         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93987         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93988         _AC_COMPUTE_INT.
93989         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93990         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93991         _AC_COMPUTE_INT.
93992         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93994 2006-11-28  Jim Meyering  <jim@meyering.net>
93996         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93997         warning from "gcc -Wshadow" about shadowing the builtin.
93999 2006-11-27  Bruno Haible  <bruno@clisp.org>
94001         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
94002         _AC_COMPUTE_INT.
94003         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
94005 2006-11-27  Bruno Haible  <bruno@clisp.org>
94006             Paul Eggert  <eggert@cs.ucla.edu>
94008         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
94010 2006-11-26  Bruno Haible  <bruno@clisp.org>
94012         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
94013         noinst_LTLIBRARIES.
94015 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
94016             Bruno Haible  <bruno@clisp.org>
94018         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
94019         if compiling with "gcc -ansi".
94021 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
94023         Fix some incompatibilities with gcc -ansi -pedantic.
94024         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
94025         if compiling pedantically with GCC, unless it's C99 or later.
94026         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
94027         it mishandles gcc -ansi -pedantic as well.
94028         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
94029         if gcc -pedantic.
94030         * lib/regexec.c (check_node_accept_bytes): Don't use auto
94031         initializers for struct if -pedantic, unless it's C99 or later.
94033 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
94035         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
94036         Don't close an fd more than once. Identical atimes indicate
94037         success, not failure.
94039 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
94041         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
94043 2006-11-23  Jim Meyering  <jim@meyering.net>
94045         * build-aux/announce-gen: New file.  From coreutils.
94047 2006-11-22  Jim Meyering  <jim@meyering.net>
94049         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
94050         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
94051         (fts_read): Use a temporary to narrow the overused st_size member
94052         before using it in a switch statement.  Reported by Matthew Woehlke.
94054         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
94055         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
94057 2006-11-20  Bruno Haible  <bruno@clisp.org>
94059         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
94060         changequote instead of pairs of brackets.
94061         Reported by Andreas Schwab <schwab@suse.de>.
94063 2006-11-21  Jim Meyering  <jim@meyering.net>
94065         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
94066         so as to remain compatible with older compilers.
94067         Patch from Michael Deutschmann.
94069 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94071         * MODULES.html.sh (File system functions): Add openat.
94073         * lib/openat.h (rpl_fstatat): New macro, if
94074         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
94075         (fstatat): Define to rpl_fstatat under the same conditions,
94076         unless COMPILING_FSTATAT.
94077         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
94078         seems to have the bug.
94079         * lib/fstatat.c: New file.
94080         * modules/openat (Files): Add it.
94082 2006-11-20  Bruno Haible  <bruno@clisp.org>
94084         * Makefile: New file.
94086 2006-11-20  Jim Meyering  <jim@meyering.net>
94088         The beginnings of syntax-related checks for gnulib.
94089         * lib/Makefile: New file.
94090         * lib/t-idcache: New script.  Ensure that the two halves of
94091         idcache.c stay in sync.
94093         * lib/idcache.c: Adjust comments in user- and group- portions to
94094         be more accurate, and to be consistent with one another.
94096 2006-11-20  Jim Meyering  <jim@meyering.net>
94098         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
94099         continue using the flexible array member (thus, this module performs
94100         half as many malloc calls), with the addition that...
94101         (getgroup, getuser): Consistently record a non-match via an empty
94102         "name" string, and map an empty string match to a NULL return value.
94103         * modules/idcache (Depends-on): Re-add flexmember.
94105         * lib/idcache.c (getuser): Remove all uses of the register keyword.
94106         (getuidbyname, getgroup, getgidbyname): Likewise.
94108         Use cleaner syntax: NULL rather than 0.
94109         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
94111 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94113         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
94114         It mishandled the case where the group was missing.
94115         Problem reported by Greg Schafer.
94116         * modules/idcache: Likewise.
94118 2006-11-18  Jim Meyering  <jim@meyering.net>
94120         * check-module (%exempt_header): Add exception for some
94121         conditionally-included headers.
94123         * modules/i-ring (Depends-on): Add verify.
94124         (License): Change to LGPL.
94126 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
94128         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
94129         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
94130         and inttostr.h.  Use snprintf rather than uinttostr, so that
94131         LGPLed code doesn't depend on GPLed.
94133 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
94135         * modules/inline (License): Change from GPL to LGPL.
94137 2006-11-17  Jim Meyering  <jim@meyering.net>
94139         * modules/d-type (License): Switch to LGPL.
94141 2006-11-15  Bruno Haible  <bruno@clisp.org>
94143         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
94145 2006-11-15  Eric Blake  <ebb9@byu.net>
94147         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
94148         the module dependency.
94150 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
94151             Bruno Haible  <bruno@clisp.org>
94153         * gnulib-tool (func_create_testdir): Add license consistency check.
94155 2006-11-15  Eric Blake  <ebb9@byu.net>
94157         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
94158         random "(cached)" in configure output.
94160 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94162         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
94163         test for conforming inttypes.h is both announced and cached.
94165         * MODULES.html.sh (seen_modules, seen_files): New variables.
94166         (func_module): Rewrite to use a few less gnulib-tool and sed
94167         invocations.  Avoid a couple of quadratic algorithms for ...
94168         (missed_modules, missed_files): ... these, with ...
94169         (func_append, func_tmpdir): ... these new functions, from
94170         gnulib-tool.  Analogously, install traps for cleanup.
94172         * tests/test-gc.c (main): Remove unused variables.
94173         * tests/test-read-file.c: Include stdlib.h, for 'free'.
94175 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
94177         * modules/inttostr (License): Change to LGPL.
94179 2006-11-14  Eric Blake  <ebb9@byu.net>
94181         * modules/tempname (License): Change to LGPL.
94183 2006-11-14  Eric Blake  <ebb9@byu.net>
94185         * doc/functions.texi (Function Portability): *printf functions on
94186         Cygwin now understand all POSIX size specifiers.
94188 2006-11-14  Bruno Haible  <bruno@clisp.org>
94190         * modules/c-ctype (License): Change to LGPL.
94192 2006-11-12  Bruno Haible  <bruno@clisp.org>
94194         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94195         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
94196         for GNOME libraries, for which the include files are installed in
94197         subdirectories of $prefix/include.
94199 2006-11-12  Bruno Haible  <bruno@clisp.org>
94201         * m4/lib-link.m4: Require at least autoconf-2.54.
94202         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
94203         name to underscores for the --with option.
94205 2006-11-13  Bruno Haible  <bruno@clisp.org>
94207         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
94208         the tests directory.
94209         Reported by Ralf Wildenhues.
94211 2006-11-13  Bruno Haible  <bruno@clisp.org>
94213         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
94214         (func_emit_initmacro_end): Undo the override here.
94215         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
94216         Works around the famous automake error in coreutils.
94218 2006-11-13  Eric Blake  <ebb9@byu.net>
94220         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
94221         element, not its node.
94223 2006-11-12  Bruno Haible  <bruno@clisp.org>
94225         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
94226         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
94228 2006-11-12  Bruno Haible  <bruno@clisp.org>
94230         * gnulib-tool: New option --local-symlink.
94231         (func_usage): Document it.
94232         (lsymbolic): New variable.
94233         (func_import, func_create_testdir): If --symlink was not specified,
94234         test whether --local-symlink was specified and the file comes from
94235         the local_gnulib_dir.
94237 2006-11-12  Bruno Haible  <bruno@clisp.org>
94239         * gnulib-tool (func_ln): New function.
94240         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
94242 2006-11-12  Bruno Haible  <bruno@clisp.org>
94244         Finish support for source files in subdirectories.
94245         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
94246         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
94247         AUTOMAKE_OPTIONS.
94248         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
94250 2006-11-12  Bruno Haible  <bruno@clisp.org>
94252         * gnulib-tool (func_get_automake_snippet): Synthesize also an
94253         EXTRA_lib_SOURCES augmentation.
94254         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
94256 2006-11-12  Jim Meyering  <jim@meyering.net>
94258         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
94259         file descriptors.  This also averts a failure on systems with
94260         native openat support when a traversed directory lacks "x" access.
94261         * lib/fts_.h: Include "i-ring.h"
94262         (struct FTS) [fts_fd_ring]: New member.
94263         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
94264         (FCHDIR): Add parentheses.
94265         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
94266         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
94267         When descending, rather than simply closing the previous
94268         fts_cwd_fd value, push that file descriptor onto the ring.
94269         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
94270         (fts_open): Initialize the new fd_ring member.
94271         (fts_close): Clear the ring.
94272         (fts_safe_changedir): When possible, use our new fd_ring to skip
94273         the diropen and fstat and dev/ino comparison that would normally
94274         accompany a virtual `chdir ("..")'.
94276         * modules/fts (Depends-on): Add i-ring.
94277         * modules/i-ring: New module.
94278         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
94279         * m4/i-ring.m4: New file.
94281 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94283         * gnulib-tool (func_create_testdir): Fix replacement of
94284         `build-aux' in configure.ac.  Run autotools in gltests
94285         subdirectory.
94286         (func_create_testdir, func_create_megatestdir, test): There is
94287         no need for '--force' in most autotool invocations in a new
94288         tree.  Actually fail the whole test if any of the tools, or the
94289         configure or make stages fail.
94291         Sync from Automake.
94292         * build-aux/gnupload: Revert last change.  Add pointer to upload
94293         instructions of the GNU Maintenance Instructions.
94294         Suggestion by Karl Berry.
94296 2006-11-10  Jim Meyering  <jim@meyering.net>
94298         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
94300 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94302         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
94303         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
94304         (bind_textdomain_codeset) [! ENABLE_NLS]:
94305         Evaluate all the arguments.  That way, callers get compatible behavior
94306         if the arguments have side effects.  Also, it avoids some GCC
94307         diagnostics in some cases; Joel E. Denny reported problems when Bison
94308         was configured with --enable-gcc-warnigs.
94310 2006-11-10  Jim Meyering  <jim@meyering.net>
94312         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
94313         relevant options in CFLAGS (like -O, -fno-inline) are taken into
94314         account.
94316 2006-11-10  Jim Meyering  <jim@meyering.net>
94318         * modules/inline: New file/module.
94319         * modules/xalloc (Files): Remove m4/inline.m4.
94320         (Depends-on): Add inline, instead.
94321         * modules/oset: Likewise.
94322         * modules/list: Likewise.
94324 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94326         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
94327         Problem reported by Matthew Woehlke.
94329 2006-11-09  Bruno Haible  <bruno@clisp.org>
94331         * lib/tempname.c (gen_tempname): Remove variant that invokes
94332         __gen_tempname.
94333         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
94334         __gen_tempname.
94336 2006-11-08  Bruno Haible  <bruno@clisp.org>
94338         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
94339         to 'yes' instead of 'cross-compiling'.
94341 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
94343         * lib/quotearg.h (quotearg_free): New decl.
94344         * lib/quotearg.c (quotearg_free): New function.
94345         (slot0, nslots, slotvec0, slotvec):
94346         Now file-scope so that quotearg_free can get at them.
94348 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94350         Sync from Automake.
94351         * build-aux/gnupload: Add missing 'gnu' to example URL.
94352         Report by Karl Berry.
94354 2006-11-08  Bruno Haible  <bruno@clisp.org>
94356         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
94357         Suggested by Paul Eggert.
94359 2006-11-08  Jim Meyering  <jim@meyering.net>
94361         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
94362         It's already included if !_LIBC.
94363         (fts_safe_changedir): Add a comment.
94365 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94367         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
94368         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
94369         Matthew Woehlke.
94371         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
94372         definitions up, to avoid colliding with change below.
94373         (static_inline) [HAVE_INLINE]: New macro.
94374         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
94375         Provide extern decls when !HAVE_INLINE.  Do not define unless
94376         static_inline is defined, either by us or by xmalloc.c.  Use
94377         static_inline rather than static inline.
94378         (XCALLOC): Optimize sizeof(T) = 1 case.
94379         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
94381 2006-11-07  Bruno Haible  <bruno@clisp.org>
94383         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
94384         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
94385         AC_C_INLINE.
94386         * modules/xalloc (Files): Add m4/inline.m4.
94388 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94390         * README: Fix typo.
94391         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
94392         (Miscellanous Notes): ...from this.
94394 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94396         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
94397         Mention that offsetof should be used instead of sizeof.
94398         From Bruno Haible.
94400 2006-11-07  Bruno Haible  <bruno@clisp.org>
94402         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
94404 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94406         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94407         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
94408         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94409         (gl_tree_add_before, gl_tree_add_after):
94410         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
94411         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
94412         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
94413         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
94414         (gl_linked_add_after, gl_linked_add_at): Likewise.
94415         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
94416         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94417         (gl_tree_add_before, gl_tree_add_after): Likewise.
94418         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
94419         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
94420         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
94422 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94424         * lib/gl_oset.h: Use C comment style, not C++ comment style.
94426 2006-11-06  Bruno Haible  <bruno@clisp.org>
94428         * m4/inline.m4: New file.
94429         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
94430         * modules/list (Files): Add m4/inline.m4.
94431         * modules/oset (Files): Likewise.
94433 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94435         * lib/idcache.c: Include <stddef.h>, for offsetof.
94436         (struct userid.name): Change from char * to a flexible array member.
94437         All uses changed.
94438         * modules/idcache (Depends-on): Add flexmember.
94440         * MODULES.html.sh (Core language properties): New module flexmember.
94441         * modules/flexmember, m4/flexmember.m4: New files.
94443         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
94444         inline functions that are identical with the old xnmalloc_inline,
94445         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
94446         that we can avoid some unnecessary integer multiplications and
94447         divisions in the common case where the element size is known at
94448         compile time.
94449         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
94450         needed.
94451         (xnboundedmalloc): Remove.
94452         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
94453         arguments, for consistency with rest of this header.
94454         (xcharalloc): Rewrite using XNMALLOC.
94455         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
94456         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
94457         versions have been moved to lib/xalloc.h and renamed to be the
94458         non-*_inline versions.
94459         (xmalloc, xrealloc): Implement without reference to the xnmalloc
94460         and xnrealloc functions, since those functions are now inline and
94461         now call us.
94462         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
94463         renaming described above.
94464         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
94465         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
94466         captures the dependency in AC_C_INLINE.
94468         New module canonicalize-lgpl, proposed by Charles Wilson in
94469         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
94470         with a few small changes afterwards.
94471         * MODULES.html.sh (File system functions): New module
94472         canonicalize-lgpl.
94473         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94474         and canonicalize_file_name.
94475         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94476         * modules/canonicalize-lgpl: New files.
94478 2006-11-05  Bruno Haible  <bruno@clisp.org>
94480         * gnulib-tool (func_import, func_create_testdir): Create directories
94481         also for files in subdirectories of lib/.
94483 2006-11-05  Bruno Haible  <bruno@clisp.org>
94485         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94486         ANSI C compliant.
94488 2006-11-03  Bruno Haible  <bruno@clisp.org>
94490         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94491         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94492         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94493         (xnboundedmalloc): New inline function.
94494         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94495         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94496         xmalloc.
94497         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94498         xmalloc.
94499         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94500         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94501         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94502         xmalloc.
94503         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94504         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94505         xmalloc.
94506         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94507         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94508         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94509         xmalloc.
94510         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94511         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94512         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94513         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94514         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94515         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94516         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94518 2006-11-03  Bruno Haible  <bruno@clisp.org>
94520         * lib/c-ctype.h [C++]: Define functions without name mangling.
94521         * lib/fwriteerror.h [C++]: Likewise.
94522         * lib/gcd.h [C++]: Likewise.
94523         * lib/linebreak.h [C++]: Likewise.
94525 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94527         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94528         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94529         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94530         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94531         Check for functions and headers just once.
94532         Check for declaration of canonicalize_file_name.
94533         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94535 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94537         * gnulib-tool (func_import): Fix typo in actioncmd.
94539 2006-11-02  Bruno Haible  <bruno@clisp.org>
94541         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94542         newline sequence in the Makefile.am snippet as a space, like "make"
94543         does.
94544         Reported by Roger Persson <perrog@gmail.com>.
94546 2006-11-01  Bruno Haible  <bruno@clisp.org>
94548         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94549         already declared in <string.h>.
94550         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94552 2006-11-01  Bruno Haible  <bruno@clisp.org>
94554         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94555         * lib/strcase.h: Include <string.h>.
94556         (strcasecmp): Define to rpl_strcasecmp here.
94558 2006-11-01  Bruno Haible  <bruno@clisp.org>
94560         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94562 2006-11-01  Eric Blake  <ebb9@byu.net>
94564         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94566         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94568 2006-10-29  Bruno Haible  <bruno@clisp.org>
94570         Make it compile in C++ mode.
94571         * lib/full-write.c (full_rw): Add a cast.
94573 2006-11-01  Bruno Haible  <bruno@clisp.org>
94575         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94576         be POSIX compliant.
94577         Reported by Roger Persson <perrog@gmail.com>.
94579 2006-11-01  Eric Blake  <ebb9@byu.net>
94581         * lib/getopt_.h: Fix comments.
94583 2006-10-31  Eric Blake  <ebb9@byu.net>
94585         * modules/tmpdir (Depends-on): Add sys_stat.
94586         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94587         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94588         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94589         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94590         tempname.
94592 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94594         Avoid some C++ diagnostics reported by Bruno Haible.
94595         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94596         xmalloc.
94597         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94598         (struct slotvec): Move to top level.
94599         (quotearg_n_options): Rewrite to avoid xmalloc.
94600         * lib/xalloc.h (xcharalloc): New function.
94601         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94602         [defined __cplusplus]: Add function template that provides result
94603         type propagation.  This part of the change is from Bruno Haible.
94605 2006-10-29  Bruno Haible  <bruno@clisp.org>
94607         Make it compile in C++ mode.
94608         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94609         * lib/strnlen1.c (strnlen1): Cast memchr result.
94610         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94611         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94612         (create_temp_dir): Rename local variable 'template'.
94613         (compile_csharp_using_sscli): Add cast.
94614         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94615         * lib/findprog.c (find_in_path): Likewise.
94616         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94617         * lib/wait-process.c (register_slave_subprocess): Likewise.
94619 2006-10-22  Bruno Haible  <bruno@clisp.org>
94621         * modules/tsearch: New file.
94622         * lib/tsearch.h: New file.
94623         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94624         * m4/tsearch.m4: New file.
94625         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94627 2006-10-29  Eric Blake  <ebb9@byu.net>
94629         * lib/arcfour.c: Assume config.h.
94630         * lib/arctwo.c: Likewise.
94631         * lib/base64.c: Likewise.
94632         * lib/check-version.c: Likewise.
94633         * lib/crc.c: Likewise.
94634         * lib/des.c: Likewise.
94635         * lib/gc-gnulib.c: Likewise.
94636         * lib/gc-libgcrypt.c: Likewise.
94637         * lib/gc-pbkdf2-sha1.c: Likewise.
94638         * lib/getaddrinfo.c: Likewise.
94639         * lib/getdelim.c: Likewise.
94640         * lib/getline.c: Likewise.
94641         * lib/hmac-md5.c: Likewise.
94642         * lib/hmac-sha1.c: Likewise.
94643         * lib/iconvme.c: Likewise.
94644         * lib/md2.c: Likewise.
94645         * lib/md4.c: Likewise.
94646         * lib/memxor.c: Likewise.
94647         * lib/read-file.c: Likewise.
94648         * lib/readline.c: Likewise.
94649         * lib/rijndael-alg-fst.c: Likewise.
94650         * lib/rijndael-api-fst.c: Likewise.
94651         * lib/xgetdomainname.c: Likewise.
94653 2006-10-28  Eric Blake  <ebb9@byu.net>
94655         * lib/xstrndup.c: Assume config.h.
94657 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94659         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94660         stat-macros.h is now for our own macros, whereas stat_h is for
94661         macros in the <sys/stat.h> name space.
94662         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94663         (STAT_MACROS_H): Remove.
94664         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94665         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94666         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94667         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94668         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94669         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94670         Move these macros to ...
94671         * lib/stat_.h: here.  Don't include stat-macros.h.
94672         * lib/canonicalize.c: Don't include stat-macros.h.
94673         * lib/chown.c: Likewise.
94674         * lib/euidaccess.c: Likewise.
94675         * lib/file-type.c: Likewise.
94676         * lib/filemode.c: Likewise.
94677         * lib/glob.c: Likewise.
94678         * lib/isapipe.c: Likewise.
94679         * lib/lchown.c: Likewise.
94680         * lib/lstat.c: Likewise.
94681         * lib/mkdir-p.c: Likewise.
94682         * lib/rmdir.c: Likewise.
94683         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94684         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94685         unless mkdir isn't declared, to speed up 'configure'.
94686         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94687         would define all the S_* symbols.
94688         * modules/canonicalize (Depends-on):
94689         Depend on sys_stat, not stat-macros.
94690         * modules/chown: Likewise.
94691         * modules/euidaccess: Likewise.
94692         * modules/filemode: Likewise.
94693         * modules/file-type: Likewise.
94694         * modules/glob: Likewise.
94695         * modules/isapipe: Likewise.
94696         * modules/lchown: Likewise.
94697         * modules/lstat: Likewise.
94698         * modules/mkancesdirs: Likewise.
94699         * modules/rmdir: Likewise.
94700         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94701         * modules/modechange: Likewise.
94702         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94703         (configure.ac): Remove gl_STAT_MACROS.
94704         * modules/sys_stat (Depends-on): Remove stat-macros.
94706 2006-10-27  Bruno Haible  <bruno@clisp.org>
94708         * m4/signed.m4: Remove file.
94709         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94710         invocation.
94711         * modules/vasnprintf (Files): Remove m4/signed.m4.
94713 2006-10-27  Bruno Haible  <bruno@clisp.org>
94715         Update to GNU gettext 0.16.
94716         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94717         m4/inttypes-h.m4, m4/signed.m4.
94718         * m4/gettext.m4: Update to GNU gettext 0.16.
94719         * m4/intl.m4: New file, from GNU gettext.
94720         * m4/intldir.m4: New file, from GNU gettext.
94721         * config/srclist.txt: Update
94723 2006-10-27  Eric Blake  <ebb9@byu.net>
94725         * MODULES.html.sh: Document tempname.
94726         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94727         dependencies.
94728         (Files): Move lib/tempname.c...
94729         * modules/tempname: ...to this new module.
94730         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94731         (gl_PREREQ_TEMPNAME): Move...
94732         * m4/tempname.m4: ...to this new file.
94733         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94734         * modules/sys_stat (Depends-on): Add stat-macros.
94735         * lib/stat_.h (includes): Pick up stat macros.
94736         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94737         if stat macros are broken.
94738         * lib/tempname.c (includes): No need to include "stat-macros.h".
94739         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94740         (direxists, __path_search) [!_LIBC]: Don't compile these in
94741         gnulib; the tmpdir module covers that.
94742         * lib/tempname.h: New file.
94744 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94746         * COPYING: Explain how gnulib-tool converts licence headers.
94747         Almost all wording by Eric Blake.
94749 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94751         * lib/mbchar.h (is_basic_table): Make read-only.
94752         * lib/mbchar.c (is_basic_table): Likewise.
94753         Reported by John Darrington.
94755 2006-10-25  Bruno Haible  <bruno@clisp.org>
94757         * lib/progname.h (set_program_name): Undefine before defining.
94759 2006-10-25  Bruno Haible  <bruno@clisp.org>
94761         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94762         false for non-gcc C++ compilers.
94763         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94765 2006-10-24  Bruno Haible  <bruno@clisp.org>
94767         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94768         iconv implementations like Irix iconv.
94770 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94772         * modules/vararrays: New file.
94773         * m4/vararrays.m4: New file, taken from diffutils.
94774         * MODULES.html.sh: New module vararrays.
94776 2006-10-24  Karl Berry  <karl@gnu.org>
94778         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94779         Don't call GNU Unix.
94781 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94783         * users.txt: Add Libtool.
94785         Sync from Libtool:
94787         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94789         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94790         to gnulib's policy of including config.h unconditionally.
94792 2006-10-24  Bruno Haible  <bruno@clisp.org>
94794         * modules/wcwidth (Files): Add m4/wint_t.m4.
94795         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94796         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94798 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94800         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94801         to pacify GCC with some -W flags enabled.  Problem reported by
94802         Bruno Haible.
94804 2006-10-24  Jim Meyering  <jim@meyering.net>
94806         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94807         Reported by Karl Berry.
94809 2006-10-23  Bruno Haible  <bruno@clisp.org>
94811         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94813 2006-10-24  Bruno Haible  <bruno@clisp.org>
94815         * lib/gl_list.h: Use C comment style, not C++ comment style.
94817 2006-10-23  Eric Blake  <ebb9@byu.net>
94819         * lib/getaddrinfo.c (includes): Add missing include.
94821 2006-10-23  Bruno Haible  <bruno@clisp.org>
94822             Paul Eggert  <eggert@cs.ucla.edu>
94824         Ability to rename obstack_free.
94825         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94826         obstack_free.
94827         (obstack_free): Invoke the __obstack_free macro.
94828         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94830 2006-10-23  Bruno Haible  <bruno@clisp.org>
94831             Paul Eggert  <eggert@cs.ucla.edu>
94833         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94834         __argc, __argv from the declaration. (They are defined as macros on
94835         mingw.)
94837 2006-10-22  Bruno Haible  <bruno@clisp.org>
94839         * doc/gnulib-intro.texi: New file.
94840         * doc/gnulib.texi: Include it.
94842 2006-10-21  Bruno Haible  <bruno@clisp.org>
94844         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94845         "Introduction", "Miscellanous Notes", "Particular Modules".
94847 2006-10-21  Bruno Haible  <bruno@clisp.org>
94849         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94850         Change mostlyclean-local rule to avoid sh syntax error from bash
94851         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94853 2006-10-23  Jim Meyering  <jim@meyering.net>
94855         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94856         in place of snprintf.
94858         * modules/inttostr (Files): Add lib/uinttostr.c.
94859         * lib/uinttostr.c (inttostr): New file/function.
94860         * lib/inttostr.h (uinttostr): Declare.
94861         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94862         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94863         Add uinttostr.
94864         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94866 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94868         * lib/canonicalize.c (ELOOP): Define if not already defined.
94869         Problem reported by Bruno Haible in
94870         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94872 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94874         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94875         Problem reported by Perry Smith and Ville Laurikari.
94877         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94878         uses.
94880 2006-10-19  Bruno Haible  <bruno@clisp.org>
94882         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94883         for mingw.
94885 2006-10-19  Bruno Haible  <bruno@clisp.org>
94887         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94888         Needed for mingw.
94890 2006-10-19  Bruno Haible  <bruno@clisp.org>
94892         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94894 2006-10-19  Bruno Haible  <bruno@clisp.org>
94896         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94897         it.
94899 2006-10-19  Bruno Haible  <bruno@clisp.org>
94901         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94902         invocation.
94904 2006-10-19  Bruno Haible  <bruno@clisp.org>
94906         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94907         mountlist by default.
94909 2006-10-16  Bruno Haible  <bruno@clisp.org>
94911         * lib/c-strstr.c: Include c-strstr.h.
94913 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94915         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94916         in a slash.
94918 2006-10-18  Bruno Haible  <bruno@clisp.org>
94920         * lib/lock.h [C++]: Wrap definitions in extern "C".
94922 2006-10-18  Bruno Haible  <bruno@clisp.org>
94924         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94925         gl_LIBOBJS list.
94927 2006-10-18  Bruno Haible  <bruno@clisp.org>
94929         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94931 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94933         * lib/xstrtol.h: Include gettext.h.
94934         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94935         Problem reported by Eric Blake.
94936         * modules/xstrtol (Depends-on): Add gettext-h.
94938 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94940         * lib/strftime.c (advance): New macro.
94941         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94942         incomplete type, so you can't add 0 to it.  Problem and patch
94943         reported by Eelco Dolstra for dietlibc.
94945 2006-10-18  Jim Meyering  <jim@meyering.net>
94947         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94948         type for a local, and rename it: s/up/user_proc/.
94950 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94952         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94953         READ_UTMP_USER_PROCESS.
94954         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94956 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94958         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94959         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94961 2006-10-17  Eric Blake  <ebb9@byu.net>
94963         * lib/sigprocmask.c (sigprocmask): Fix typo.
94965         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94967         * modules/clean-temp (Makefile.am): Don't add to make output...
94968         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94969         config.h.
94971 2006-10-17  Bruno Haible  <bruno@clisp.org>
94973         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94974         differently if DEFAULT_TEXT_DOMAIN is set.
94976 2006-10-16  Bruno Haible  <bruno@clisp.org>
94978         * lib/clean-temp.c: Include fwriteerror.h.
94980 2006-10-16  Bruno Haible  <bruno@clisp.org>
94982         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94984 2006-10-16  Bruno Haible  <bruno@clisp.org>
94986         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94987         * lib/sigprocmask.h: Include <sys/types.h>.
94988         (sigset_t): Use the system's definition if present.
94990 2006-10-17  Eric Blake  <ebb9@byu.net>
94992         * lib/xvasprintf.c (includes): Assume config.h.
94993         * lib/xasprintf.c (includes): Likewise.
94995 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94997         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94998         at least as wide as intmax_t.
95000 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
95002         (Imported from Automake.)
95003         * build-aux/gnupload: Update to version 1.1 of directive file.
95005 2006-10-16  Eric Blake  <ebb9@byu.net>
95007         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
95008         match Automake 1.10a.
95010 2006-10-14  Bruno Haible  <bruno@clisp.org>
95012         * modules/sigprocmask: New file.
95013         * lib/sigprocmask.h: New file.
95014         * lib/sigprocmask.c: New file.
95015         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
95016         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
95017         request sigprocmask.o.
95018         (gl_PREREQ_SIGPROCMASK): New macro.
95019         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
95020         (Depends-on): Add sigprocmask.
95021         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
95022         gt_SIGNALBLOCKING. Test for 'raise' only once.
95023         * lib/fatal-signal.c: Include sigprocmask.h.
95024         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
95025         unblock_fatal_signals): Define always.
95026         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
95027         sigprocmask.
95029 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
95031         Sync from Automake.
95032         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
95033         which incorrectly sets the mode of an existing destination
95034         directory.  In some cases the unpatched install-sh could do the
95035         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
95036         system.  We hope this is rare in practice, but it's clearly worth
95037         fixing.  Problem reported by Alex Unleashed in
95038         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
95039         Also, don't bother to check for -m bugs unless we're using -m;
95040         suggested by Stepan Kasal.
95042 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95044         Sync from Automake.
95045         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
95046         `-c' flag, so they appear at the same position as in %FASTDEP%
95047         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
95048         which ignores unknown options only after the first non-option.
95049         Bug report against M4 by Nelson H. F. Beebe.
95051 2006-10-13  Jim Meyering  <jim@meyering.net>
95053         Fix a bug in yesterday's change.
95054         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
95055         p->fts_statp->st_dev would be used uninitialized.
95056         Ensures that we always call fts_stat on the very first entry.
95057         Miklos Szeredi reported that find -xdev stopped working.
95059 2006-10-12  Bruno Haible  <bruno@clisp.org>
95061         * gnulib-tool (func_get_automake_snippet): Append an automatically
95062         computed EXTRA_DIST augmentation.
95063         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
95064         * modules/alloca-opt (Makefile.am): Likewise.
95065         * modules/allocsa (Makefile.am): Likewise.
95066         * modules/arcfour (Makefile.am): Likewise.
95067         * modules/arctwo (Makefile.am): Likewise.
95068         * modules/argmatch (Makefile.am): Likewise.
95069         * modules/argz (Makefile.am): Likewise.
95070         * modules/atexit (Makefile.am): Likewise.
95071         * modules/backupfile (Makefile.am): Likewise.
95072         * modules/byteswap (Makefile.am): Likewise.
95073         * modules/c-strtod (Makefile.am): Likewise.
95074         * modules/c-strtold (Makefile.am): Likewise.
95075         * modules/calloc (Makefile.am): Likewise.
95076         * modules/canon-host (Makefile.am): Likewise.
95077         * modules/canonicalize (Makefile.am): Likewise.
95078         * modules/chdir-long (Makefile.am): Likewise.
95079         * modules/chdir-safer (Makefile.am): Likewise.
95080         * modules/check-version (Makefile.am): Likewise.
95081         * modules/chown (Makefile.am): Likewise.
95082         * modules/cloexec (Makefile.am): Likewise.
95083         * modules/close-stream (Makefile.am): Likewise.
95084         * modules/closeout (Makefile.am): Likewise.
95085         * modules/crc (Makefile.am): Likewise.
95086         * modules/csharpexec (Makefile.am): Likewise.
95087         * modules/cycle-check (Makefile.am): Likewise.
95088         * modules/des (Makefile.am): Likewise.
95089         * modules/dev-ino (Makefile.am): Likewise.
95090         * modules/dirfd (Makefile.am): Likewise.
95091         * modules/dirname (Makefile.am): Likewise.
95092         * modules/dup2 (Makefile.am): Likewise.
95093         * modules/eealloc (Makefile.am): Likewise.
95094         * modules/error (Makefile.am): Likewise.
95095         * modules/euidaccess (Makefile.am): Likewise.
95096         * modules/exclude (Makefile.am): Likewise.
95097         * modules/exitfail (Makefile.am): Likewise.
95098         * modules/fcntl-safer (Makefile.am): Likewise.
95099         * modules/fcntl (Makefile.am): Likewise.
95100         * modules/file-type (Makefile.am): Likewise.
95101         * modules/fileblocks (Makefile.am): Likewise.
95102         * modules/filemode (Makefile.am): Likewise.
95103         * modules/filenamecat (Makefile.am): Likewise.
95104         * modules/fnmatch (Makefile.am): Likewise.
95105         * modules/fopen-safer (Makefile.am): Likewise.
95106         * modules/fpending (Makefile.am): Likewise.
95107         * modules/fprintftime (Makefile.am): Likewise.
95108         * modules/free (Makefile.am): Likewise.
95109         * modules/fsusage (Makefile.am): Likewise.
95110         * modules/ftruncate (Makefile.am): Likewise.
95111         * modules/fts (Makefile.am): Likewise.
95112         * modules/gc-arcfour (Makefile.am): Likewise.
95113         * modules/gc-des (Makefile.am): Likewise.
95114         * modules/gc-hmac-md5 (Makefile.am): Likewise.
95115         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
95116         * modules/gc-md4 (Makefile.am): Likewise.
95117         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95118         * modules/gc-sha1 (Makefile.am): Likewise.
95119         * modules/gc (Makefile.am): Likewise.
95120         * modules/getaddrinfo (Makefile.am): Likewise.
95121         * modules/getcwd (Makefile.am): Likewise.
95122         * modules/getdelim (Makefile.am): Likewise.
95123         * modules/getdomainname (Makefile.am): Likewise.
95124         * modules/getgroups (Makefile.am): Likewise.
95125         * modules/gethostname (Makefile.am): Likewise.
95126         * modules/gethrxtime (Makefile.am): Likewise.
95127         * modules/getline (Makefile.am): Likewise.
95128         * modules/getloadavg (Makefile.am): Likewise.
95129         * modules/getlogin_r (Makefile.am): Likewise.
95130         * modules/getndelim2 (Makefile.am): Likewise.
95131         * modules/getopt (Makefile.am): Likewise.
95132         * modules/getpagesize (Makefile.am): Likewise.
95133         * modules/getpass-gnu (Makefile.am): Likewise.
95134         * modules/getpass (Makefile.am): Likewise.
95135         * modules/getsubopt (Makefile.am): Likewise.
95136         * modules/gettime (Makefile.am): Likewise.
95137         * modules/gettimeofday (Makefile.am): Likewise.
95138         * modules/getugroups (Makefile.am): Likewise.
95139         * modules/getusershell (Makefile.am): Likewise.
95140         * modules/glob (Makefile.am): Likewise.
95141         * modules/group-member (Makefile.am): Likewise.
95142         * modules/hard-locale (Makefile.am): Likewise.
95143         * modules/hash (Makefile.am): Likewise.
95144         * modules/hmac-md5 (Makefile.am): Likewise.
95145         * modules/hmac-sha1 (Makefile.am): Likewise.
95146         * modules/human (Makefile.am): Likewise.
95147         * modules/idcache (Makefile.am): Likewise.
95148         * modules/imaxabs (Makefile.am): Likewise.
95149         * modules/imaxdiv (Makefile.am): Likewise.
95150         * modules/inet_ntop (Makefile.am): Likewise.
95151         * modules/inet_pton (Makefile.am): Likewise.
95152         * modules/intprops (Makefile.am): Likewise.
95153         * modules/inttostr (Makefile.am): Likewise.
95154         * modules/inttypes (Makefile.am): Likewise.
95155         * modules/isapipe (Makefile.am): Likewise.
95156         * modules/javaversion (Makefile.am): Likewise.
95157         * modules/lchmod (Makefile.am): Likewise.
95158         * modules/lchown (Makefile.am): Likewise.
95159         * modules/localcharset (Makefile.am): Likewise.
95160         * modules/long-options (Makefile.am): Likewise.
95161         * modules/lstat (Makefile.am): Likewise.
95162         * modules/malloc (Makefile.am): Likewise.
95163         * modules/mathl (Makefile.am): Likewise.
95164         * modules/mbchar (Makefile.am): Likewise.
95165         * modules/md2 (Makefile.am): Likewise.
95166         * modules/md4 (Makefile.am): Likewise.
95167         * modules/md5 (Makefile.am): Likewise.
95168         * modules/memcasecmp (Makefile.am): Likewise.
95169         * modules/memchr (Makefile.am): Likewise.
95170         * modules/memcmp (Makefile.am): Likewise.
95171         * modules/memcoll (Makefile.am): Likewise.
95172         * modules/memcpy (Makefile.am): Likewise.
95173         * modules/memmem (Makefile.am): Likewise.
95174         * modules/memmove (Makefile.am): Likewise.
95175         * modules/mempcpy (Makefile.am): Likewise.
95176         * modules/memrchr (Makefile.am): Likewise.
95177         * modules/memset (Makefile.am): Likewise.
95178         * modules/memxor (Makefile.am): Likewise.
95179         * modules/mkancesdirs (Makefile.am): Likewise.
95180         * modules/mkdir-p (Makefile.am): Likewise.
95181         * modules/mkdir (Makefile.am): Likewise.
95182         * modules/mkdtemp (Makefile.am): Likewise.
95183         * modules/mkstemp (Makefile.am): Likewise.
95184         * modules/mktime (Makefile.am): Likewise.
95185         * modules/modechange (Makefile.am): Likewise.
95186         * modules/mountlist (Makefile.am): Likewise.
95187         * modules/nanosleep (Makefile.am): Likewise.
95188         * modules/obstack (Makefile.am): Likewise.
95189         * modules/openat (Makefile.am): Likewise.
95190         * modules/pagealign_alloc (Makefile.am): Likewise.
95191         * modules/pathmax (Makefile.am): Likewise.
95192         * modules/physmem (Makefile.am): Likewise.
95193         * modules/poll (Makefile.am): Likewise.
95194         * modules/posixtm (Makefile.am): Likewise.
95195         * modules/posixver (Makefile.am): Likewise.
95196         * modules/putenv (Makefile.am): Likewise.
95197         * modules/quote (Makefile.am): Likewise.
95198         * modules/quotearg (Makefile.am): Likewise.
95199         * modules/raise (Makefile.am): Likewise.
95200         * modules/read-file (Makefile.am): Likewise.
95201         * modules/readline (Makefile.am): Likewise.
95202         * modules/readlink (Makefile.am): Likewise.
95203         * modules/readtokens (Makefile.am): Likewise.
95204         * modules/readutmp (Makefile.am): Likewise.
95205         * modules/realloc (Makefile.am): Likewise.
95206         * modules/regex (Makefile.am): Likewise.
95207         * modules/rename-dest-slash (Makefile.am): Likewise.
95208         * modules/rename (Makefile.am): Likewise.
95209         * modules/rijndael (Makefile.am): Likewise.
95210         * modules/rmdir (Makefile.am): Likewise.
95211         * modules/rpmatch (Makefile.am): Likewise.
95212         * modules/safe-read (Makefile.am): Likewise.
95213         * modules/safe-write (Makefile.am): Likewise.
95214         * modules/same-inode (Makefile.am): Likewise.
95215         * modules/same (Makefile.am): Likewise.
95216         * modules/save-cwd (Makefile.am): Likewise.
95217         * modules/savedir (Makefile.am): Likewise.
95218         * modules/setenv (Makefile.am): Likewise.
95219         * modules/settime (Makefile.am): Likewise.
95220         * modules/sha1 (Makefile.am): Likewise.
95221         * modules/sig2str (Makefile.am): Likewise.
95222         * modules/snprintf (Makefile.am): Likewise.
95223         * modules/stat-macros (Makefile.am): Likewise.
95224         * modules/stat-time (Makefile.am): Likewise.
95225         * modules/stdbool (Makefile.am): Likewise.
95226         * modules/stdint (Makefile.am): Likewise.
95227         * modules/stdlib-safer (Makefile.am): Likewise.
95228         * modules/stpcpy (Makefile.am): Likewise.
95229         * modules/stpncpy (Makefile.am): Likewise.
95230         * modules/strcase (Makefile.am): Likewise.
95231         * modules/strcasestr (Makefile.am): Likewise.
95232         * modules/strchrnul (Makefile.am): Likewise.
95233         * modules/strcspn (Makefile.am): Likewise.
95234         * modules/strdup (Makefile.am): Likewise.
95235         * modules/strerror (Makefile.am): Likewise.
95236         * modules/strftime (Makefile.am): Likewise.
95237         * modules/strndup (Makefile.am): Likewise.
95238         * modules/strnlen (Makefile.am): Likewise.
95239         * modules/strpbrk (Makefile.am): Likewise.
95240         * modules/strsep (Makefile.am): Likewise.
95241         * modules/strstr (Makefile.am): Likewise.
95242         * modules/strtod (Makefile.am): Likewise.
95243         * modules/strtoimax (Makefile.am): Likewise.
95244         * modules/strtok_r (Makefile.am): Likewise.
95245         * modules/strtol (Makefile.am): Likewise.
95246         * modules/strtoll (Makefile.am): Likewise.
95247         * modules/strtoul (Makefile.am): Likewise.
95248         * modules/strtoull (Makefile.am): Likewise.
95249         * modules/strtoumax (Makefile.am): Likewise.
95250         * modules/strverscmp (Makefile.am): Likewise.
95251         * modules/sys_socket (Makefile.am): Likewise.
95252         * modules/sys_stat (Makefile.am): Likewise.
95253         * modules/sysexits (Makefile.am): Likewise.
95254         * modules/time_r (Makefile.am): Likewise.
95255         * modules/timegm (Makefile.am): Likewise.
95256         * modules/timespec (Makefile.am): Likewise.
95257         * modules/tmpfile-safer (Makefile.am): Likewise.
95258         * modules/trim (Makefile.am): Likewise.
95259         * modules/unistd-safer (Makefile.am): Likewise.
95260         * modules/unlinkdir (Makefile.am): Likewise.
95261         * modules/unlocked-io (Makefile.am): Likewise.
95262         * modules/userspec (Makefile.am): Likewise.
95263         * modules/utime (Makefile.am): Likewise.
95264         * modules/utimecmp (Makefile.am): Likewise.
95265         * modules/utimens (Makefile.am): Likewise.
95266         * modules/vasnprintf (Makefile.am): Likewise.
95267         * modules/vasprintf (Makefile.am): Likewise.
95268         * modules/vsnprintf (Makefile.am): Likewise.
95269         * modules/xalloc (Makefile.am): Likewise.
95270         * modules/xgetcwd (Makefile.am): Likewise.
95271         * modules/xnanosleep (Makefile.am): Likewise.
95272         * modules/xreadlink (Makefile.am): Likewise.
95273         * modules/xstrtod (Makefile.am): Likewise.
95274         * modules/xstrtol (Makefile.am): Likewise.
95275         * modules/xstrtold (Makefile.am): Likewise.
95276         * modules/yesno (Makefile.am): Likewise.
95277         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
95279 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95281         * modules/error (Makefile.am): Distribute files through
95282         EXTRA_DIST, not lib_SOURCES.
95284 2006-10-12  Eric Blake  <ebb9@byu.net>
95286         * modules/error (Makefile.am): Distribute files in /lib.
95287         * modules/obstack (Makefile.am): Likewise.
95289 2006-10-12  Bruno Haible  <bruno@clisp.org>
95291         * modules/acl (Makefile.am): Distribute all files in lib/ through
95292         EXTRA_DIST.
95293         * modules/arcfour (Makefile.am): Likewise.
95294         * modules/arctwo (Makefile.am): Likewise.
95295         * modules/argmatch (Makefile.am): Likewise.
95296         * modules/argz (Makefile.am): Likewise.
95297         * modules/atexit (Makefile.am): Likewise.
95298         * modules/backupfile (Makefile.am): Likewise.
95299         * modules/c-strtod (Makefile.am): Likewise.
95300         * modules/c-strtold (Makefile.am): Likewise.
95301         * modules/calloc (Makefile.am): Likewise.
95302         * modules/canon-host (Makefile.am): Likewise.
95303         * modules/canonicalize (Makefile.am): Likewise.
95304         * modules/chdir-long (Makefile.am): Likewise.
95305         * modules/chdir-safer (Makefile.am): Likewise.
95306         * modules/check-version (Makefile.am): Likewise.
95307         * modules/chown (Makefile.am): Likewise.
95308         * modules/cloexec (Makefile.am): Likewise.
95309         * modules/close-stream (Makefile.am): Likewise.
95310         * modules/closeout (Makefile.am): Likewise.
95311         * modules/crc (Makefile.am): Likewise.
95312         * modules/cycle-check (Makefile.am): Likewise.
95313         * modules/des (Makefile.am): Likewise.
95314         * modules/dirfd (Makefile.am): Likewise.
95315         * modules/dirname (Makefile.am): Likewise.
95316         * modules/dup2 (Makefile.am): Likewise.
95317         * modules/euidaccess (Makefile.am): Likewise.
95318         * modules/exclude (Makefile.am): Likewise.
95319         * modules/exitfail (Makefile.am): Likewise.
95320         * modules/fcntl-safer (Makefile.am): Likewise.
95321         * modules/file-type (Makefile.am): Likewise.
95322         * modules/fileblocks (Makefile.am): Likewise.
95323         * modules/filemode (Makefile.am): Likewise.
95324         * modules/filenamecat (Makefile.am): Likewise.
95325         * modules/fnmatch (Makefile.am): Likewise.
95326         * modules/fopen-safer (Makefile.am): Likewise.
95327         * modules/fpending (Makefile.am): Likewise.
95328         * modules/fprintftime (Makefile.am): Likewise.
95329         * modules/free (Makefile.am): Likewise.
95330         * modules/fsusage (Makefile.am): Likewise.
95331         * modules/ftruncate (Makefile.am): Likewise.
95332         * modules/fts (Makefile.am): Likewise.
95333         * modules/gc (Makefile.am): Likewise.
95334         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95335         * modules/getaddrinfo (Makefile.am): Likewise.
95336         * modules/getcwd (Makefile.am): Likewise.
95337         * modules/getdelim (Makefile.am): Likewise.
95338         * modules/getdomainname (Makefile.am): Likewise.
95339         * modules/getgroups (Makefile.am): Likewise.
95340         * modules/gethostname (Makefile.am): Likewise.
95341         * modules/gethrxtime (Makefile.am): Likewise.
95342         * modules/getline (Makefile.am): Likewise.
95343         * modules/getloadavg (Makefile.am): Likewise.
95344         * modules/getlogin_r (Makefile.am): Likewise.
95345         * modules/getopt (Makefile.am): Likewise.
95346         * modules/getpass (Makefile.am): Likewise.
95347         * modules/getpass-gnu (Makefile.am): Likewise.
95348         * modules/getsubopt (Makefile.am): Likewise.
95349         * modules/gettime (Makefile.am): Likewise.
95350         * modules/gettimeofday (Makefile.am): Likewise.
95351         * modules/getugroups (Makefile.am): Likewise.
95352         * modules/getusershell (Makefile.am): Likewise.
95353         * modules/glob (Makefile.am): Likewise.
95354         * modules/group-member (Makefile.am): Likewise.
95355         * modules/hard-locale (Makefile.am): Likewise.
95356         * modules/hash (Makefile.am): Likewise.
95357         * modules/hmac-md5 (Makefile.am): Likewise.
95358         * modules/hmac-sha1 (Makefile.am): Likewise.
95359         * modules/human (Makefile.am): Likewise.
95360         * modules/idcache (Makefile.am): Likewise.
95361         * modules/imaxabs (Makefile.am): Likewise.
95362         * modules/imaxdiv (Makefile.am): Likewise.
95363         * modules/inet_ntop (Makefile.am): Likewise.
95364         * modules/inet_pton (Makefile.am): Likewise.
95365         * modules/inttostr (Makefile.am): Likewise.
95366         * modules/isapipe (Makefile.am): Likewise.
95367         * modules/lchown (Makefile.am): Likewise.
95368         * modules/long-options (Makefile.am): Likewise.
95369         * modules/lstat (Makefile.am): Likewise.
95370         * modules/malloc (Makefile.am): Likewise.
95371         * modules/mathl (Makefile.am): Likewise.
95372         * modules/mbchar (Makefile.am): Likewise.
95373         * modules/md2 (Makefile.am): Likewise.
95374         * modules/md4 (Makefile.am): Likewise.
95375         * modules/md5 (Makefile.am): Likewise.
95376         * modules/memcasecmp (Makefile.am): Likewise.
95377         * modules/memchr (Makefile.am): Likewise.
95378         * modules/memcmp (Makefile.am): Likewise.
95379         * modules/memcoll (Makefile.am): Likewise.
95380         * modules/memcpy (Makefile.am): Likewise.
95381         * modules/memmem (Makefile.am): Likewise.
95382         * modules/memmove (Makefile.am): Likewise.
95383         * modules/mempcpy (Makefile.am): Likewise.
95384         * modules/memrchr (Makefile.am): Likewise.
95385         * modules/memset (Makefile.am): Likewise.
95386         * modules/memxor (Makefile.am): Likewise.
95387         * modules/mkancesdirs (Makefile.am): Likewise.
95388         * modules/mkdir (Makefile.am): Likewise.
95389         * modules/mkdir-p (Makefile.am): Likewise.
95390         * modules/mkdtemp (Makefile.am): Likewise.
95391         * modules/mkstemp (Makefile.am): Likewise.
95392         * modules/mktime (Makefile.am): Likewise.
95393         * modules/modechange (Makefile.am): Likewise.
95394         * modules/mountlist (Makefile.am): Likewise.
95395         * modules/nanosleep (Makefile.am): Likewise.
95396         * modules/openat (Makefile.am): Likewise.
95397         * modules/pagealign_alloc (Makefile.am): Likewise.
95398         * modules/physmem (Makefile.am): Likewise.
95399         * modules/poll (Makefile.am): Likewise.
95400         * modules/posixtm (Makefile.am): Likewise.
95401         * modules/posixver (Makefile.am): Likewise.
95402         * modules/putenv (Makefile.am): Likewise.
95403         * modules/quote (Makefile.am): Likewise.
95404         * modules/quotearg (Makefile.am): Likewise.
95405         * modules/raise (Makefile.am): Likewise.
95406         * modules/read-file (Makefile.am): Likewise.
95407         * modules/readline (Makefile.am): Likewise.
95408         * modules/readlink (Makefile.am): Likewise.
95409         * modules/readtokens (Makefile.am): Likewise.
95410         * modules/readutmp (Makefile.am): Likewise.
95411         * modules/realloc (Makefile.am): Likewise.
95412         * modules/regex (Makefile.am): Likewise.
95413         * modules/rename (Makefile.am): Likewise.
95414         * modules/rename-dest-slash (Makefile.am): Likewise.
95415         * modules/rijndael (Makefile.am): Likewise.
95416         * modules/rmdir (Makefile.am): Likewise.
95417         * modules/rpmatch (Makefile.am): Likewise.
95418         * modules/safe-read (Makefile.am): Likewise.
95419         * modules/safe-write (Makefile.am): Likewise.
95420         * modules/same (Makefile.am): Likewise.
95421         * modules/save-cwd (Makefile.am): Likewise.
95422         * modules/savedir (Makefile.am): Likewise.
95423         * modules/setenv (Makefile.am): Likewise.
95424         * modules/settime (Makefile.am): Likewise.
95425         * modules/sha1 (Makefile.am): Likewise.
95426         * modules/sig2str (Makefile.am): Likewise.
95427         * modules/snprintf (Makefile.am): Likewise.
95428         * modules/stdlib-safer (Makefile.am): Likewise.
95429         * modules/stpcpy (Makefile.am): Likewise.
95430         * modules/stpncpy (Makefile.am): Likewise.
95431         * modules/strcase (Makefile.am): Likewise.
95432         * modules/strcasestr (Makefile.am): Likewise.
95433         * modules/strchrnul (Makefile.am): Likewise.
95434         * modules/strcspn (Makefile.am): Likewise.
95435         * modules/strdup (Makefile.am): Likewise.
95436         * modules/strerror (Makefile.am): Likewise.
95437         * modules/strftime (Makefile.am): Likewise.
95438         * modules/strndup (Makefile.am): Likewise.
95439         * modules/strnlen (Makefile.am): Likewise.
95440         * modules/strpbrk (Makefile.am): Likewise.
95441         * modules/strsep (Makefile.am): Likewise.
95442         * modules/strstr (Makefile.am): Likewise.
95443         * modules/strtod (Makefile.am): Likewise.
95444         * modules/strtoimax (Makefile.am): Likewise.
95445         * modules/strtok_r (Makefile.am): Likewise.
95446         * modules/strtol (Makefile.am): Likewise.
95447         * modules/strtoll (Makefile.am): Likewise.
95448         * modules/strtoul (Makefile.am): Likewise.
95449         * modules/strtoull (Makefile.am): Likewise.
95450         * modules/strtoumax (Makefile.am): Likewise.
95451         * modules/strverscmp (Makefile.am): Likewise.
95452         * modules/time_r (Makefile.am): Likewise.
95453         * modules/timegm (Makefile.am): Likewise.
95454         * modules/tmpfile-safer (Makefile.am): Likewise.
95455         * modules/unistd-safer (Makefile.am): Likewise.
95456         * modules/unlinkdir (Makefile.am): Likewise.
95457         * modules/userspec (Makefile.am): Likewise.
95458         * modules/utime (Makefile.am): Likewise.
95459         * modules/utimecmp (Makefile.am): Likewise.
95460         * modules/utimens (Makefile.am): Likewise.
95461         * modules/vasnprintf (Makefile.am): Likewise.
95462         * modules/vasprintf (Makefile.am): Likewise.
95463         * modules/vsnprintf (Makefile.am): Likewise.
95464         * modules/xalloc (Makefile.am): Likewise.
95465         * modules/xgetcwd (Makefile.am): Likewise.
95466         * modules/xnanosleep (Makefile.am): Likewise.
95467         * modules/xreadlink (Makefile.am): Likewise.
95468         * modules/xstrtod (Makefile.am): Likewise.
95469         * modules/xstrtol (Makefile.am): Likewise.
95470         * modules/xstrtold (Makefile.am): Likewise.
95471         * modules/yesno (Makefile.am): Likewise.
95473 2006-10-12  Jim Meyering  <jim@meyering.net>
95475         * m4/getloadavg.m4: Revert the change below.
95477         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95478         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95479         fail with a symlink, which is what coreutils' ./bootstrap now
95480         creates by default.
95482 2006-10-12  Bruno Haible  <bruno@clisp.org>
95484         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95485         mingw.
95486         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95487         MSVC and mingw explicitly.
95489 2006-10-11  Simon Josefsson  <jas@extundo.com>
95490             Bruno Haible  <bruno@clisp.org>
95492         Add support for multiple gnulib-tool invocations in the scope of a
95493         single configure.ac file.
95494         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95495         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95496         with the same contents as the _LIBADD variable.
95497         (func_emit_initmacro_start, func_emit_initmacro_end,
95498         func_emit_initmacro_done): New functions.
95499         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95500         gl_LIBOBJS and gl_LTLIBOBJS.
95502 2006-10-11  Bruno Haible  <bruno@clisp.org>
95504         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95505         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95506         autoreconf. Instead, invoke autopoint explicitly but move back the
95507         *.m4 files from gnulib.
95509 2006-10-11  Bruno Haible  <bruno@clisp.org>
95511         * gnulib-tool (func_usage): Make module names after --create-testdir
95512         optional.
95513         (func_create_testdir): If no module was specified, use nearly all
95514         modules.
95516 2006-10-12  Jim Meyering  <jim@meyering.net>
95518         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95519         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95520         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95521         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95522         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95523         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95524         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95525         (fts_set_stat_required): New function.
95526         (fts_open): Defer the calls to fts_stat, if possible or requested.
95527         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95528         into fts_stat itself.
95529         (fts_read): Perform any required (deferred) fts_stat call.
95530         (fts_build): Likewise, for the directory we're about to open and read.
95531         In the readdir loop, carefully decide whether each entry will require
95532         an eventual call to fts_stat, using dirent.d_type info if available.
95533         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95534         a command line argument into this function.  Update all callers.
95535         Map a return value of FTS_DOT to FTS_D for a command line argument.
95536         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95537         Thanks to Miklos Szeredi for his tenacity and for the initial
95538         bug report about "find" failing on a FUSE-based file system.
95540         * lib/fts.c (fts_open): Use consistent indentation.
95542 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95544         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95545         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95546         reported by Jim Meyering.  All uses of cache variables renamed
95547         to match Autoconf's.
95548         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95549         the other one.
95551         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95552         Fix misspelling in diagnostic.
95554 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95556         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95557         defined.  Problem reported by Matthew Woehlke.
95559         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95560         Add support for Tandem NonStop R series.
95561         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95562         Use new macro.
95564         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95565         (has_trailing_slash): Omit size arg; all callers changed.
95566         Omit 'inline', since it doesn't help performance and we'd
95567         need to configure it.
95568         Don't count //, ///, etc. as having a trailing slash.
95569         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95570         (rpl_rename_dest_slash): On failure, use rename's errno rather
95571         than (in some cases) an incorrect or junk errno.
95572         Simplify code by removing need to compute length; this does
95573         cause it to make two passes instead of one over the file name,
95574         but it's worth it.
95576         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95577         change, since Autoconf's version may no longer be appropriate now
95578         that we are using CVS Autoconf's version.  Add support for Tandem.
95580 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95581             Bruno Haible  <bruno@clisp.org>
95583         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95584         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95585         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95586         gl_AC_TYPE_LONG_LONG.
95588         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95589         instead of HAVE_LONG_LONG.
95590         * lib/printf-args.c (printf_fetchargs): Likewise.
95591         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95592         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95593         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95594         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95595         gl_AC_TYPE_LONG_LONG.
95597 2006-10-11  Bruno Haible  <bruno@clisp.org>
95599         * m4/longlong.m4: Add comments.
95600         * m4/ulonglong.m4: Likewise.
95602 2006-10-10  Bruno Haible  <bruno@clisp.org>
95604         Make it possible to #define stpcpy, strdup to aliases.
95605         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95606         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95608 2006-10-10  Bruno Haible  <bruno@clisp.org>
95610         Make it possible to #define gcd to an alias.
95611         * lib/gcd.c: Include config.h.
95613 2006-10-10  Bruno Haible  <bruno@clisp.org>
95615         Make it possible to #define c_isascii to an alias.
95616         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95617         defined. Undefine the macros before defining them, to avoid gcc
95618         warnings.
95619         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95620         define NO_C_CTYPE_MACROS early.
95622 2006-10-10  Bruno Haible  <bruno@clisp.org>
95624         Make it possible to #define set_program_name to an alias.
95625         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95626         ENABLE_RELOCATABLE early.
95628 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95630         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95631         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95632         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95633         More generally, don't assume that 64-bit signed int is available
95634         if unsigned int is, and vice versa.
95635         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95636         unsigned symbols, not on their signed counterparts.
95637         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95638         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95639         (UINT64_C, UINTMAX_C):
95640         Likewise.
95641         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95642         unsigned counterparts.
95643         (Have_long_long, Unsigned): New macros.
95644         (Int): Renamed from INT.
95645         (strtoimax): Use the new macros.
95646         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95647         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95648         * modules/inttypes (inttypes.h): Substitute
95649         HAVE_UNSIGNED_LONG_LONG_INT.
95650         * modules/stdint (stdint.h): Likewise.
95651         (Files): Add m4/ulonglong.m4.
95653 2006-10-10  Bruno Haible  <bruno@clisp.org>
95655         Fix a gcc -Wshadow warning.
95656         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95657         to 'bucket'.
95658         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95659         gl_linked_indexof_from_to): Likewise.
95660         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95661         Likewise.
95662         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95663         Likewise.
95664         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95665         Reported by Eric Blake.
95667 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95669         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95670         for NetBSD.  Problem reported by Bruno Haible.
95672 2006-10-09  Jim Meyering  <jim@meyering.net>
95674         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95675         Patch from Bruno Haible.
95677 2006-10-09  Jim Meyering  <jim@meyering.net>
95679         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95680         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95681         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95683 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95685         Don't include <config.h> twice; this doesn't work in some cases,
95686         e.g., when config.h has "#define intmax_t long long int" and
95687         we include <config.h>, <inttypes.h>, <config.h> in that order.
95688         Problem reported by Matthew Woehlke in:
95689         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95690         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95691         * lib/fts-cycle.c: Don't include config.h.
95692         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95693         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95694         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95695         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95696         inttypes.h.
95697         * lib/xstrtoumax.c: Likewise.
95698         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95699         __strtol and the like, so that this module is more like its siblings.
95700         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95701         Remove; no longer needed now that we assume gnulib inttypes.h.
95703 2006-10-08  Bruno Haible  <bruno@clisp.org>
95705         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95706         option.
95708 2006-10-07  Jim Meyering  <jim@meyering.net>
95710         * modules/inttypes (inttypes.h): Revert what seems to have been
95711         an inadvertent part of today's change: use "|", not "/" in the
95712         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95714 2006-10-07  Bruno Haible  <bruno@clisp.org>
95716         * modules/sublist: New file.
95718 2006-10-07  Bruno Haible  <bruno@clisp.org>
95720         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95721         * modules/argz (argz.h): Likewise.
95722         * modules/arpa_inet (arpa/inet.h): Likewise.
95723         * modules/byteswap (byteswap.h): Likewise.
95724         * modules/configmake (configmake.h): Likewise.
95725         * modules/fcntl (fcntl.h): Likewise.
95726         * modules/fnmatch (fnmatch.h): Likewise.
95727         * modules/getopt (getopt.h): Likewise.
95728         * modules/glob (glob.h): Likewise.
95729         * modules/inttypes (inttypes.h): Likewise.
95730         * modules/netinet_in (netinet/in.h): Likewise.
95731         * modules/poll (poll.h): Likewise.
95732         * modules/stdbool (stdbool.h): Likewise.
95733         * modules/stdint (stdint.h): Likewise.
95734         * modules/sys_select (sys/select.h): Likewise.
95735         * modules/sys_socket (sys/socket.h): Likewise.
95736         * modules/sys_stat (sys/stat.h): Likewise.
95737         * modules/sysexits (sysexits.h): Likewise.
95738         * modules/unistd (unistd.h): Likewise.
95739         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95740         Add a "DO NOT EDIT" comment to the generated file.
95741         (func_import): Likewise for gnulib-comp.m4.
95743 2006-10-07  Bruno Haible  <bruno@clisp.org>
95745         * lib/gl_sublist.h: New file.
95746         * lib/gl_sublist.c: New file.
95748 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95750         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95751         name (relative to the original working directory) and the file
95752         name component (relative to the temporary working directory).  All
95753         callers changed.
95754         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95755         * lib/mkdir-p.c (make_dir_parents): Likewise.
95756         * lib/mkdir-p.h (make_dir_parents): Likewise.
95758 2006-10-06  Eric Blake  <ebb9@byu.net>
95760         Define several macros for use by the clean-temp module.
95761         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95762         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95763         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95765         * lib/clean-temp.h (close_stream_temp): New declaration.
95766         * lib/clean-temp.c (includes): Pull in headers according to what
95767         other modules are in use.
95768         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95770 2006-10-06  Bruno Haible  <bruno@clisp.org>
95772         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95773         instead of fopen, fwriteerror.
95775 2006-10-06  Bruno Haible  <bruno@clisp.org>
95777         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95778         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95779         int.
95780         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95781         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95782         Return an error indicator.
95783         Suggested by Eric Blake.
95785 2006-10-06  Bruno Haible  <bruno@clisp.org>
95787         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95788         Reported by Eric Blake.
95790 2006-10-06  Bruno Haible  <bruno@clisp.org>
95792         * modules/closeout (Description): Mention stderr too.
95794 2006-10-06  Bruno Haible  <bruno@clisp.org>
95795         and Paul Eggert  <eggert@cs.ucla.edu>
95797         * lib/closeout.c (close_stdout): Also close stderr.
95798         * lib/closeout.h: Update comment.
95800 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95802         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95803         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95804         * lib/dirchownmod.c: Include lchown.h.
95805         * lib/lchown.c: Don't include files that lchown.h now includes.
95806         Don't declare chown, since lchown.h now does that.
95807         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95808         (lchown): Define to rpl_chown if lchown is declared but
95809         does not exist.  Declare using a prototype if lchown is not
95810         declared.  Add a copyright notice.
95811         * lib/mkstemp.h: Include <unistd.h>.
95812         * lib/openat.c: Include lchown.h.
95814         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95815         we now test for that separately.
95816         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95817         rather than O_NOFOLLOW, when testing whether it's possible to
95818         avoid a race condition reliably.
95819         * lib/savewd.c (savewd_chdir): Likewise.
95821         Remove macros that are no longer needed now that stdint.h is
95822         reliable.
95823         * lib/fsusage.c (UINTMAX_MAX): Remove.
95824         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95825         * lib/utimecmp.c (SIZE_MAX): Remove.
95827         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95829         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95830         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95831         O_NOATIME works.
95833 2006-10-05  Bruno Haible  <bruno@clisp.org>
95835         * lib/gl_list.h (gl_sortedlist_search_from_to,
95836         gl_sortedlist_indexof_from_to): New declarations.
95837         (gl_list_implementation): New fields sortedlist_search_from_to,
95838         sortedlist_indexof_from_to.
95839         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95840         inline functions.
95841         * lib/gl_list.c (gl_sortedlist_search_from_to,
95842         gl_sortedlist_indexof_from_to): New functions.
95843         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95844         function.
95845         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95846         (gl_array_sortedlist_search_from_to): New function.
95847         (gl_array_list_implementation): Update.
95848         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95849         function.
95850         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95851         (gl_carray_sortedlist_search_from_to): New function.
95852         (gl_carray_list_implementation): Update.
95853         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95854         gl_linked_sortedlist_indexof_from_to): New functions.
95855         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95856         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95857         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95858         gl_tree_sortedlist_indexof_from_to): New functions.
95859         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95860         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95861         Update.
95862         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95863         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95864         Update.
95866 2006-10-05  Bruno Haible  <bruno@clisp.org>
95868         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95869         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95870         (struct gl_list_implementation): Add fields search_from_to,
95871         indexof_from_to. Remove fields search, indexof.
95872         (gl_list_search): Use the search_from_to method.
95873         (gl_list_search_from, gl_list_search_from_to): New functions.
95874         (gl_list_indexof): Use the indexof_from_to method.
95875         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95876         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95877         (gl_list_search_from, gl_list_search_from_to): New functions.
95878         (gl_list_indexof): Use the indexof_from_to method.
95879         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95880         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95881         gl_array_indexof. Add start_index, end_index arguments.
95882         (gl_array_search_from_to): Renamed from gl_array_search. Add
95883         start_index, end_index arguments.
95884         (gl_array_remove, gl_array_list_implementation): Update.
95885         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95886         gl_carray_indexof. Add start_index, end_index arguments.
95887         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95888         start_index, end_index arguments.
95889         (gl_carray_remove, gl_carray_list_implementation): Update.
95890         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95891         gl_linked_search. Add start_index, end_index arguments.
95892         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95893         start_index, end_index arguments.
95894         (gl_linked_remove): Update.
95895         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95896         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95897         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95898         field to 'size_t'.
95899         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95900         gl_tree_search. Add start_index, end_index arguments.
95901         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95902         start_index, end_index arguments.
95903         (gl_tree_remove): Update.
95904         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95905         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95906         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95907         function.
95908         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95909         gl_tree_search. Add start_index, end_index arguments.
95910         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95911         start_index, end_index arguments.
95912         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95913         Update.
95914         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95916 2006-10-05  Bruno Haible  <bruno@clisp.org>
95918         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95920         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95921         fwriteerror_temp): New declarations.
95922         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95923         (descriptors): New variable.
95924         (cleanup): First, close the descriptors.
95925         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95926         fclose_temp, fwriteerror_temp): New functions.
95928 2006-10-04  Jim Meyering  <jim@meyering.net>
95930         * lib/fts.c (fts_open): Tiny comment change.
95932 2006-10-04  Bruno Haible  <bruno@clisp.org>
95934         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95935         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95936         gl_LOCK_BODY.
95937         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95938         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95939         gl_LOCK_EARLY_BODY.
95940         (gl_LOCK): Require gl_LOCK_BODY.
95942 2006-10-04  Bruno Haible  <bruno@clisp.org>
95944         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95945         (gl_oset_search_atleast): New declaration.
95946         (struct gl_oset_implementation): Add field 'search_atleast'.
95947         (gl_oset_search_atleast): New inline function.
95948         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95949         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95950         (gl_array_oset_implementation): Update.
95951         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95952         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95953         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95955 2006-10-04  Bruno Haible  <bruno@clisp.org>
95957         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95959 2006-10-03  Bruno Haible  <bruno@clisp.org>
95961         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95962         from gl_avltreehash_list_implementation.
95964 2006-10-03  Bruno Haible  <bruno@clisp.org>
95966         * lib/gl_oset.c (gl_oset_add): Fix return type.
95968 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95970         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95972 2006-10-02  Eric Blake  <ebb9@byu.net>
95974         * modules/strnlen (Depends-on): Add extensions.
95976 2006-10-02  Eric Blake  <ebb9@byu.net>
95978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95979         definition in 2.60+.
95981 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95983         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95984         checks.
95986 2006-10-02  Bruno Haible  <bruno@clisp.org>
95988         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95989         to the AUTOMAKE_OPTIONS.
95990         Reported by Jim Meyering.
95992 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95994         Work around bug in Solaris 10 /proc file system:
95995         /proc/self/fd/NNN/.. isn't the parent directory of
95996         the directory whose file descriptor is NNN.  This needs to
95997         be worked around at run time, not compile time, since a
95998         program might be built on Solaris 8, where things work, and
95999         run on Solaris 10.
96000         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
96001         to use the following interface instead:
96002         (OPENAT_BUFFER_SIZE): New macro.
96003         (openat_proc_name): New function.
96004         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
96005         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
96006         Likewise.
96007         * lib/openat-proc.c: New file.
96008         * modules/openat (Files): Add lib/openat-proc.c.
96009         (Depends-on): Add same-inode, stdbool.
96010         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
96012 2006-09-29  Bruno Haible  <bruno@clisp.org>
96014         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
96015         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
96016         argument. Set stdout_closed before testing for ferror, not after.
96017         (fwriteerror, fwriteerror_no_ebadf): New functions.
96019 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96021         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
96023 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
96025         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
96026         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
96028 2006-09-28  Jim Meyering  <jim@meyering.net>
96030         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
96031         Include <unistd.h>.
96033 2006-09-28  Bruno Haible  <bruno@clisp.org>
96035         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
96036         * modules/linkedhash-list (Depends-on): Likewise.
96037         * modules/rbtreehash-list (Depends-on): Likewise.
96039 2006-09-28  Bruno Haible  <bruno@clisp.org>
96041         * lib/strndup.h: Simplify the redefinition of strndup.
96042         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
96043         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
96045 2006-09-28  Bruno Haible  <bruno@clisp.org>
96047         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
96048         * lib/gl_linkedhash_list.c: Likewise.
96049         * lib/gl_rbtreehash_list.c: Likewise.
96051 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
96053         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
96054         getaddrinfo.
96056         * lib/__fpending.h: Don't include <stdio_ext.h> unless
96057         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
96058         it causes <stdio_ext.h> to cause a compile-time error.
96059         Problem reported by Nelson H. F. Beebe.
96060         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
96061         of HAVE_DECL___PENDING.
96063         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
96064         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
96065         declaration.
96067 2006-09-27  Jim Meyering  <jim@meyering.net>
96069         This file could end up with a definition for a function
96070         named __strndup, rather than rpl_strndup on a system with
96071         incomplete weak_alias support.
96072         * lib/strndup.c (strndup): Rename from __strndup.
96073         Remove #defines that used to map __strndup to strndup.
96074         Don't use K&R prototypes.
96075         Remove LIBC-related code, since this file is not sync'd with glibc.
96076         * lib/strndup.h: Revamp, accordingly.
96077         * m4/strndup.m4: Modernize.
96079 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
96081         * modules/savewd (Depends-on): Add 'raise'.
96082         * lib/savewd.c: Include <signal.h>, for 'raise'.
96084 2006-09-26  Jim Meyering  <jim@meyering.net>
96086         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
96087         when we detect Darwin 8.7.0's acl_get_file bug.
96088         Rearrange to perform the new (below) run-test while $LIBS
96089         contains any acl-related library.  Set USE_ACL at the end.
96090         (gl_ACL_GET_FILE): New function.
96092 2006-09-26  Eric Blake  <ebb9@byu.net>
96094         * lib/verror.c: Include <config.h> unconditionally.
96096 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
96098         * modules/clock-time (Maintainer): Add self.
96099         * modules/getlogin_r (Depends-on): Add extensions.
96101 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96103         * modules/clock-time: New module.
96104         * modules/nanosleep (Depends-on): Add clock-time.
96105         * modules/gethrxtime (Depends-on): Likewise.
96106         * modules/gettime (Depends-on): Likewise.
96107         * modules/settime (Depends-on): Likewise.
96109         * modules/fts-lgpl: Depend on openat.
96110         * modules/mkancesdirs: Depend on savewd.
96111         * modules/mkdir-p: Likewise.
96113 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96115         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
96117         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
96118         `gl_have_arbitrary_file_name_length_limit' to
96119         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
96120         actually works between configure runs.
96122 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96123             Bruno Haible  <bruno@clisp.org>
96125         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
96127 2006-09-25  Jim Meyering  <jim@meyering.net>
96129         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
96130         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
96132 2006-09-25  Eric Blake  <ebb9@byu.net>
96134         * gnulib-tool (func_import, func_create_testdir): Fix typos in
96135         exec's in 2006-09-18 patch when shuffling fds.
96137 2006-09-25  Bruno Haible  <bruno@clisp.org>
96139         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
96140         Reported by Jim Meyering.
96142 2006-09-24  Jim Meyering  <jim@meyering.net>
96144         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
96145         compare a pointer against a literal "0".  That caused failures with
96146         at least HP-UX's hpcc.
96148 2006-09-22  Simon Josefsson  <jas@extundo.com>
96150         * modules/gc-sha1:
96151         * modules/gc-md4:
96152         * modules/gc-hmac-sha1:
96153         * modules/gc-hmac-md5:
96154         * modules/gc-des:
96155         * modules/gc-arcfour: Distribute more files.
96157 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96159         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
96160         (gl_linked_iterator_from_to): Initialize struct completely.
96161         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
96162         (gl_tree_iterator_from_to): Likewise
96163         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
96164         * lib/gl_array_list.c [lint] (gl_array_iterator)
96165         (gl_array_iterator_from_to): Likewise.
96166         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
96167         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
96168         (gl_carray_iterator_from_to): Likewise.
96170         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
96171         * lib/md4.c (md4_process_block): Remove unused variable.
96172         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
96173         parentheses for clarity.
96175 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96177         * modules/bison-i18n (Depends-on): Add gettext.
96179 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96181         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
96182         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
96183         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
96184         also add missing comma that caused broken test.
96185         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
96186         stdlib.h, for `abort'.
96187         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
96188         variables.
96189         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
96190         include unistd.h if present, for `rmdir'.
96191         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
96192         variables.
96193         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
96194         in the process include standard headers for prototypes.
96195         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
96196         gets declared on GNU/Linux.
96197         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
96198         unistd.h, for `rmdir'.
96199         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
96201         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
96202         always true.
96203         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
96205         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
96207 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96209         * gnulib-tool (func_version): Create output all at once.  This
96210         may help avoid triggering unnecessary SIGPIPEs, and at any
96211         rate it doesn't hurt.
96213 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96214             Bruno Haible  <bruno@clisp.org>
96216         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
96217         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
96218         * m4/signed.m4 (bh_C_SIGNED): Likewise.
96220         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
96221         (gl_FUNC_VASPRINTF): Invoke it.
96223 2006-09-22  Bruno Haible  <bruno@clisp.org>
96225         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
96226         getloadavg.c as first argument.
96228 2006-09-22  Bruno Haible  <bruno@clisp.org>
96230         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
96231         at the beginning of the gl_INIT macro.
96232         * modules/getloadavg (configure.ac): Pass $gl_source_base to
96233         gl_GETLOADAVG.
96235 2006-09-22  Bruno Haible  <bruno@clisp.org>
96237         * gnulib-tool (func_create_megatestdir): Don't include the config-h
96238         module.
96239         Suggested by Ralf Wildenhues.
96241 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
96243         Import this patch from libc:
96245         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
96247         * lib/regex_internal.c (re_string_reconstruct): Handle
96248         offset < pstr->valid_raw_len && pstr->offsets_needed case.
96249         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
96250         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
96251         re_string_context_at.
96253         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
96254         now requires it.
96255         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
96256         gl_REGEX now does it for us.
96257         (gl_REGEX): Add test taken from
96258         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
96260         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
96261         Check that large offsets work.  Modernize Autoconf usages.
96262         Prefer "yes" to mean a good thing rather than a bad.
96263         Don't put "#define mkstemp" in config.h, as this might interfere
96264         with standard system headers that "#define mkstemp mkstemp64".
96266         * modules/mkstemp (Depends-on): Add extensions, so that
96267         mkstemp is visible on some platforms.
96268         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
96269         (Include): Change to "mkstemp.h" from <stdlib.h>.
96270         (Files): Add mkstemp.h.
96272         * lib/mkstemp.h: New file, since some standard headers
96273         #define mkstemp.
96274         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
96275         Include "mkstemp.h".
96276         Make the _LIBC code resemble glibc original more,
96277         e.g., use K&R style.
96278         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
96279         (mkstemp): Remove, since mkstemp.h does this for us.
96280         * lib/stdlib--.h: Include mkstemp.h.
96282         Import this patch from libc:
96284         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96286         * lib/tempname.c (__gen_tempname): Change attempts_min
96287         into a macro.  Use preprocessor to decide how to initialize
96288         attempts [Coverity CID 67].
96290 2006-09-20  Bruno Haible  <bruno@clisp.org>
96292         * lib/mkdtemp.c: Import from libc.
96293         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96294                 * sysdeps/posix/tempname.c (__gen_tempname): Change
96295                 attempts_min into a macro.  Use preprocessor to decide how to
96296                 initialize attempts [Coverity CID 67].
96297         2001-11-27  Paul Eggert  <eggert@twinsun.com>
96298                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
96299                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
96301 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96303         * gnulib-tool (func_exit): New function, to allow to pass the
96304         exit status portably through the trap.  Use everywhere.
96305         (--help, --version): Signal a write error.
96306         (trap): catch SIGPIPE, for write errors.
96307         Exit at the end of the trap, with the correct exit status.
96309 2006-09-19  Karl Berry  <karl@gnu.org>
96311         * doc/gnulib.texi: note about the license texinfo files.
96313 2006-09-19  Eric Blake  <ebb9@byu.net>
96315         * gnulib-tool: Avoid space-tab.
96317 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96319         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
96320         that prevented coreutils 6.1 from building.  Problem reported
96321         by Petter Reinholdtsen.
96323 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96325         * gnulib-tool (avoidlist): Fix typo that broke options like
96326         --avoid=lock that are used by coreutils bootstrap.
96328 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
96330         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
96331         more systematically.
96333 2006-09-18  Jim Meyering  <jim@meyering.net>
96335         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
96337 2006-09-18  Bruno Haible  <bruno@clisp.org>
96339         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
96341 2006-09-18  Bruno Haible  <bruno@clisp.org>
96343         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
96344         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
96345         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
96346         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
96347         * m4/gettext.m4: Require autoconf >= 2.52.
96348         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
96349         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
96350         of gl_cv_header_inttypes_h.
96352 2006-09-18  Bruno Haible  <bruno@clisp.org>
96354         * lib/javaversion.c: Include configmake.h.
96356 2006-09-18  Bruno Haible  <bruno@clisp.org>
96358         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
96359         avoid that the while loops be executed in a subshell.
96361 2006-09-18  Bruno Haible  <bruno@clisp.org>
96363         * MODULES.html.sh (func_module): Break long lines.
96364         Suggested by Bruce Korb <bkorb@gnu.org>.
96366 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96368         Speed up by a factor of 1.12.
96369         * gnulib-tool (nl): New variable.
96370         (func_import): Rewrite include directive extraction to only read each
96371         directive once.
96373 2006-09-17  Bruno Haible  <bruno@clisp.org>
96375         * modules/javaversion (Makefile.am): Remove DEFS setting.
96376         (Depends-on): Add configmake, for PKGDATADIR definition.
96378 2006-09-17  Bruno Haible  <bruno@clisp.org>
96380         * gnulib-tool (func_create_testdir): Rewrite all files at once.
96382 2006-09-17  Bruno Haible  <bruno@clisp.org>
96384         * gnulib-tool (func_append): New function, stolen from libtool.m4.
96385         (func_modules_transitive_closure, func_modules_add_dummy,
96386         func_modules_to_filelist, func_import, func_create_testdir,
96387         func_create_megatestdir, ...): Use it wherever possible.
96388         Suggested by Ralf Wildenhues.
96390 2006-09-16  Karl Berry  <karl@gnu.org>
96392         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
96393         to avoid sectioning errors.
96394         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
96395         [ifinfo]: blank line after @center-ed titles.
96396         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
96397         Spell FSF address consistently with others.
96398         (These changes approved by rms.)
96400 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96402         Speed up by a factor of 1.61.
96403         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
96404         already checked module names again.
96406 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96408         Speed up by a factor of 1.13.
96409         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
96410         for new_files, and the input to func_add_or_update.
96412 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96414         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
96415         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
96417 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96419         * modules/mkancesdirs (Depends-on): Add fcntl.
96420         * modules/savewd: New file.
96421         * MODULES.html.sh (File system functions): Add savewd.
96423         * modules/configmake (Makefile.am): Add support for the
96424         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
96426 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96428         * m4/savewd.m4: New file.
96430 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96432         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
96433         (dirchownmod): New arg FD.  All callers changed.
96434         Use FD rather than opening the directory ourself, as opening is
96435         now the caller's responsibility.
96436         * lib/dirchownmod.h: Likewise.
96437         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
96438         hosts that require <sys/types.h> before <sys/stat.h>.  Include
96439         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
96440         (test_dir): Remove.
96441         (mkancesdirs): Return length of prefix of FILE that has already
96442         been made, or -2 if there is a child doing the work.  Redo
96443         algorithm so that it is O(N) rather than O(N**2).  Optimize away
96444         ".", and treat ".." specially since it might stray back into
96445         already-created areas.  Use a subprocess if necessary.  New arg
96446         WD; all users changed.  MAKE_DIR function should now return 1
96447         if it creates a directory that is not readable.  Return -2 if
96448         a child process is spun off.
96449         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
96450         Adjust signature to match code.
96451         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
96452         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
96453         all users changed.
96454         * lib/savewd.c, lib/savewd.h: New files.
96456 2006-09-15  Jim Meyering  <jim@meyering.net>
96458         * modules/rename-dest-slash: New module.
96459         * MODULES.html.sh (posix_compat): Add it here.
96461         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
96463 2006-09-15  Jim Meyering  <jim@meyering.net>
96465         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
96466         file.
96468         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
96470 2006-09-15  Jim Meyering  <jim@meyering.net>
96472         * lib/rename-dest-slash.c (has_trailing_slash): Use
96473         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96474         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96475         test before testing whether SRC is a directory.
96476         Suggestions from Bruno Haible.
96478         Avoid a warning about an unused variable.
96479         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96480         into the #ifdef block where it's used.
96482         * lib/rename-dest-slash.c: New file.
96484 2006-09-14  Bruno Haible  <bruno@clisp.org>
96486         * lib/allocsa.c: Include <config.h> unconditionally.
96487         * lib/asnprintf.c: Likewise.
96488         * lib/asprintf.c: Likewise.
96489         * lib/c-strcasecmp.c: Likewise.
96490         * lib/c-strcasestr.c: Likewise.
96491         * lib/c-strncasecmp.c: Likewise.
96492         * lib/c-strstr.c: Likewise.
96493         * lib/classpath.c: Likewise.
96494         * lib/clean-temp.c: Likewise.
96495         * lib/concatpath.c: Likewise.
96496         * lib/copy-file.c: Likewise.
96497         * lib/csharpcomp.c: Likewise.
96498         * lib/csharpexec.c: Likewise.
96499         * lib/execute.c: Likewise.
96500         * lib/fatal-signal.c: Likewise.
96501         * lib/findprog.c: Likewise.
96502         * lib/fwriteerror.c: Likewise.
96503         * lib/gl_array_list.c: Likewise.
96504         * lib/gl_array_oset.c: Likewise.
96505         * lib/gl_avltree_list.c: Likewise.
96506         * lib/gl_avltree_oset.c: Likewise.
96507         * lib/gl_avltreehash_list.c: Likewise.
96508         * lib/gl_carray_list.c: Likewise.
96509         * lib/gl_linked_list.c: Likewise.
96510         * lib/gl_linkedhash_list.c: Likewise.
96511         * lib/gl_list.c: Likewise.
96512         * lib/gl_oset.c: Likewise.
96513         * lib/gl_rbtree_list.c: Likewise.
96514         * lib/gl_rbtree_oset.c: Likewise.
96515         * lib/gl_rbtreehash_list.c: Likewise.
96516         * lib/imaxabs.c: Likewise.
96517         * lib/imaxdiv.c: Likewise.
96518         * lib/javacomp.c: Likewise.
96519         * lib/javaexec.c: Likewise.
96520         * lib/javaversion.c: Likewise.
96521         * lib/linebreak.c: Likewise.
96522         * lib/localcharset.c: Likewise.
96523         * lib/lock.c: Likewise.
96524         * lib/mbchar.c: Likewise.
96525         * lib/mbswidth.c: Likewise.
96526         * lib/mkdtemp.c: Likewise.
96527         * lib/pipe.c: Likewise.
96528         * lib/printf-args.c: Likewise.
96529         * lib/printf-parse.c: Likewise.
96530         * lib/progname.c: Likewise.
96531         * lib/progreloc.c: Likewise.
96532         * lib/readlink.c: Likewise.
96533         * lib/sh-quote.c: Likewise.
96534         * lib/stpcpy.c: Likewise.
96535         * lib/stpncpy.c: Likewise.
96536         * lib/strcasecmp.c: Likewise.
96537         * lib/strcasestr.c: Likewise.
96538         * lib/strcspn.c: Likewise.
96539         * lib/striconv.c: Likewise.
96540         * lib/strncasecmp.c: Likewise.
96541         * lib/strnlen1.c: Likewise.
96542         * lib/strstr.c: Likewise.
96543         * lib/strtok_r.c: Likewise.
96544         * lib/tls.c: Likewise.
96545         * lib/tmpdir.c: Likewise.
96546         * lib/unicodeio.c: Likewise.
96547         * lib/unsetenv.c: Likewise.
96548         * lib/vasnprintf.c: Likewise.
96549         * lib/vasprintf.c: Likewise.
96550         * lib/wait-process.c: Likewise.
96551         * lib/xallocsa.c: Likewise.
96552         * lib/xsetenv.c: Likewise.
96553         * lib/xstriconv.c: Likewise.
96555 2006-09-13  Simon Josefsson  <jas@extundo.com>
96557         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96558         that internally, suggested by Ralf Wildenhues
96559         <Ralf.Wildenhues@gmx.de>.
96561 2006-09-13  Simon Josefsson  <jas@extundo.com>
96563         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96564         @LIBOBJS@.
96565         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96567 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96569         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96570         longer worry about uses that don't define HAVE_CONFIG_H.
96571         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96572         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96573         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96574         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96575         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96576         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96577         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96578         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96579         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96580         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96581         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96582         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96583         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96584         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96585         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96586         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96587         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96588         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96589         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96590         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96591         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96592         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96593         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96594         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96595         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96596         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96597         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96598         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96599         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96600         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96601         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96602         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96603         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96604         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96605         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96606         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96607         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96608         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96609         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96610         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96611         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96612         Likewise.
96614 2006-09-13  Eric Blake  <ebb9@byu.net>
96616         * lib/getopt.c: Fix typo in last commit.
96618 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96620         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96621         dgettext.
96623 2006-09-12  Jim Meyering  <jim@meyering.net>
96625         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96626         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96627         Reported by Nelson H. F. Beebe.
96629 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96631         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96632         program_invocation_name and program_invocation_short_name are
96633         initialized.
96634         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96635         and program_invocation_short_name to argp.h, so they are visible
96636         to user programs.
96637         * lib/argp.h: Likewise
96639 2006-09-10  Bruno Haible  <bruno@clisp.org>
96641         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96642         m4/inttypes_h.m4, m4/uintmax_t.m4.
96644 2006-09-10  Bruno Haible  <bruno@clisp.org>
96646         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96647         gl_AC_TYPE_UINTMAX_T.
96649 2006-09-10  Bruno Haible  <bruno@clisp.org>
96651         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96653 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96655         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96656         convention.  Text proposed by Bruno Haible.
96657         (struct argp_option): Document the use of N_() wrappers.
96659         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96660         '\v', and translate the two parts separately, instead of feeding
96661         the whole string to gettext.  This allows to exclude
96662         '\v' from the strings visible to the translator by writing doc
96663         strings as N_("..") "\v" N_("..").
96665 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96667         * config/srclist.txt: Undo latest change; the bug was fixed.
96669 2006-09-09  Bruno Haible  <bruno@clisp.org>
96671         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96672         assignments if building a library without libtool.
96673         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96674         in func_emit_lib_Makefile_am.
96675         (func_import): When building a static library libfoo.a, arrange to
96676         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96677         (func_create_testdir): Likewise.
96678         * modules/gc (configure.ac, Makefile.am): If building statically,
96679         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96680         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96681         * modules/striconv (configure.ac, Makefile.am): Likewise.
96682         Based on a suggestion by Ralf Wildenhues.
96684 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96686         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96687         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96688         Also:
96690         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96691         Add year_2050_test to catch glibc bug 2821
96692         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96694         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96695         Prefer #ifdef to #if.
96697         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96698         Return from 'main' instead of calling 'exit'.
96700 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96702         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96703         returned the maximum time_t value rather than (time_t) -1.
96704         Problem originally reported by William Bardwell
96705         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96707         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96708         Moved to here ...
96709         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96710         ... from here.
96712 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96714         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96715         2821 is fixed.
96717 2006-09-08  Jim Meyering  <jim@meyering.net>
96719         Don't make generated files read-only.  That would bother too many
96720         people.  However, do retain the ability to work when targets are
96721         read-only: remove the destination and temporary files before writing
96722         them (when generated via sed or echo), or by using the -f option for
96723         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96724         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96725         * modules/byteswap, modules/configmake, modules/fcntl:
96726         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96727         * modules/localcharset, modules/netinet_in, modules/poll:
96728         * modules/stdbool, modules/stdint, modules/sys_select:
96729         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96731 2006-09-08  Jim Meyering  <jim@meyering.net>
96733         Avoid new build failure on FreeBSD 6.0.
96734         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96735         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96736         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96738 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96740         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96742 2006-09-07  Jim Meyering  <jim@meyering.net>
96744         Fix global typo in last change: use chmod u-w, not chmod u-x.
96745         Spotted by Paul Eggert and Bruce Korb.
96746         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96747         * modules/byteswap, modules/configmake, modules/fcntl:
96748         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96749         * modules/localcharset, modules/netinet_in, modules/poll:
96750         * modules/stdbool, modules/stdint, modules/sys_select:
96751         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96753 2006-09-06  Jim Meyering  <jim@meyering.net>
96755         Make generated files be read-only.
96756         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96757         Ensure that each generated file is now read-only.
96758         * modules/argz: Likewise.
96759         * modules/arpa_inet: Likewise.
96760         * modules/byteswap: Likewise.
96761         * modules/configmake: Likewise.
96762         * modules/fcntl: Likewise.
96763         * modules/fnmatch: Likewise.
96764         * modules/getopt: Likewise.
96765         * modules/glob: Likewise.
96766         * modules/inttypes: Likewise.
96767         * modules/netinet_in: Likewise.
96768         * modules/poll: Likewise.
96769         * modules/stdbool: Likewise.
96770         * modules/stdint: Likewise.
96771         * modules/sys_select: Likewise.
96772         * modules/sys_socket: Likewise.
96773         * modules/sys_stat: Likewise.
96774         * modules/sysexits: Likewise.
96775         * modules/localcharset: Same as above, but continue using temporary
96776         file named "t-$@" (why different?) rather than the "$@-t" used
96777         everywhere else.
96779         * modules/sysexits (Makefile.am): Replace literal occurrences
96780         of "sysexit.h" more readable, and more consistent, "$@".
96782 2006-09-06  Bruno Haible  <bruno@clisp.org>
96784         * modules/striconv: New file.
96785         * modules/xstriconv: New file.
96786         * MODULES.html.sh (Internationalization functions): Add striconv,
96787         xstriconv.
96789 2006-09-06  Bruno Haible  <bruno@clisp.org>
96791         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96792         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96793         not using libtool correctly.
96795 2006-09-06  Bruno Haible  <bruno@clisp.org>
96797         * lib/striconv.h: New file.
96798         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96799         iconvstring.c.
96800         * lib/xstriconv.h: New file.
96801         * lib/xstriconv.c: New file.
96803 2006-09-06  Bruno Haible  <bruno@clisp.org>
96805         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96806         lib_..._LDFLAGS.
96808 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96810         * lib/argz_.h: Sync from Libtool.
96812         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96813                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96815         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96817 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96819         * modules/trim: New file.
96821 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96823         * lib/trim.h: New file.
96824         * lib/trim.c: New file.
96826 2006-09-05  Bruno Haible  <bruno@clisp.org>
96828         * MODULES.html.sh (String handling): Add trim.
96830 2006-09-04  Karl Berry  <karl@gnu.org>
96832         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96833         until next release.
96835 2006-09-03  Bruno Haible  <bruno@clisp.org>
96837         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96838         correctly.
96840 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96842         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96843         not gl_GETLOADAVG.  Omit unneeded semicolons.
96844         Problems reported by Ralf Wildenhues in
96845         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96846         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96847         at the end, which is the usual gnulib style.
96849         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96850         of doing all the work ourselves.
96851         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96852         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96854 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96856         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96857         Problem reported by Ralf Wildenhues in
96858         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96860         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96861         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96863 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96865         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96866         yesterday's patch by changing test -n to test -z.
96868 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96870         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96871         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96872         the former is now obsolescent.
96874         * modules/chdir-long (Depends-on): Add fcntl.
96876 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96878         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96879         obsolescent, and programs should use gnulib instead.
96880         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96881         but with prefixes changed.
96883 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96885         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96886         or stdbool.h, because they might not exist while configuring.
96888         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96889         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96890         does that for us.
96891         (O_DIRECTORY): Remove.
96893 2006-08-31  Eric Blake  <ebb9@byu.net>
96895         * gnulib-tool: Don't let emacs change spaces to TAB.
96897 2006-08-31  Bruno Haible  <bruno@clisp.org>
96899         * gnulib-tool: When calling func_import more than once, do it in a
96900         subshell.
96901         Reported by Eric Blake <ebb9@byu.net>.
96903 2006-08-31  Bruno Haible  <bruno@clisp.org>
96905         * gnulib-tool (nl): Remove variable.
96906         (sed_transform_lib_file): Use more robust test for config-h module.
96907         (func_import): Fix typo in 2006-08-25 patch.
96909 2006-08-31  Bruno Haible  <bruno@clisp.org>
96911         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96912         specified, augment Makefile.am variables instead of assigning them.
96914 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96916         Work around a bug in both the Linux and SunOS 64-bit kernels:
96917         nanosleep mishandles sleeps for longer than 2**31 seconds.
96918         Problem reported by Frank v Waveren in
96919         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96920         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96921         Check for nanosleep bug.
96922         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96924 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96926         Work around a bug in both the Linux and SunOS 64-bit kernels:
96927         nanosleep mishandles sleeps for longer than 2**31 seconds.
96928         Problem reported by Frank v Waveren in
96929         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96930         * lib/nanosleep.c (BILLION): New constant.
96931         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96932         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96933         implementation.
96935 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96937         * modules/nanosleep (Depends-on): Add gettime.
96939 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96940         and Simon Josefsson  <jas@extundo.com>
96941         and Oskar Liljeblad  <oskar@osk.mine.nu>
96943         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96944         * gnulib-tool (func_import): New license type 'unmodifiable license
96945         text'.
96946         * modules/fdl: Use it.  Longer description.
96947         * module/gpl, module/lgpl: New files.
96949 2006-08-30  Jim Meyering  <jim@meyering.net>
96951         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96952         shadowing the parameter.
96954 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96956         Sync from Libtool:
96958         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96960         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96961         sharing with gnulib.  Report by Eric Blake.
96963 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96965         * modules/isapipe: New file.
96966         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96968 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96970         * modules/configmake (Makefile.am): Add a comment, and omit
96971         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96972         by Bruno Haible.
96974 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96976         * m4/isapipe.m4: New file.
96978 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96980         * lib/isapipe.c, lib/isapipe.h: New files.
96982 2006-08-29  Jim Meyering  <jim@meyering.net>
96984         * modules/configmake (Makefile.am): Make configmake.h depend on
96985         Makefile.  Otherwise, a stale configmake.h could hang around.
96987 2006-08-29  Eric Blake  <ebb9@byu.net>
96989         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96990         resolution of upstream bug 3044.
96992 2006-08-29  Bruno Haible  <bruno@clisp.org>
96994         * modules/localcharset (Depends-on): Add configmake.
96995         (Makefile.am): Remove setting of LIBDIR through DEFS.
96997 2006-08-29  Bruno Haible  <bruno@clisp.org>
96999         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
97000         defined.
97002 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97004         * modules/fcntl: New file.
97005         * modules/chdir-safer (Depends-on): Add fcntl.
97006         * modules/fts: Likewise.
97007         * modules/mkdir-p: Likewise.
97009         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
97010         This undoes the most recent change, since we're now addressing the
97011         problem in a different way.
97013         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
97014         into output, since the output might be called Makefile.am even
97015         if $makefile_name is something different.
97016         (func_import): Use $makefile_am rather than
97017         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
97018         empty.
97020         * modules/inttypes (Files): Add m4/inttypes-h.m4.
97022 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97024         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
97025         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
97026         recent change to stdint.m4, since we're now addressing the problem in a
97027         different way.
97029 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97031         * m4/fcntl_h.m4: New file.
97033 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97035         * lib/fcntl_.h: New file.
97036         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
97037         the fcntl module.
97038         * lib/dirchownmod.c: Likewise.
97039         * lib/fts.c: Likewise.
97041         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
97042         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
97043         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
97044         just before including <inttypes.h>, to avoid circular inclusion.
97046 2006-08-28  Jim Meyering  <jim@meyering.net>
97048         * doc/visibility.texi: Actually read and correct the grammar of the
97049         sentence affected by yesterday's change.
97051 2006-08-28  Eric Blake  <ebb9@byu.net>
97053         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
97054         needs wrapper.
97056 2006-08-28  Eric Blake  <ebb9@byu.net>
97058         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
97060 2006-08-28  Eric Blake  <ebb9@byu.net>
97062         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
97064 2006-08-28  Bruno Haible  <bruno@clisp.org>
97066         * modules/c-strstr: New file, from GNU gettext.
97067         * MODULES.html.sh (String handling): Add c-strstr.
97069 2006-08-28  Bruno Haible  <bruno@clisp.org>
97071         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
97072         macros.
97073         Reported by Eric Blake.
97075 2006-08-28  Bruno Haible  <bruno@clisp.org>
97077         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
97078         (VASNPRINTF): Return a string of length > INT_MAX without failing.
97079         * lib/vasprintf.c: Include errno.h, limits.h.
97080         (EOVERFLOW): New fallback definition.
97081         (vasprintf): Test here whether the string length is > INT_MAX.
97082         * lib/vsnprintf.c: Include errno.h, limits.h.
97083         (EOVERFLOW): New fallback definition.
97084         (vsnprintf): Fix bug when generated string was too long for the buffer.
97085         Test here whether the string length is > INT_MAX.
97087 2006-08-28  Bruno Haible  <bruno@clisp.org>
97089         * lib/inttypes_.h (SCNX*): Remove definitions.
97090         Reported by Eric Blake.
97092 2006-08-28  Bruno Haible  <bruno@clisp.org>
97094         * lib/c-strstr.h: New file, from GNU gettext.
97095         * lib/c-strstr.c: New file, from GNU gettext.
97097 2006-08-28  Bruno Haible  <bruno@clisp.org>
97099         * gnulib-tool: Reorder some statements.
97101 2006-08-28  Bruno Haible  <bruno@clisp.org>
97103         * gnulib-tool: New option --makefile-name.
97104         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
97105         $makefile_name.
97106         (func_import): Write $makefile_name to the cache file, and read it from
97107         there unless explicitly specified. Use $makefile_name as file name
97108         instead of Makefile.am. Adjust the recommendations accordingly.
97110 2006-08-28  Bruno Haible  <bruno@clisp.org>
97112         * gnulib-tool (func_verify_module): Check against misapplying patch.
97114 2006-08-28  Bruno Haible  <bruno@clisp.org>
97116         * gnulib-tool (func_relativize, func_relconcat): New functions.
97117         Give an error if --local-dir is given with --update.
97118         Remove trailing slashes from $local_gnulib_dir.
97119         (func_import): Store the relativized $local_gnulib_dir in
97120         gnulib-cache.m4, and read it from there if not specified explicitly.
97122 2006-08-28  Bruno Haible  <bruno@clisp.org>
97124         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
97125         is the current directory. Respect also $local_gnulib_dir.
97127 2006-08-28  Bruno Haible  <bruno@clisp.org>
97128             Simon Josefsson  <jas@extundo.com>
97130         BeOS portability.
97131         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
97133 2006-08-27  Jim Meyering  <jim@meyering.net>
97135         * doc/visibility.texi: Remove duplicate word: "pointer".
97137 2006-08-26  Bruno Haible  <bruno@clisp.org>
97139         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
97140         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
97141         (Makefile.am): Create inttypes.h from inttypes_.h.
97142         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
97144         * modules/imaxabs: New file.
97146         * modules/imaxdiv: New file.
97148 2006-08-26  Bruno Haible  <bruno@clisp.org>
97150         * m4/inttypes.m4: New file.
97151         * m4/_inttypes_h.m4: Remove file.
97152         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
97153         PRI_MACROS_BROKEN.
97154         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
97156         * m4/imaxabs.m4: New file.
97158         * m4/imaxdiv.m4: New file.
97160 2006-08-26  Bruno Haible  <bruno@clisp.org>
97162         * lib/inttypes_.h: New file.
97163         * lib/inttypes.h: Remove file.
97164         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
97166         * lib/imaxabs.c: New file.
97168         * lib/imaxdiv.c: New file.
97170 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97172         New config-h module, so that "make" output needn't be cluttered
97173         by -DHAVE_CONFIG_H.
97174         * MODULES.html.sh (Support for building libraries and executables):
97175         Add config-h.
97176         * modules/config-h: New file.
97177         * gnulib-tool (nl, sed_transform_lib_file): New vars.
97178         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
97179         the config-h module is used.
97181         New configmake module, so that "make" output needn't be cluttered
97182         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
97183         * MODULES.html.sh (Support for building libraries and executables):
97184         Add configmake.
97185         * modules/configmake: New file.
97187 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97189         * m4/config-h.m4: New file.
97191 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97193         * config/srclist.txt: Add elisp-comp.
97195 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97197         * MODULES.html.sh (Support for building libraries and executables):
97198         Add elisp-comp.
97199         * build-aux/elisp-comp: New file.
97200         * modules/elisp-comp: New file.
97202 2006-08-24  Bruno Haible  <bruno@clisp.org>
97204         * gnulib-tool (func_create_testdir): Use non-default values of
97205         sourcebase and m4base.
97207 2006-08-24  Bruno Haible  <bruno@clisp.org>
97209         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
97210         HTML structure.
97212 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
97214         * modules/openat (Depends-on): Add lchown.
97216 2006-08-23  Bruno Haible  <bruno@clisp.org>
97218         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
97219         of gl_LOCK_EARLY instead of gl_LOCK.
97221 2006-08-23  Bruno Haible  <bruno@clisp.org>
97223         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
97224         on OSF/1 to no.
97225         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
97227 2006-08-23  Bruno Haible  <bruno@clisp.org>
97229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
97230         as unusable.
97232         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
97233         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
97234         (gl_LOCK): New macro.
97236 2006-08-22  Simon Josefsson  <jas@extundo.com>
97238         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
97239         to md5 module.
97241 2006-08-22  Simon Josefsson  <jas@extundo.com>
97243         * MODULES.html.sh: Add "Support for maintaining and release
97244         projects".
97246         * build-aux/gnupload: New file, from coreutils.
97248 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97250         Avoid the need for AC_LIBSOURCES in m4 macros.
97251         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
97252         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
97253         * modules/check-version (EXTRA_DIST): Add check-version.h.
97254         * modules/crc (EXTRA_DIST): Add crc.h.
97255         * modules/des (EXTRA_DIST): Add des.h.
97256         * modules/gc (EXTRA_DIST): Add gc.h.
97257         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
97258         * modules/getline (EXTRA_DIST): Add getline.h.
97259         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
97260         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
97261         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
97262         * modules/md2 (EXTRA_DIST): Add md2.h.
97263         * modules/md4 (EXTRA_DIST): Add md4.h.
97264         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
97265         * modules/read-file (EXTRA_DIST): Add read-file.h.
97266         * modules/readline (EXTRA_DIST): Add readline.h.
97267         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
97268         rijndael-api-fst.h.
97270 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97272         * m4/rijndael.m4 (gl_ARCFOUR):
97273         * m4/arctwo.m4 (gl_ARCTWO):
97274         * m4/check-version.m4 (gl_CHECK_VERSION):
97275         * m4/crc.m4 (gl_CRC):
97276         * m4/des.m4 (gl_DES):
97277         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
97278         * m4/gc.m4 (gl_GC):
97279         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
97280         * m4/getline.m4 (gl_FUNC_GETLINE):
97281         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
97282         * m4/hmac-md5.m4 (gl_HMAC_MD5):
97283         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
97284         * m4/md2.m4 (gl_MD2):
97285         * m4/md4.m4 (gl_MD4):
97286         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
97287         * m4/read-file.m4 (gl_FUNC_READ_FILE):
97288         * m4/readline.m4 (gl_FUNC_READLINE):
97289         * m4/rijndael.m4 (gl_RIJNDAEL):
97290         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97291         to get the necessary .h files and whatnot.
97293 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97295         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
97296         gnulib rather than the other way around.
97297         * config/srclistvars.sh (COREUTILS): Remove.
97299 2006-08-22  Jim Meyering  <jim@meyering.net>
97301         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
97303         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
97305 2006-08-22  Eric Blake  <ebb9@byu.net>
97307         * modules/regexprops-generic: New file.
97308         * MODULES.html.sh (Support for building documentation): List it.
97310 2006-08-22  Eric Blake  <ebb9@byu.net>
97312         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
97313         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
97314         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
97315         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
97317 2006-08-22  Bruno Haible  <bruno@clisp.org>
97319         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
97320         and lib_LTLIBRARIES like the other lib_* variables.
97322 2006-08-22  Bruno Haible  <bruno@clisp.org>
97324         * build-aux/x-to-1.in: New file, from GNU gettext.
97326 2006-08-22  Bruno Haible  <bruno@clisp.org>
97328         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
97329         <utmpx.h> exists.
97331 2006-08-22  Bruno Haible  <bruno@clisp.org>
97333         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
97334         <utmpx.h> exists.
97336 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97338         BeOS portability.
97339         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
97340         exist.
97341         Problem reported by Bruno Haible.
97343 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97345         Avoid the need for AC_LIBSOURCES in m4 macros.
97346         * modules/acl (EXTRA_DIST): Add acl.h.
97347         * modules/argmatch (Files): Add m4/argmatch.m4.
97348         (configure.ac): Add gl_ARGMATCH.
97349         (EXTRA_DIST): Renamed from lib_SOURCES, for
97350         consistency with the other modules.  Remove argmatch.c.
97351         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
97352         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
97353         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
97354         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
97355         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
97356         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
97357         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
97358         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
97359         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
97360         * modules/closeout (EXTRA_DIST): Add closeout.h.
97361         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
97362         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
97363         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
97364         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
97365         dirname.h; remove basename.c and stripslash.c.
97366         * modules/exclude (EXTRA_DIST): Add exclude.h.
97367         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
97368         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
97369         * modules/file-type (EXTRA_DIST): Add file-type.h.
97370         * modules/filemode (EXTRA_DIST): Add filemode.h.
97371         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
97372         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97373         * modules/fpending (EXTRA_DIST): Add __fpending.h.
97374         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
97375         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
97376         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
97377         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
97378         * modules/getdate (EXTRA_DIST): Add getdate.c.
97379         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
97380         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
97381         * modules/getpass (EXTRA_DIST): Add getpass.h.
97382         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
97383         * modules/group-member (EXTRA_DIST): Add group-member.h.
97384         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
97385         * modules/hash (EXTRA_DIST): Add hash.h.
97386         * modules/human (EXTRA_DIST): Add human.h.
97387         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
97388         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
97389         * modules/lchown (EXTRA_DIST): Add lchown.h.
97390         * modules/long-options (EXTRA_DIST): Add long-options.h.
97391         * modules/lstat (EXTRA_DIST): Add lstat.h.
97392         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
97393         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
97394         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
97395         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
97396         * modules/memxor (EXTRA_DIST): Add memxor.h.
97397         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
97398         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
97399         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
97400         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
97401         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
97402         * modules/physmem (EXTRA_DIST): Add physmem.h.
97403         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
97404         * modules/posixver (EXTRA_DIST): Add posixver.h.
97405         * modules/quote (EXTRA_DIST): Add quote.h.
97406         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
97407         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
97408         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
97409         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
97410         regex_internal.h regexec.c.
97411         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
97412         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
97413         * modules/same (EXTRA_DIST): Add same.h.
97414         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
97415         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
97416         * modules/savedir (EXTRA_DIST): Add savedir.h.
97417         * modules/sha1 (EXTRA_DIST): Add sha1.h.
97418         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
97419         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
97420         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
97421         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
97422         * modules/strdup (EXTRA_DIST): Add strdup.h.
97423         * modules/strftime (EXTRA_DIST): Add strftime.h.
97424         * modules/strndup (EXTRA_DIST): Add strndup.h.
97425         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
97426         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
97427         * modules/time_r (EXTRA_DIST): Add time_r.h.
97428         * modules/timespec (EXTRA_DIST): Add timespec.h.
97429         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97430         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
97431         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
97432         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
97433         * modules/userspec (EXTRA_DIST): Add userspec.h.
97434         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
97435         * modules/utimens (EXTRA_DIST): Add utimens.h.
97436         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
97437         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
97438         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
97439         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
97440         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
97441         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
97442         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
97443         * modules/yesno (EXTRA_DIST): Add yesno.h.
97445 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97447         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
97449         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
97450         * m4/dev-ino.m4, same-inode.m4: Remove.
97452         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
97453         * m4/acl.m4 (AC_FUNC_ACL):
97454         * m4/backupfile.m4 (gl_BACKUPFILE):
97455         * m4/c-strtod.m4 (gl_C99_STRTOLD):
97456         * m4/canon-host.m4 (gl_CANON_HOST):
97457         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
97458         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
97459         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
97460         * m4/cloexec.m4 (gl_CLOEXEC):
97461         * m4/close-stream.m4 (gl_CLOSE_STREAM):
97462         * m4/closeout.m4 (gl_CLOSEOUT):
97463         * m4/dirfd.m4 (gl_FUNC_DIRFD):
97464         * m4/dirname.m4 (gl_DIRNAME):
97465         * m4/exclude.m4 (gl_EXCLUDE):
97466         * m4/exitfail.m4 (gl_EXITFAIL):
97467         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
97468         * m4/file-type.m4 (gl_FILE_TYPE):
97469         * m4/filemode.m4 (gl_FILEMODE):
97470         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97471         * m4/fpending.m4 (gl_FUNC_FPENDING):
97472         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97473         * m4/fts.m4 (gl_FUNC_FTS):
97474         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97475         * m4/getdate.m4 (gl_GETDATE):
97476         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97477         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97478         * m4/getpass.m4 (gl_FUNC_GETPASS):
97479         * m4/gettime.m4 (gl_GETTIME):
97480         * m4/getugroups.m4 (gl_GETUGROUPS):
97481         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97482         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97483         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97484         * m4/hash.m4 (gl_HASH):
97485         * m4/idcache.m4 (gl_IDCACHE):
97486         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97487         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97488         * m4/long-options.m4 (gl_LONG_OPTIONS):
97489         * m4/lstat.m4 (gl_FUNC_LSTAT):
97490         * m4/md5.m4 (gl_MD5):
97491         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97492         * m4/memcoll.m4 (gl_MEMCOLL):
97493         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97494         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97495         * m4/memxor.m4 (gl_MEMXOR):
97496         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97497         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97498         * m4/modechange.m4 (gl_MODECHANGE):
97499         * m4/mountlist.m4 (gl_MOUNTLIST):
97500         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97501         * m4/openat.m4 (gl_FUNC_OPENAT):
97502         * m4/pathmax.m4 (gl_PATHMAX):
97503         * m4/physmem.m4 (gl_PHYSMEM):
97504         * m4/posixtm.m4 (gl_POSIXTM):
97505         * m4/posixver.m4 (gl_POSIXVER):
97506         * m4/quote.m4 (gl_QUOTE):
97507         * m4/quotearg.m4 (gl_QUOTEARG):
97508         * m4/readtokens.m4 (gl_READTOKENS):
97509         * m4/readutmp.m4 (gl_READUTMP):
97510         * m4/regex.m4 (gl_REGEX):
97511         * m4/safe-read.m4 (gl_SAFE_READ):
97512         * m4/safe-write.m4 (gl_SAFE_WRITE):
97513         * m4/same.m4 (gl_SAME):
97514         * m4/save-cwd.m4 (gl_SAVE_CWD):
97515         * m4/savedir.m4 (gl_SAVEDIR):
97516         * m4/settime.m4 (gl_SETTIME):
97517         * m4/sha1.m4 (gl_SHA1):
97518         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97519         * m4/stat-macros.m4 (gl_STAT_MACROS):
97520         * m4/stat-time.m4 (gl_STAT_TIME):
97521         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97522         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97523         * m4/strdup.m4 (gl_FUNC_STRDUP):
97524         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97525         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97526         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97527         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97528         * m4/time_r.m4 (gl_TIME_R):
97529         * m4/timespec.m4 (gl_TIMESPEC):
97530         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97531         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97532         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97533         * m4/userspec.m4 (gl_USERSPEC):
97534         * m4/utimecmp.m4 (gl_UTIMECMP):
97535         * m4/utimens.m4 (gl_UTIMENS):
97536         * m4/xalloc.m4 (gl_XALLOC):
97537         * m4/xgetcwd.m4 (gl_XGETCWD):
97538         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97539         * m4/xreadlink.m4 (gl_XREADLINK):
97540         * m4/xstrtod.m4 (gl_XSTRTOD):
97541         * m4/yesno.m4 (gl_YESNO):
97542         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97543         to get the necessary .h files and whatnot.
97545 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97546             Bruno Haible  <bruno@clisp.org>
97548         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97549         /bin/sh understanding of '!' conditional negation.
97551 2006-08-21  Jim Meyering  <jim@meyering.net>
97553         * modules/openat (Depends-on): Really alphabetize.
97555         * modules/acl (Depends-on): Add error and quote.
97557         * check-module (find_included_lib_files): Add at-func.c to the
97558         ok-to-include-more-than-once white list.
97560         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97562 2006-08-21  Bruno Haible  <bruno@clisp.org>
97564         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97565         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97566         Reported by Martin Lambers <marlam@marlam.de>.
97568 2006-08-21  Bruno Haible  <bruno@clisp.org>
97570         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97571         specify an installation location, don't emit a noinst_LIBRARIES or
97572         noinst_LTLIBRARIES assignment.
97574 2006-08-21  Bruno Haible  <bruno@clisp.org>
97576         BeOS portability.
97577         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97578         BeOS has mbrtowc() but no <wctype.h>.
97580 2006-08-21  Bruno Haible  <bruno@clisp.org>
97582         BeOS portability.
97583         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97584         exist.
97586 2006-08-21  Bruno Haible  <bruno@clisp.org>
97588         BeOS portability.
97589         * lib/mbchar.h: Include <wctype.h> only if it exists.
97591 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97593         Remove files that are no longer needed by their respective modules.
97594         * m4/obstack.m4: Remove.
97595         * m4/strerror_r.m4: Remove.
97596         * m4/uint32_t.m4: Remove.
97597         * m4/uintptr_t.m4: Remove.
97598         * m4/ullong_max.m4: Remove.
97599         * m4/xstrtoimax.m4: Remove.
97600         * m4/xstrtoumax.m4: Remove.
97602         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97603         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97604         dependencies now capture this.
97606         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97607         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97608         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97609         * m4/human.m4 (gl_HUMAN): Likewise.
97610         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97611         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97613         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97615         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97616         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97617         stdint.
97618         * m4/human.m4 (gl_HUMAN): Likewise.
97619         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97620         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97621         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97622         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97623         * m4/xstrtol (gl_XSTRTOL): Likewise.
97625         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97626         AC_TYPE_LONG_LONG_INT.
97627         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97628         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97629         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97630         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97632         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97633         on stdbool.
97635         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97636         (gl_PREREQ_XSTRTOUL): Remove.
97638         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97640         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97641         mode.
97643 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97645         Add and change modules to make it easier for coreutils to use
97646         gnulib-tool.
97647         * modules/backupfile (Files): Remove m4/d-ino.m4.
97648         (Depends-on): Add d-ino.
97649         * modules/cycle-check (Depends-on): Add stdint.
97650         (lib_SOURCES): Add cycle-check.h.
97651         * modules/d-ino: New module.
97652         * modules/d-type: New module.
97653         * modules/error (Files): Remove m4/strerror_r.m4.
97654         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97655         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97656         m4/inttypes_h.m4, m4/uintmax_t.m4.
97657         (Depends-on): Add stdint.
97658         (lib_SOURCES): Add fsusage.h.
97659         * modules/getcwd (Files): Remove d-ino.m4.
97660         (Depends-on): Add d-ino.
97661         * modules/getndelim2 (Depends-on): Add stdint.
97662         * modules/glob (Files): Remove m4/d-type.m4.
97663         (Depends-on): Add d-type.
97664         * modules/host-os: New module.
97665         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97666         m4/inttypes_h.m4, m4/uintmax_t.m4.
97667         * Depends-on: Add stdint.
97668         (lib_SOURCES): Add human.h.
97669         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97670         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97671         m4/uintmax_t.m4, m4/ulonglong.m4.
97672         (Depends-on): Add stdint.
97673         (EXTRA_DIST): Add inttostr.h.
97674         * modules/lchmod: New module.
97675         * modules/link-follow: New module.
97676         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97677         (Depends-on): Add lchmod.
97678         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97679         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97680         (Depends-on): Add stdint.
97681         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97682         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97683         (Depends-on): Add stdint.
97684         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97685         * modules/perl: New module.
97686         * modules/regex (Depends-on): Add stdint.
97687         * modules/rmdir-errno: New module.
97688         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97689         m4/intmax_t.m4.
97690         (Depends-on): Add stdint.
97691         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97692         m4/uintmax_t.m4.
97693         (Depends-on): Add stdint.
97694         * modules/unlink-busy: New module.
97695         * modules/utimecmp (Depends-on): Add stdint.
97696         * modules/uptime: New module.
97697         * modules/winsz-ioctl: New module.
97698         * modules/winsz-termios: New module.
97699         * modules/xnanosleep (Depends-on): Add nanosleep.
97700         * modules/ullong_max: Remove.
97701         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97702         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97703         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97704         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97705         (Depends-on): Add inttypes.
97706         (lib_SOURCES): Add xstrtol.h.
97707         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97708         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97709         * MODULES.html.sh: Move 'assert' into the assert section.
97710         Move 'dummy' into the linking section.
97711         Remove ullong_max.
97712         Add section for compatibility checks for POSIX:2001 functions,
97713         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97714         winsz-ioctl, and winsz-termios into it.
97715         Add lchmod.
97716         Add top-level Misc section and put host-os, perl, and uptime
97717         into it.
97719 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97721         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97722         now assume the stdint module.  Do not include inttypes.h.
97723         * lib/fsusage.h: Likewise.
97724         * lib/getndelim2.c: Likewise.
97725         * lib/human.h: Likewise.
97726         * lib/inttostr.h: Likewise.
97727         * lib/obstack.c: Likewise.
97728         * lib/regex_internal.h: Likewise.
97729         * lib/tempname.c: Likewise.
97730         * lib/utimecmp.c: Likewise.
97731         * lib/xstrtol.h: Likewise.
97733         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97735         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97736         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97737         * lib/xtime.h: Likewise.
97739 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97741         * modules/openat (Files): Add lib/fchmodat.c.
97742         Fixes problem reported by Jay Youngman.
97744 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97746         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97747         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97749 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97750             Bruno Haible  <bruno@clisp.org>
97752         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97753         and is a script that invokes bison. Tighten the code. Add comments.
97755 2006-08-18  Jim Meyering  <jim@meyering.net>
97757         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97758         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97759         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97760         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97762 2006-08-18  Bruno Haible  <bruno@clisp.org>
97764         * modules/bison-i18n: New file.
97765         * MODULES.html.sh (Internationalization functions): Add it.
97767 2006-08-18  Bruno Haible  <bruno@clisp.org>
97769         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97770         sys/statvfs.h. When getmntinfo was found, check its declaration and
97771         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97773 2006-08-18  Bruno Haible  <bruno@clisp.org>
97775         * m4/bison-i18n.m4: New file, from bison.
97777 2006-08-18  Bruno Haible  <bruno@clisp.org>
97779         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97780         (ME_DUMMY): Treat "kernfs" as a dummy.
97781         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97783 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97785         Update from coreutils.
97787         2006-08-15  Jim Meyering  <jim@meyering.net>
97789         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97791         2006-01-17  Jim Meyering  <jim@meyering.net>
97793         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97795         2006-01-11  Jim Meyering  <jim@meyering.net>
97797         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97798         Check for the lchmod function.
97800 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97802         Update from coreutils.
97804         * lib/__fpending.h: Add copyright notice.
97805         * lib/fprintftime.h: Likewise.
97806         * lib/savedir.c: Use (C) in copyright notice.
97807         * lib/savedir.h: Likewise.
97809         2006-08-15  Jim Meyering  <jim@meyering.net>
97811         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97812         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97813         in support of the EXPECTED_ERRNO macro.
97814         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97815         definitions.  Instead, define the appropriate symbols and include
97816         "at-func.c".
97817         * lib/mkdirat.c (mkdirat): Likewise.
97818         * lib/fchmodat.c (fchmodat): Likewise.
97819         (ENOSYS): Remove definition.
97820         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97821         it.  Don't include "unistd--.h" -- it wasn't ever used.
97823         2006-01-17  Jim Meyering  <jim@meyering.net>
97825         Rewrite fts.c not to change the current working directory,
97826         by using openat, fstatat, fdopendir, etc..
97828         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97829         (HAVE_OPENAT_SUPPORT): Define.
97830         [_LIBC] (fchdir): Don't undef or define; no longer used.
97831         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97832         Now, this `function' always succeeds, and consumes its file descriptor
97833         parameter -- so callers must not close such FDs.  Update callers.
97834         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97835         (diropen): Add parameter, SP.  Adjust all callers.
97836         Implement using diropen_fd, rather than open.
97837         (fts_open): Initialize new member, fts_cwd_fd.
97838         Remove fts_rft-setting code.
97839         (fts_close): Close fts_cwd_fd, if necessary.
97840         (__opendir2): Define in terms of opendir or opendirat,
97841         depending on whether the FST_NOCHDIR flag is set.
97842         (fts_build): Since fts_safe_changedir consumes its FD, and since
97843         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97844         and close the dup'd file descriptor upon failure.
97845         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97846         (fts_safe_changedir): Tweak semantics to reflect that this function
97847         now calls cwd_advance_fd and hence consumes its FD argument.
97848         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97849         [struct FTS] (fts_rft): Remove now-unused member.
97850         [struct FTS] (fts_cycle.state): Improve comment.
97852         * lib/openat.c (openat_needs_fchdir): New function.
97853         * lib/openat.h (openat_needs_fchdir): Declare it.
97855 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97857         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97858         Problem and fix reported by Pádraig Brady in
97859         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97861 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97863         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97865 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97867         * lib/memcoll.c (memcoll): Optimize for the common case where the
97868         arguments are bytewise equal.
97870 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97872         * doc/regexprops-generic.texi: Add a copyright notice.
97874 2006-08-15  Bruno Haible  <bruno@clisp.org>
97876         * modules/tmpdir (License): Change to LGPL.
97878 2006-08-15  Bruno Haible  <bruno@clisp.org>
97880         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97881         module.
97883 2006-08-14  Simon Josefsson  <jas@extundo.com>
97885         * config/srclist.txt: Add gnupload.
97887 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97889         Change copyright notice from LGPL 2 to GPL 2, since that's the
97890         standard form used in the gnulib repository.
97891         * tests/test-lock.c: Likewise.
97892         * tests/test-stdint.c: Likewise.
97893         * tests/test-tls.c: Likewise.
97895         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97896         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97897         Add copyright notice.
97899         * check-module: Add copyright notice.  Output a copyright
97900         notice if "--version" is specified.
97901         * modules/COPYING: New file.
97902         * tests/test-getaddrinfo.c: Add copyright notice.
97903         * tests/test-verify.c: Likewise.
97905 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97907         Change copyright notice from LGPL 2 to GPL 2, since that's the
97908         standard form used in the gnulib repository.
97909         * lib/lock.c: LGPL -> GPL.
97910         * lib/lock.h: Likewise.
97911         * lib/strnlen1.c: Likewise.
97912         * lib/strnlen1.h: Likewise.
97913         * lib/tls.c: Likewise.
97914         * lib/tls.h: Likewise.
97915         * lib/tmpdir.c: Likewise.
97917         * lib/TODO: Remove; this belongs only in coreutils.
97919 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97921         Add copyright notices to long-enough files that lack them, since
97922         otherwise the files aren't clearly free.  Use the same notice that
97923         getdate.texi already uses.
97924         * doc/alloca-opt.texi: Add copyright notice.
97925         * doc/alloca.texi: Likewise.
97926         * doc/ctime.texi: Likewise.
97927         * doc/functions.texi: Likewise.
97928         * doc/gcd.texi: Likewise.
97929         * doc/gnulib-tool.texi: Likewise.
97930         * doc/inet_ntoa.texi: Likewise.
97931         * doc/visibility.texi: Likewise.
97933         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97934         * doc/quote.texi: Add copyright notice.
97936         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97937         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97938         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97939         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97940         is now obsolete, and give a pointer to the Sun list.
97941         Add copyright notice.
97943 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97945         * config/srclistvars.sh: Add copyright notice.
97947 2006-08-14  Eric Blake  <ebb9@byu.net>
97949         Import the following change from libc:
97951         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97953         Upstream bug 2997.
97954         * lib/misc/error.c: Add space between program name and message if file
97955         name is missing.
97957 2006-08-12  Karl Berry  <karl@gnu.org>
97959         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97960         remove, these originate in gnulib now.
97962 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97964         * doc/Makefile (standards.info standards.html standards.dvi):
97965         Also depend on make-stds.texi.
97967 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97969         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97970         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97972         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97973         in wchar_t.  Problem reported by Eric Blake.
97975         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97976         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97977         Also, help the compiler to keep LEN in a register.
97979 2006-08-11  Eric Blake  <ebb9@byu.net>
97981         * users.txt: Sort.  Add tar.
97983 2006-08-11  Bruno Haible  <bruno@clisp.org>
97985         * users.txt: New file.
97987 2006-08-11  Bruno Haible  <bruno@clisp.org>
97989         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97990         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97992 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97994         * modules/snprintf (Depends-on): Remove minmax.
97995         (Maintainer): Add self and Bruno.
97997 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97999         * lib/.cppi-disable: Add snprintf.h, socket_.h.
98000         * lib/snprintf.c: Include <errno.h> and <limits.h>.
98001         (EOVERFLOW): Define if the system does not.
98002         Do not include "minmax.h"; it wasn't used.
98003         (snprintf): Don't assume size_t promotes to an unsigned type.
98004         Fix bug when generated string was too long for the buffer: the
98005         buffer's contents are supposed to be the initial prefix of the
98006         output.  Don't assume vasnprintf returns EOVERFLOW if the size
98007         exceeds INT_MAX; do the check ourselves.
98009         Import the following changes from libc:
98011         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
98013         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
98014         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
98015         set wc to the byte which couldn't be converted.
98016         (re_string_reconstruct): Don't clear valid_raw_len before calling
98017         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
98018         tip_context using re_string_context_at.
98020         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
98022         * lib/posix/regex.h: g++ still cannot handled [restrict].
98024         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
98026         * lib/posix/regex.h: Remove special handling for VMS.
98028 2006-08-10  Jim Meyering  <jim@meyering.net>
98030         * modules/same-inode: New module.
98031         * modules/dev-ino: New module.
98032         * modules/cycle-check: Depend on these modules, rather than simply
98033         including their .h files.
98034         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
98035         required via m4/cycle-check.m4.
98036         * modules/same: Depend on new same-inode module, rather than
98037         including same-inode.h.
98038         * modules/chdir-safer: New file.
98040         * modules/chown (Depends-on): Add stat-macros.
98042 2006-08-10  Jim Meyering  <jim@meyering.net>
98044         * m4/cycle-check.m4: New file.
98045         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
98046         * m4/dev-ino.m4, m4/same-inode.m4: New files.
98048 2006-08-10  Eric Blake  <ebb9@byu.net>
98050         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
98051         in from original proposal.
98053 2006-08-10  Eric Blake  <ebb9@byu.net>
98054         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
98056         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
98057         namespace.
98059 2006-08-10  Bruno Haible  <bruno@clisp.org>
98061         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
98062         as well.
98064 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98066         Sync from coreutils.
98068         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
98070         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
98071         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
98073 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98075         * modules/restrict: Remove; no longer needed now that we assume
98076         Autoconf 2.59 or later.
98077         * MODULES.html.sh: Remove 'restrict'.
98078         * modules/argp (Depends-on): Remove 'restrict'.
98079         * modules/base64 (Depends-on): Likewise.
98080         * modules/gc (Depends-on): Likewise.
98081         * modules/getaddrinfo (Depends-on): Likewise.
98082         * modules/glob (Depends-on): Likewise.
98083         * modules/inet_ntop (Depends-on): Likewise.
98084         * modules/inet_pton (Depends-on): Likewise.
98085         * modules/memxor (Depends-on): Likewise.
98086         * modules/regex (Depends-on): Likewise.
98087         * modules/strtok_r (Depends-on): Likewise.
98088         * modules/time_r (Depends-on): Likewise.
98090 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98092         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
98093         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
98094         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98095         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
98096         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
98097         * m4/memxor.m4 (gl_MEMXOR): Likewise.
98098         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
98099         gl_C_RESTRICT replaced by AC_C_RESTRICT.
98101         Merge from coreutils.
98102         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
98103         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
98104         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98105         * m4/time_r.m4 (gl_TIME_R): Likewise.
98107 2006-08-09  Karl Berry  <karl@gnu.org>
98109         * config/srclist.txt: no more gettext-tools, per Bruno.
98111 2006-08-08  Eric Blake  <ebb9@byu.net>
98113         * modules/verror: New module.
98114         * MODULES.html.sh: Document it.
98116 2006-08-08  Eric Blake  <ebb9@byu.net>
98118         * lib/verror.h, lib/verror.c: New files.
98120 2006-08-08  Eric Blake  <ebb9@byu.net>
98122         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
98123         verror_at_line output complies with GNU Coding Standards even when
98124         file is NULL.
98126 2006-08-07  Bruno Haible  <bruno@clisp.org>
98128         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
98129         versions of AIX.
98130         Reported by Ralf Wildenhues.
98132 2006-08-07  Bruno Haible  <bruno@clisp.org>
98134         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
98135         in an AC_DEFUN. Needed so that the autoconf snippets can use
98136         AC_REQUIRE.
98138 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98140         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98141         Initialize pkgdata_DATA.
98142         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
98143         overriding it.
98145 2006-08-06  Eric Blake  <ebb9@byu.net>
98147         * lib/error.h: Fold in some upstream changes from glibc.
98148         * lib/error.c: Likewise.
98150 2006-08-04  Bruno Haible  <bruno@clisp.org>
98152         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98153         Make the mostlyclean-local rule depend on mostlyclean-generic.
98154         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
98156 2006-07-31  Bruno Haible  <bruno@clisp.org>
98158         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
98159         <stdlib.h>, <string.h>.
98161 2006-07-30  Bruno Haible  <bruno@clisp.org>
98163         * modules/readlink (License): Change to LGPL.
98165 2006-07-30  Bruno Haible  <bruno@clisp.org>
98167         * modules/javaversion (Makefile.am): Distribute javaversion.java and
98168         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
98169         set PKGDATADIR to point to it.
98171 2006-07-30  Bruno Haible  <bruno@clisp.org>
98173         * modules/csharpexec (configure.ac): Comment out macro invocation.
98174         * modules/javaexec (configure.ac): Likewise.
98175         * modules/javacomp-script (configure.ac): Likewise.
98177         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
98179 2006-07-30  Bruno Haible  <bruno@clisp.org>
98181         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
98182         linked-list.
98184 2006-07-30  Bruno Haible  <bruno@clisp.org>
98186         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
98188 2006-07-30  Bruno Haible  <bruno@clisp.org>
98190         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98191         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
98192         get removed.
98194 2006-07-29  Bruno Haible  <bruno@clisp.org>
98196         Make it possible for gnulib-tool to work with locally modified or
98197         augmented gnulib repositories.
98198         * gnulib-tool (func_usage): Document --local-dir option.
98199         (local_gnulib_dir): New variable.
98200         Handle --local-dir option.
98201         (func_lookup_file): New function.
98202         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
98203         (func_get_description, func_get_filelist, func_get_description,
98204         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
98205         func_get_automake_snippet, func_get_include_directive,
98206         func_get_license, func_get_maintainer): Use func_lookup_file.
98207         (func_import, func_create_testdir): Use func_lookup_file.
98209 2006-07-29  Bruno Haible  <bruno@clisp.org>
98211         * modules/setenv (Depends-on): Add unistd.
98213 2006-07-29  Bruno Haible  <bruno@clisp.org>
98215         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
98217 2006-07-29  Bruno Haible  <bruno@clisp.org>
98219         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
98221 2006-07-29  Bruno Haible  <bruno@clisp.org>
98223         * gnulib-tool (import, update): If there is no Makefile.am, look at
98224         aclocal.m4, instead of bailing out.
98226 2006-07-29  Bruno Haible  <bruno@clisp.org>
98228         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
98229         Categorize the options by when they are useful.
98231 2006-07-29  Bruno Haible  <bruno@clisp.org>
98233         * gnulib-tool (func_usage): Document option --no-libtool.
98234         Handle option --no-libtool.
98235         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
98236         for changed semantics of $libtool variable.
98237         (func_import): Likewise. If libtool is not used, show this through
98238         an option --no-libtool.
98239         (func_create_testdir): Update.
98241 2006-07-29  Bruno Haible  <bruno@clisp.org>
98243         * gnulib-tool (func_import): Extend error message about missing
98244         --doc-base.
98246 2006-07-29  Bruno Haible  <bruno@clisp.org>
98248         * gnulib-tool (func_import): Don't create the $docbase directory if
98249         there is no file to store there.
98251 2006-07-29  Bruno Haible  <bruno@clisp.org>
98253         * gnulib-tool (autoconf_minversion): If a --dir option is given and
98254         relevant, look for configure.ac there, not in the current directory.
98255         Also use a simple search for AC_PREREQ, not "autoconf --trace".
98257 2006-07-29  Bruno Haible  <bruno@clisp.org>
98259         * gnulib-tool (SORT): New variable.
98260         (func_usage): Undocument --assume-autoconf option.
98261         Remove --assume-autoconf option handling.
98262         (autoconf_minversion): Determine from the contents of configure.ac.
98263         (func_import): Remove autoconf_minversion handling.
98264         Suggested by Eric Blake.
98266 2006-07-29  Bruno Haible  <bruno@clisp.org>
98268         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
98270 2006-07-29  Bruno Haible  <bruno@clisp.org>
98272         * config/srclist.txt (*setenv.[ch]): Remove rules.
98274 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98276         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
98278 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98280         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
98281         arpa/inet.h.
98283 2006-07-28  Simon Josefsson  <jas@extundo.com>
98285         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
98286         * modules/inet_pton (Depends-on): Likewise.
98288 2006-07-28  Simon Josefsson  <jas@extundo.com>
98290         * m4/netinet_in_h.m4: New file.
98292 2006-07-28  Simon Josefsson  <jas@extundo.com>
98294         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
98295         #include's.
98297 2006-07-28  Simon Josefsson  <jas@extundo.com>
98299         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
98300         #include's.
98302 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
98304         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
98305         setgid on directories only if they set these bits.
98306         * lib/modechange.h: Remove obsolete comment about masks.
98308 2006-07-28  Eric Blake  <ebb9@byu.net>
98310         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
98311         macro expansion.
98313 2006-07-28  Bruno Haible  <bruno@clisp.org>
98315         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
98317 2006-07-28  Bruno Haible  <bruno@clisp.org>
98319         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
98321 2006-07-28  Bruno Haible  <bruno@clisp.org>
98323         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
98324         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
98325         Define fallbacks.
98326         Avoids link error on FreeBSD 4.x.
98327         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98329         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
98330         encoding.
98331         * lib/mbswidth.c (iswcntrl): Likewise.
98333 2006-07-27  Bruno Haible  <bruno@clisp.org>
98335         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
98336         test.
98338 2006-07-27  Bruno Haible  <bruno@clisp.org>
98340         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
98341         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
98342         defined.
98344 2006-07-26  Eric Blake  <ebb9@byu.net>
98346         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
98348 2006-07-26  Eric Blake  <ebb9@byu.net>
98350         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
98351         like mingw that lack mkstemp.
98352         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
98353         avoid compilation warning on mingw.
98355 2006-07-26  Bruno Haible  <bruno@clisp.org>
98357         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
98358         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
98359         INT_FAST*_MIN, INTPTR_MIN.
98361 2006-07-25  Bruno Haible  <bruno@clisp.org>
98363         * modules/version-etc (Depends-on): Add stdarg.
98365 2006-07-25  Bruno Haible  <bruno@clisp.org>
98367         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
98368         complex commands.
98370 2006-07-25  Bruno Haible  <bruno@clisp.org>
98372         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
98373         defined in <stdarg.h> or config.h.
98375 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98377         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
98378         (gl_STDIO_SAFER): Remove.
98380 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98382         * MODULES.html.sh (File stream based Input/Output):
98383         Add fopen-safer, tmpfile-safer; remove stdio-safer.
98384         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
98385         * modules/fopen-safer, modules/tmpfile-safer: New files.
98386         * modules/stdio-safer: Remove.
98388 2006-07-24  Bruno Haible  <bruno@clisp.org>
98390         * modules/tmpdir: New file.
98391         * MODULES.html.sh (File system functions): Add it.
98393 2006-07-24  Bruno Haible  <bruno@clisp.org>
98395         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
98396         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
98398 2006-07-24  Bruno Haible  <bruno@clisp.org>
98400         * modules/clean-temp: New file.
98402 2006-07-24  Bruno Haible  <bruno@clisp.org>
98404         * m4/tmpdir.m4: New file, from GNU gettext.
98406 2006-07-24  Bruno Haible  <bruno@clisp.org>
98408         * lib/tmpdir.h: New file, from GNU gettext.
98409         * lib/tmpdir.c: New file, from GNU gettext.
98411 2006-07-24  Bruno Haible  <bruno@clisp.org>
98413         * lib/clean-temp.h: New file, from GNU gettext.
98414         * lib/clean-temp.c: New file, from GNU gettext.
98416 2006-07-23  Eric Blake  <ebb9@byu.net>
98418         * modules/stdio-safer (Files): Add tmpfile-safer.c.
98419         (Depends-on): Add binary-io.
98421 2006-07-23  Eric Blake  <ebb9@byu.net>
98423         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
98425 2006-07-23  Eric Blake  <ebb9@byu.net>
98427         * lib/tmpfile-safer.c: New file.
98428         * lib/stdio-safer.h (fopen_safer): Add prototype.
98429         * lib/stdio--.h (tmpfile): Make safer.
98431 2006-07-23  Bruno Haible  <bruno@clisp.org>
98433         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
98434         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
98435         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
98436         gl_linked_remove_at): Use it.
98438 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98439         and Simon Josefsson <jas@extundo.com>
98441         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
98443         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
98445 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98447         * modules/close-stream: New file.
98448         * modules/closeout (Description): Make it clear that it exits
98449         with a diagnostic on error.
98450         (Depends-on): Add close-stream.  Remove fpending, stdbool.
98451         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
98453 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98455         * m4/close-stream.m4: New file.
98457 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98459         * lib/close-stream.c, lib/close-stream.h: New files.
98461 2006-07-22  Bruno Haible  <bruno@clisp.org>
98463         Merge from GNU gettext 0.15.
98465         2006-05-01  Bruno Haible  <bruno@clisp.org>
98467                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
98469         2006-07-22  Bruno Haible  <bruno@clisp.org>
98471                 * modules/javaversion: New file.
98472                 * MODULES.html.sh (Java): Add javaversion.
98474         2006-03-12  Bruno Haible  <bruno@clisp.org>
98476                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98478         2005-12-04  Bruno Haible  <bruno@clisp.org>
98480                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98481                 (untested).
98483         2006-06-21  Bruno Haible  <bruno@clisp.org>
98485                 Avoid warnings from recent versions of mcs.
98486                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98487                 -o, -L, -r any more. Use options documented since mcs-1.0
98488                 instead. Similarly for -g.
98490         2005-12-04  Bruno Haible  <bruno@clisp.org>
98492                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98493                 .resources, not .resource.
98495         2005-07-09  Bruno Haible  <bruno@clisp.org>
98497                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98498                 add a .dll suffix.
98499                 Reported by Mark Junker <mjscod@gmx.de>.
98501         2006-07-22  Bruno Haible  <bruno@clisp.org>
98503                 * modules/gettext: Upgrade to gettext-0.15.
98504                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98505                 m4/visibility.m4.
98506                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98508 2006-07-22  Bruno Haible  <bruno@clisp.org>
98510         Merge from GNU gettext 0.15.
98512         2006-03-25  Bruno Haible  <bruno@clisp.org>
98514                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98516         2006-07-21  Bruno Haible  <bruno@clisp.org>
98518                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98519                 "1.1".
98521         2006-05-09  Bruno Haible  <bruno@clisp.org>
98523                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98524                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98525                 for the conftestver execution.
98527         2006-05-01  Bruno Haible  <bruno@clisp.org>
98529                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98530                 optional target-version argument. Verify that the compiler
98531                 groks source of the specified source-version, or add -source
98532                 option as necessary. Verify that the compiler produces
98533                 bytecode in the specified target-version, or add -target and
98534                 -source options as necessary. Make the result of the test
98535                 available as variable CONF_JAVAC. Also log error output in
98536                 config.log.
98538         2006-03-11  Bruno Haible  <bruno@clisp.org>
98540                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98542         2006-05-09  Bruno Haible  <bruno@clisp.org>
98544                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98545                 CLASSPATH_SEPARATOR to a semicolon.
98547         2006-03-12  Bruno Haible  <bruno@clisp.org>
98549                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98550                 available as variable CONF_JAVA, for subsequent autoconf
98551                 tests. Also log error output in config.log.
98553         2006-07-19  Bruno Haible  <bruno@clisp.org>
98555                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98556                 that getline works on glibc2 systems. Needed to avoid trouble
98557                 in relocatable.c.
98558                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98560         2005-12-04  Bruno Haible  <bruno@clisp.org>
98562                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98563                 launcher (untested).
98565         2005-12-04  Bruno Haible  <bruno@clisp.org>
98567                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98569         2006-07-22  Bruno Haible  <bruno@clisp.org>
98571                 * gettext.m4: Update from GNU gettext-0.15.
98572                 * nls.m4: Likewise.
98573                 * po.m4: Likewise.
98574                 * inttypes-pri.m4: Likewise.
98575                 * inttypes-h.m4: Renamed from inttypes.m4.
98576                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98578 2006-07-22  Bruno Haible  <bruno@clisp.org>
98580         Merge from GNU gettext 0.15.
98582         2005-07-05  Bruno Haible  <bruno@clisp.org>
98584                 * printf-args.c (printf_fetchargs): Work around broken
98585                 definition of wint_t on mingw.
98587         2005-02-12  Bruno Haible  <bruno@clisp.org>
98589                 * xallocsa.h: Add extern "C" for C++.
98591         2006-05-17  Bruno Haible  <bruno@clisp.org>
98593                 Cygwin portability.
98594                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98596         2006-04-30  Bruno Haible  <bruno@clisp.org>
98598                 * progreloc.c: Include <mach-o/dyld.h> if available.
98599                 (find_executable): Use _NSGetExecutablePath when possible.
98601         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98603                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98604                 function.
98606         2005-12-29  Bruno Haible  <bruno@clisp.org>
98608                 * progreloc.c (set_program_name_and_installdir): Fix
98609                 compilation error.
98611         2005-12-04  Bruno Haible  <bruno@clisp.org>
98613                 Cygwin portability.
98614                 * progreloc.c: Include <windows.h> also on Cygwin.
98615                 (find_executable): Add support for Cygwin.
98616                 (set_program_name_and_installdir): Handle also platforms with
98617                 nonempty EXEEXT.
98619         2006-07-11  Bruno Haible  <bruno@clisp.org>
98621                 * javacomp.c: Fix a comment.
98622                 Reported by Jim Meyering.
98624         2006-04-30  Bruno Haible  <bruno@clisp.org>
98626                 * javacomp.h (compile_java_class): Add source_version,
98627                 target_version arguments.
98628                 * javacomp.c: Rewritten to choose only a compiler that
98629                 respects the specified source_version and target_version.
98631         2006-06-27  Bruno Haible  <bruno@clisp.org>
98633                 Assume correct S_ISDIR macro.
98634                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98636         2006-07-22  Bruno Haible  <bruno@clisp.org>
98638                 * javaversion.h: New file, from GNU gettext.
98639                 * javaversion.c: New file, from GNU gettext.
98640                 * javaversion.java: New file, from GNU gettext.
98641                 * javaversion.class: New file, from GNU gettext.
98643         2006-05-17  Bruno Haible  <bruno@clisp.org>
98645                 Cygwin portability.
98646                 * javaexec.c (execute_java_class): Test for jview program
98647                 also on Cygwin.
98649         2006-04-09  Bruno Haible  <bruno@clisp.org>
98651                 * fatal-signal.c: Don't include string.h.
98652                 (at_fatal_signal): Use a copying loop instead of memcpy.
98654         2005-12-04  Bruno Haible  <bruno@clisp.org>
98656                 * csharpexec.c: Add support for 'clix' launcher (untested).
98657                 (execute_csharp_using_sscli): New function.
98658                 (execute_csharp_program): Call it.
98660         2006-06-21  Bruno Haible  <bruno@clisp.org>
98662                 Avoid warnings from recent versions of mcs.
98663                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98664                 -o, -L, -r any more. Use options documented since mcs-1.0
98665                 instead. Similarly for -g.
98667         2005-07-09  Bruno Haible  <bruno@clisp.org>
98669                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98670                 add a .dll suffix.
98671                 Reported by Mark Junker <mjscod@gmx.de>.
98673         2006-06-17  Bruno Haible  <bruno@clisp.org>
98675                 * config.charset: Update for NetBSD 3.0.
98677         2006-05-17  Bruno Haible  <bruno@clisp.org>
98679                 Cygwin portability.
98680                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98682         2006-05-16  Bruno Haible  <bruno@clisp.org>
98684                 * localcharset.c [CYGWIN]: Include <windows.h>.
98685                 (get_charset_aliases): For Cygwin, return the same CPxxx
98686                 aliases list as under WIN32.
98687                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98688                 the environment variables. Fall back to GetACP().
98690         2006-04-05  Bruno Haible  <bruno@clisp.org>
98692                 * config.charset: Update Juan Manuel Guerrero's address.
98694         2005-02-12  Bruno Haible  <bruno@clisp.org>
98696                 * allocsa.h: Add extern "C" for C++.
98698         2005-02-10  Bruno Haible  <bruno@clisp.org>
98700                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98701                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98703         2006-07-22  Bruno Haible  <bruno@clisp.org>
98705                 * gettext.h: Update to GNU gettext-0.15.
98707 2006-07-22  Bruno Haible  <bruno@clisp.org>
98709         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98710         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98711         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98713 2006-07-21  Eric Blake  <ebb9@byu.net>
98715         * modules/stdlib-safer: New file.
98716         * MODULES.html.sh (File stream based Input/Output): Add
98717         stdlib-safer.
98719 2006-07-21  Eric Blake  <ebb9@byu.net>
98721         * lib/stdlib-safer.h: New file from coreutils, required by
98722         stdlib--.h.
98724 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98726         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98728 2006-07-20  Bruno Haible  <bruno@clisp.org>
98730         * gnulib-tool: Recognize new option --assume-autoconf.
98731         (autoconf_minversion): New variable.
98732         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98734 2006-07-20  Bruno Haible  <bruno@clisp.org>
98736         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98738 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98740         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98741         Reindent and repaginate.
98743 2006-07-19  Derek Price  <derek@ximbiot.com>
98745         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98746         Correct grammar.
98748 2006-07-17  Bruno Haible  <bruno@clisp.org>
98750         * modules/list: New file.
98751         * modules/array-list: New file.
98752         * modules/carray-list, modules/carray-list-tests: New files.
98753         * modules/linked-list, modules/linked-list-tests: New files.
98754         * modules/avltree-list, modules/avltree-list-tests: New files.
98755         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98756         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98757         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98758         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98759         * modules/oset: New file.
98760         * modules/array-oset: New file.
98761         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98762         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98763         * tests/test-carray_list.c: New file.
98764         * tests/test-linked_list.c: New file.
98765         * tests/test-avltree_list.c: New file.
98766         * tests/test-rbtree_list.c: New file.
98767         * tests/test-linkedhash_list.c: New file.
98768         * tests/test-avltreehash_list.c: New file.
98769         * tests/test-rbtreehash_list.c: New file.
98770         * tests/test-avltree_oset.c: New file.
98771         * tests/test-rbtree_oset.c: New file.
98772         * MODULES.html.sh (Container data structures): New section.
98774 2006-07-17  Bruno Haible  <bruno@clisp.org>
98776         * m4/gl_list.m4: New file.
98778 2006-07-17  Bruno Haible  <bruno@clisp.org>
98780         * lib/gl_list.h: New file.
98781         * lib/gl_list.c: New file.
98782         * lib/gl_array_list.h: New file.
98783         * lib/gl_array_list.c: New file.
98784         * lib/gl_carray_list.h: New file.
98785         * lib/gl_carray_list.c: New file.
98786         * lib/gl_linked_list.h: New file.
98787         * lib/gl_linked_list.c: New file.
98788         * lib/gl_anylinked_list1.h: New file.
98789         * lib/gl_anylinked_list2.h: New file.
98790         * lib/gl_avltree_list.h: New file.
98791         * lib/gl_avltree_list.c: New file.
98792         * lib/gl_anyavltree_list1.h: New file.
98793         * lib/gl_anyavltree_list2.h: New file.
98794         * lib/gl_rbtree_list.h: New file.
98795         * lib/gl_rbtree_list.c: New file.
98796         * lib/gl_anyrbtree_list1.h: New file.
98797         * lib/gl_anyrbtree_list2.h: New file.
98798         * lib/gl_anytree_list1.h: New file.
98799         * lib/gl_anytree_list2.h: New file.
98800         * lib/gl_linkedhash_list.h: New file.
98801         * lib/gl_linkedhash_list.c: New file.
98802         * lib/gl_anyhash_list1.h: New file.
98803         * lib/gl_anyhash_list2.h: New file.
98804         * lib/gl_avltreehash_list.h: New file.
98805         * lib/gl_avltreehash_list.c: New file.
98806         * lib/gl_rbtreehash_list.h: New file.
98807         * lib/gl_rbtreehash_list.c: New file.
98808         * lib/gl_anytreehash_list1.h: New file.
98809         * lib/gl_anytreehash_list2.h: New file.
98811         * lib/gl_oset.h: New file.
98812         * lib/gl_oset.c: New file.
98813         * lib/gl_array_oset.h: New file.
98814         * lib/gl_array_oset.c: New file.
98815         * lib/gl_avltree_oset.h: New file.
98816         * lib/gl_avltree_oset.c: New file.
98817         * lib/gl_rbtree_oset.h: New file.
98818         * lib/gl_rbtree_oset.c: New file.
98819         * lib/gl_anytree_oset.h: New file.
98821 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98823         * m4/mkancesdirs.m4: New file.
98824         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98825         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98826         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98827         it.
98829 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98831         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98832         * lib/mkancesdirs.h: New files.
98833         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98834         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98835         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98836         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98837         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98838         callers changed.  Revamp internals significantly, by not
98839         attempting to create directories that are temporarily more
98840         permissive than the final results.  Do not attempt to use
98841         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98842         This removes some race conditions, fixes some bugs, and simplifies
98843         things.  Use new dirchownmod function to do owner and mode changes.
98844         * lib/mkdir-p.h: Likewise.
98845         * lib/modechange.c (octal_to_mode): New function.
98846         (struct mode_change): New member mentioned.
98847         (make_node_op_equals): New arg mentioned.  All callers changed.
98848         (mode_compile): Keep track of which mode bits the user has explicitly
98849         mentioned.
98850         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98851         New arg PMODE_BITS, to keep track of which mode bits the user
98852         mentioned; it treats S_ISUID and S_ISGID speciall.
98853         All callers changed.
98854         * lib/modechange.h: Likewise.
98856 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98858         * MODULES.html.sh: Add mkancestors.
98859         * modules/mkancesdirs: New module.
98860         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98861         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98862         The chdir-safer and afs files are now orphans; I'll remove them
98863         unless someone speaks up.
98864         Add lib/dirchownmod.c, lib/dirchownmod.h.
98865         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98866         Add lchown, mkancesdirs.
98867         (Maintainer): Add self.
98869 2006-07-15  Karl Berry  <karl@gnu.org>
98871         * gnulib-tool: help message wording/arrangement.
98873 2006-07-14  Simon Josefsson  <jas@extundo.com>
98875         * doc/gnulib.texi (Libtool and Windows): New section.
98877 2006-07-12  Simon Josefsson  <jas@extundo.com>
98879         * modules/gendocs (License): Fix license, approved by Karl.
98881 2006-07-12  Eric Blake  <ebb9@byu.net>
98883         * MODULES.html.sh: Add gendocs.
98885 2006-07-11  Eric Blake  <ebb9@byu.net>
98887         * modules/fdl: New module, to install doc/fdl.texi.
98888         * MODULES.html.sh: Add new section for documentation modules.
98889         * gnulib-tool: Avoid space-tab.
98890         (--doc-base): New option, to manage files from doc.
98892 2006-07-11  Eric Blake  <ebb9@byu.net>
98894         * m4/absolute-header.m4: Fix comments to match recent change.
98896 2006-07-11  Eric Blake  <ebb9@byu.net>
98898         * gnulib-tool: List --doc-base before --tests-base.
98900 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98902         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98904 2006-07-11  Bruno Haible  <bruno@clisp.org>
98906         * README: Mention where to put documentation.
98908 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98910         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98912 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98914         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98915         to stdint.m4.
98917 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98919         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98920         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98921         "no/such/file/stdint.h" when there is no such file, so that
98922         the resulting C code can be parsed by dodgy compilers.
98923         Problems reported by Bob Proulx.
98925 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98927         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98928         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98929         macros into the GNU _D_EXACT_NAMLEN.
98930         * lib/savedir.c:  Likewise.
98931         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98933 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98934         and Paul Eggert  <eggert@cs.ucla.edu>
98936         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98937         * m4/savedir.m4:
98938         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98939         macros into the GNU _D_EXACT_NAMLEN.
98941 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98943         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98944         around the absolute name, to work around a problem with the HP-UX
98945         11.23 native C compiler, reported by Bob Proulx.
98947 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98949         * doc/maintain.texi, make-stds.texi: Sync from
98950         <http://savannah.gnu.org/projects/gnustandards>.
98952 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98954         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98956 2006-07-09  Jim Meyering  <jim@meyering.net>
98958         * m4/glob.m4: Remove a doubled word in a comment.
98960 2006-07-09  Jim Meyering  <jim@meyering.net>
98962         * lib/argp-pv.c: Remove a doubled word in a comment.
98963         * lib/check-version.c (check_version): Likewise.
98964         * lib/javacomp.c (compile_java_class): Likewise.
98966 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98968         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98969         for the benefit of people using Autoconf 2.60.  If you want to
98970         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98971         (or m4/onceonly.m4, if pre-2.57) manually.
98973 2006-07-08  Jim Meyering  <jim@meyering.net>
98975         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98976         comment.
98977         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98978         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98979         comment.
98981 2006-07-08  Jim Meyering  <jim@meyering.net>
98983         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98985 2006-07-07  Simon Josefsson  <jas@extundo.com>
98987         * tests/test-crc.c: Change expected crc value, the test vector
98988         were probably computed using the old broken crc.c?
98990 2006-07-06  Simon Josefsson  <jas@extundo.com>
98992         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98993         now the canonical place for the M4 file).
98995         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98996         from the sys_socket dependency now.
98998         * modules/inet_pton (Files): Ditto.
99000         * modules/inet_ntop (Files): Ditto.
99002 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
99004         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
99005         not gl_PREREQ_GETUSERSHELL.
99007 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99009         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
99010         with only one argument, for Autoconf 2.60.
99011         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
99012         expand to nothing, so add a shell command to avoid syntax error.
99013         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99015 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99017         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
99019 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99021         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
99022         no longer needed.  Check for isblank decl.
99023         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
99024         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
99025         of existence.
99027 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99029         * lib/getloadavg.c: Use __VMS, not VMS.
99030         * lib/getopt.c: Likewise.
99031         * lib/getpagesize.h: Likewise.
99032         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
99033         and probably does not work.
99035 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99037         * lib/.cppi-disable: Add wcwidth.
99038         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
99039         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
99040         (ISGRAPH): Remove.  All uses changed to isgraph.
99041         (FOLD) [!defined _LIBC]: Remove special case.
99042         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
99043         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
99044         HAVE_ISBLANK.
99045         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
99046         case.
99048 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99050         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
99051         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
99052         brackets.  Other minor changes to suppress some compiler
99053         warnings.
99055 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99056         and Paul Eggert  <eggert@cs.ucla.edu>
99058         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
99059         of invoking obsolescent AC_HEADER_DIRENT macro.
99060         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
99061         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
99062         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
99063         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
99064         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
99065         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
99066         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
99067         * m4/readdir.m4: Remove; no longer needed.
99069 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99070         and Paul Eggert  <eggert@cs.ucla.edu>
99072         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
99073         Don't worry about this obsolete case any more.
99074         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
99075         directories.
99076         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
99077         worry about this obsolete case any more.
99078         * lib/fts.c: Likewise.
99079         * lib/getcwd.c: Likewise.
99080         * lib/glob.h: Likewise.
99081         * lib/savedir.c: Likewise.
99083 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99085         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
99086         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
99087         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
99088         needed.
99089         All uses removed.
99090         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99091         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99092         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
99093         needed.
99094         * m4/getdate.m4 (gl_GETDATE): Likewise.
99095         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99096         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99097         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99098         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99099         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99100         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99101         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
99102         needed.
99104 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99106         * lib/memcasecmp.c: Include <limits.h>.
99107         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
99108         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
99109         Don't assume isdigit succeeds only on '0' through '9'.
99111 2006-07-05  Eric Blake  <ebb9@byu.net>
99113         * modules/getaddrinfo (Depends-on): Add snprintf.
99115 2006-07-05  Eric Blake  <ebb9@byu.net>
99117         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
99118         to avoid 'header present but could not be compiled' on cygwin.
99120 2006-07-05  Eric Blake  <ebb9@byu.net>
99122         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
99123         missing from netdb.h.
99124         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
99126 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99128         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
99129         no longer needed.
99130         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
99131         * m4/getdate.m4 (gl_GETDATE): Likewise.
99132         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99133         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99134         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99135         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99136         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99138 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99140         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
99141         All uses of is_space replaced by isspace.
99142         * lib/exit.h: Don't talk about STDC_HEADERS.
99143         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
99144         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
99145         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
99146         replaced by isprint etc.
99147         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
99148         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99149         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
99150         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
99151         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
99152         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99154 2006-07-05  Bruno Haible  <bruno@clisp.org>
99156         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
99157         the function exists, before testing against AIX.
99158         Reported by Martin Lambers <marlam@marlam.de>.
99160 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99162         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
99163         From Mark D. Baushke.
99165 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99167         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
99168         to the absolute name, not just one, to bypass Sun C 5.8's
99169         "warning: #include of /usr/include/... may be non-portable".
99171 2006-07-04  Eric Blake  <ebb9@byu.net>
99173         * modules/dirname-tests: New test module.
99174         * tests/test-dirname.c: New file, replacing dirname.c
99175         TEST_DIRNAME section that was recently deleted.
99177 2006-07-04  Bruno Haible  <bruno@clisp.org>
99179         Assume ANSI C header files and <ctype.h> functions.
99180         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
99181         (mbsnwidth): Use isprint, iscntrl instead.
99183 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99185         Merge from coreutils.
99186         * MODULES.html.sh: Add xstrtold.
99187         * modules/xstrtold: New file.
99188         * modules/cycle-check (Files): Add lib/same-inode.h.
99189         * modules/dirname (Files): Add m4/double-slash-root.m4.
99190         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
99191         * modules/mkdir-p (Files): Add lib/same-inode.h.
99192         * modules/same (Files): Add lib/same-inode.h.
99194 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99196         * m4/absolute-header.m4: Renamed from full-header-path.m4.
99197         This is to keep the terminology clean; POSIX talks about
99198         "absolute pathnames", not "full pathnames", but the GNU
99199         Coding Standards say to use "path" for something else;
99200         so use "absolute" to keep both sides happy.
99201         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
99202         Set gl_absolute_header, not gl_full_header_path.
99203         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
99204         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
99205         All uses changed.
99207         Merge from coreutils.
99209         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99211         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
99212         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
99213         want to require the building of c-strtod.o.
99214         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
99215         needs -lm directly.
99216         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
99218         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99220         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
99221         --as-needed option if available.  Problem reported by Albert Chin in
99222         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
99223         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
99224         cc merely issues a bunch of annoying warnings for --as-needed
99225         (this problem was reported by Bob Proulx).  Also, try linking with
99226         -lm to detect a bug in binutils 2.16 (this problem was reported
99227         by Ralf Wildenhues).
99229         2006-06-18  Jim Meyering  <jim@meyering.net>
99231         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
99232         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
99233         macro.
99234         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
99235         also check for glibc-2.4's abort-inducing bug.
99237         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
99238         Low-probability clean-up should be to use rmdir to get rid of
99239         the just-created directory, not unlink.
99241         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
99242         configure fail, and request a bug report to inform us about it.
99243         Add a comment that, barring reports to the contrary, in 2007 we'll
99244         assume ftruncate is universally available.
99246         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99248         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
99250         2006-03-12  Jim Meyering  <jim@meyering.net>
99252         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
99253         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
99254         * m4/same.m4 (gl_SAME): Likewise.
99255         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
99257         2006-03-11  Eric Blake  <ebb9@byu.net>
99259         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
99260         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
99261         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
99262         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
99264 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99266         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
99267         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
99268         reported by Mark D. Baushke, one in
99269         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
99271         Merge from coreutils.
99273         * lib/.cppi-disable: Add stdint_.h.
99274         * lib/.cvsignore: Add stdint.h.
99276         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99278         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
99279         both double and long double versions.
99280         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
99281         * lib/xstrtold.c: New file.
99282         * lib/xstrtod.h (xstrtold): New decl.
99284         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
99286         * lib/filemode.c (setst): Remove.
99287         (strmode): Rewrite to avoid setst.  This makes the code shorter,
99288         (arguably) clearer, and the generated code is a bit smaller on my
99289         Debian GNU/Linux stable x86 host.
99291         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99293         * lib/filemode.c: Include "filemode.h" first, to test the interface.
99294         Assume that filemode.h includes sys/types.h and sys/stat.h.
99295         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
99296         (ftypelet): Reorder to put common cases first, for efficiency.
99297         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
99298         to do 'M'.
99299         (strmode): Renamed from mode_string, and now stores 12 bytes instead
99300         of 10, for compatibility with FreeBSD.  All callers changed.
99301         (filemodestring): Now stores 12 bytes instead of 10, and sets file
99302         types that can't be deduced solely from st_mode.  First arg is now a
99303         const pointer.
99304         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
99305         (strmode): Renamed from mode_string.
99306         (filemodestring): New decl.
99307         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
99308         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
99309         needed.
99310         (S_ISPORT, S_ISWHT): New macros, if not already defined.
99312         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
99314         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
99315         fsusage.h now does that.  Include fsusage.h first, to test interface.
99316         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
99317         at most one method (the old code could have generated decls that
99318         didn't conform to C89, not that this was ever exercised).
99319         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
99321         2006-03-19  Jim Meyering  <jim@meyering.net>
99323         Work even in a chroot where d_ino values for entries in "/"
99324         don't match the stat.st_ino values for the same names.
99325         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
99326         number, iterate through all entries again, using lstat instead.
99327         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
99328         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
99330         * lib/getcwd.c (__getcwd): Clarify a comment.
99331         Use memcpy in place of a call to strcpy.
99333         2006-03-12  Jim Meyering  <jim@meyering.net>
99335         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
99336         matches that of the current directory (which we're about to chdir ".."
99337         out of), then save the dev-ino of the parent, instead.
99339         * lib/same-inode.h (SAME_INODE): New file/macro.
99340         * lib/chdir-safer.c (SAME_INODE): Remove definition.
99341         Include "same-inode.h", instead.
99342         * lib/same.c: Likewise.
99343         * lib/cycle-check.h: Include "same-inode.h".
99344         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
99345         * lib/cycle-check.c (SAME_INODE): Remove definition.
99346         * lib/root-dev-ino.h: Include "same-inode.h".
99348         2006-03-11  Eric Blake  <ebb9@byu.net>
99350         * lib/same.c (same_name): s/base_name/last_component/
99351         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
99352         * lib/filenamecat.c (file_name_concat): Likewise.
99354         2006-03-11  Eric Blake  <ebb9@byu.net>,
99355                     Paul Eggert  <eggert@cs.ucla.edu>
99357         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
99358         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
99359         drive prefix.
99360         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
99361         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
99362         (last_component): New method.
99363         * lib/dirname.c (dir_len): Determine when drive letters need a
99364         subsequent slash.  Preserve // when it is special.
99365         (dir_name): Don't append dot when drive letter is absolute.
99366         [TEST_DIRNAME]: Move into a full-blown gnulib test.
99367         * lib/basename.c (base_name): New semantics - malloc the result.
99368         Preserve // when it is special.  Preserve relative files that look
99369         like drive letters.
99370         (base_len): Preserve // when it is special.
99371         (last_component): New method, similar to old base_name semantics.
99372         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
99373         base_name.  Strip redundant slashes from ///.
99375 2006-07-03  Jim Meyering  <jim@meyering.net>
99377         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
99378         macro is used before the first cycle_check call.
99380 2006-07-03  Eric Blake  <ebb9@byu.net>
99382         * modules/dirname (Depends-on): Add xstrndup.
99384 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99386         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
99387         test cases, so that config.log is a bit easier to follow.
99389 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99391         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
99392         both are 64 bits, since this seems to be the tradition, and this
99393         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
99394         we ever run into a host that prefers long long to long in this
99395         case, we'll need another configure-time test.  Problem reported by
99396         Jim Meyering.
99398 2006-07-02  Eric Blake  <ebb9@byu.net>
99400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
99402 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99404         * modules/inttypes (Depends-on): No longer depends on stdint.
99405         * modules/stdint (Description): Say more about assumptions.
99406         Say that the fast types might differ.  Say macros are used.
99407         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
99408         (Makefile.am): Revise list of substituted symbols to match
99409         new stdint.m4.
99410         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
99411         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
99412         * tests/test-stdint.c (verify_same_types)
99413         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
99414         the code conforms to C99/C89.
99415         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
99416         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
99418 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99420         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
99421         but fix a bug, by requiring at least 64 bits.
99422         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99423         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
99424         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
99425         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
99427         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
99428         changes.  Make 2.59 a prerequisite.  Check and substitute for
99429         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
99430         inttypes.h.  Do not use special include files; just use the
99431         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
99432         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
99433         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
99434         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
99435         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
99436         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
99437         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
99438         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
99439         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
99440         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
99441         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
99442         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
99443         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
99444         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
99445         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
99446         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
99447         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
99448         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
99449         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
99450         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
99451         WINT_MAX.  Check for C99 conformance more strictly, by detecting
99452         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
99453         not check for things that C99 does not require, e.g., int8_t.  If
99454         a test isn't needed unless <stdint.h> isn't working, and is
99455         unlikely to be needed for any other reason, then don't do it
99456         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
99457         size_t, since we assume C89 freestanding at least.  Do not check
99458         for sig_atomic_t, wchar_t, or wint_t, since the code now does
99459         the right thing even if the types are not defined.  Instead use:
99460         (gl_STDINT_TYPE_PROPERTIES): New macro.
99461         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
99462         testing whether <sys/types.h> clashes, as Autoconf does this for
99463         us now.  All uses removed.
99464         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
99465         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
99466         (gl_CHECK_TYPE_SAME):
99467         Remove; no longer needed.
99468         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
99469         exists, since we'll return 0 anyway in that case.
99470         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99472 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99474         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99475         possible collision with system files.
99476         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99477         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99478         WCHAR_MIN and WCHAR_MAX in this case.
99479         (<stddef.h>): Do not include; no longer needed.
99480         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99481         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99482         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99483         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99484         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99485         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99486         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99487         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99488         !defined(__c99))]: Include in this case too, since it's harmless
99489         now.
99490         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99491         dangerous to do so.
99492         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99493         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99494         (_STDINT_MIN, _STDINT_MAX): New macros.
99495         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99496         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99497         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99498         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99499         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99500         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99501         macros, not typedefs; this simplifies things quite a bit.
99502         Use long int for all types narrower than int64_t.
99503         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99504         Define in terms of long long int or int64_t or long int,
99505         not int64_t or int32_t.  This saves some compile-time testing.
99506         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99507         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99508         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99509         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99510         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99511         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99512         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99513         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99514         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99515         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99516         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99517         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99518         undef any previous version and define our own version, for
99519         simplicity and consistency with the new macros for types.
99520         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99521         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99522         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99523         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99524         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99525         @WINT_T_SUFFIX@ to keep things simple here.
99526         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99527         Simplify by assuming typical 8/16/32/64 host, since we're
99528         already doing that elsewhere anyway.
99529         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99530         and assume long long int is 64 bits if available.  This
99531         speeds up 'configure'.
99533 2006-07-01  Eric Blake  <ebb9@byu.net>
99535         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99536         Reported by Andreas Buening.
99538 2006-07-01  Eric Blake  <ebb9@byu.net>
99540         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99542 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99544         * lib/getaddrinfo.c: fixed typo
99546 2006-06-29  Jim Meyering  <jim@meyering.net>
99548         * modules/strftime (Maintainer): Add my name, since with the
99549         FPRINTFTIME changes strftime.c has forked from glibc.
99551 2006-06-29  Eric Blake  <ebb9@byu.net>
99553         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99555 2006-06-29  Eric Blake  <ebb9@byu.net>
99557         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99559 2006-06-29  Eric Blake  <ebb9@byu.net>
99561         * lib/stat_.h: New file.
99563 2006-06-29  Eric Blake  <ebb9@byu.net>
99565         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99566         unused static function.
99568 2006-06-29  Eric Blake  <ebb9@byu.net>
99570         * doc/functions.texi (Function Portability): Document missing lstat
99571         on mingw.
99573 2006-06-29  Eric Blake  <ebb9@byu.net>
99575         * MODULES.html.sh: Add sys_stat.
99576         * modules/sys_stat: New module.
99577         * modules/mkstemp (Depends-on): Add sys_stat.
99579 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99581         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99583 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99585         * m4/c-bs-a.m4: Removed.
99587 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99589         * lib/strftime.c: Assume strftime() exists.
99591 2006-06-29  Derek Price  <derek@ximbiot.com>
99593         * modules/c-bs-a: Removed - \a is C89.
99594         * MODULES.html.sh: Remove c-bs-a.
99596 2006-06-29  Bruno Haible  <bruno@clisp.org>
99598         * modules/wcwidth (License): Change to LGPL.
99600 2006-06-28  Simon Josefsson  <jas@extundo.com>
99602         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99603         on _WIN32.
99605         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99606         getnameinfo.
99608 2006-06-28  Simon Josefsson  <jas@extundo.com>
99610         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99612 2006-06-28  Simon Josefsson  <jas@extundo.com>
99614         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99615         functions there.  It will succeed on Windows XP, but on Windows
99616         2000 and (presumably) earlier, it will fail, and use the internal
99617         re-implementation.
99618         (use_win32_p): New function.
99619         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99620         Support AI_NUMERICSERV to disable getservbyname.
99621         (getnameinfo): New function, only supports
99622         NI_NUMERICHOST|NI_NUMERICSERV for now.
99624         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99625         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99626         getnameinfo.
99628 2006-06-28  Eric Blake  <ebb9@byu.net>
99630         * modules/wcwidth: New file.
99631         * modules/mbchar (Depends-on): Add wcwidth.
99632         * modules/mbswidth (Depends-on): Add wcwidth.
99633         * MODULES.html.sh: Add wcwidth.
99635 2006-06-28  Eric Blake  <ebb9@byu.net>
99637         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99638         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99640 2006-06-28  Eric Blake  <ebb9@byu.net>
99642         * lib/xvasprintf.h: Fix comments.
99644 2006-06-28  Eric Blake  <ebb9@byu.net>
99646         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99647         * lib/mbswidth.c (wcwidth): Move from here...
99648         * lib/wcwidth.h: ...to this new file.
99650 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99652         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99654         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99655         it's obsolete.
99656         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99658 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99660         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99661         Autoconf 2.60 says this stuff was obsolete.
99663 2006-06-28  Bruno Haible  <bruno@clisp.org>
99665         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99667 2006-06-28  Bruno Haible  <bruno@clisp.org>
99669         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99670         gt_TYPE_WCHAR_T.
99672 2006-06-28  Bruno Haible  <bruno@clisp.org>
99674         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99675         declaration for wcwidth.
99676         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99678 2006-06-28  Bruno Haible  <bruno@clisp.org>
99680         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99681         (mkdir): Define using _mkdir.
99683 2006-06-28  Bruno Haible  <bruno@clisp.org>
99685         * lib/getaddrinfo.h: Fix POSIX URL.
99686         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99687         _WIN32.
99688         (use_win32_p): Make static.
99689         (getaddrinfo): Reject service name if it is empty or does not consist
99690         solely of decimal digits, or if its value is > 65535.
99691         (getnameinfo): Remove useless casts.
99693 2006-06-27  Simon Josefsson  <jas@extundo.com>
99695         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99696         Eggert and Martin Lambers.
99698 2006-06-27  Simon Josefsson  <jas@extundo.com>
99700         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99701         Eggert and Martin Lambers.
99703 2006-06-27  Bruno Haible  <bruno@clisp.org>
99705         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99706         result to 0, not to empty.
99707         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99709 2006-06-27  Bruno Haible  <bruno@clisp.org>
99711         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99713 2006-06-26  Simon Josefsson  <jas@extundo.com>
99715         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99716         present.
99718 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99720         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99721         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99722         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99724 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99726         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99728 2006-06-26  Bruno Haible  <bruno@clisp.org>
99730         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99732 2006-06-26  Bruno Haible  <bruno@clisp.org>
99734         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99736 2006-06-26  Bruno Haible  <bruno@clisp.org>
99738         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99739         SGI C compiler in pre-C99 mode.
99740         Suggested by Mark D. Baushke and Larry Jones.
99742 2006-06-26  Bruno Haible  <bruno@clisp.org>
99744         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99745         WCHAR_MAX.
99746         Reported by Mark D. Baushke and Larry Jones.
99748 2006-06-26  Bruno Haible  <bruno@clisp.org>
99750         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99751         in pre-C99 mode.
99752         Suggested by Mark D. Baushke and Larry Jones.
99754 2006-06-23  Simon Josefsson  <jas@extundo.com>
99755             Bruno Haible  <bruno@clisp.org>
99757         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99758         Emit mostlyclean-local rule.
99759         (func_emit_tests_Makefile_am): Likewise.
99760         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99762 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99764         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99766 2006-06-23  Bruno Haible  <bruno@clisp.org>
99768         * tests/test-stdint.c: Update to match ISO C 99 Technical
99769         Corrigendum 1.
99771 2006-06-23  Bruno Haible  <bruno@clisp.org>
99773         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99775 2006-06-23  Bruno Haible  <bruno@clisp.org>
99777         * lib/stdint_.h: Treat IRIX like OpenBSD.
99779 2006-06-23  Bruno Haible  <bruno@clisp.org>
99781         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99782         ISO C 99 Technical Corrigendum 1.
99784 2006-06-22  Simon Josefsson  <jas@extundo.com>
99786         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99787         MinGW.
99789 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99791         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99792         needed.  Some compiler complained about some of them.  Problem reported
99793         by Larry Jones in
99794         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99796 2006-06-21  Simon Josefsson  <jas@extundo.com>
99798         * tests/test-getaddrinfo.c: New file.
99800         * modules/getaddrinfo-tests: New file.
99802         * MODULES.html.sh: Add inet_pton.
99804         * modules/inet_pton: New file.
99806 2006-06-21  Simon Josefsson  <jas@extundo.com>
99808         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99809         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99810         of using the (limited) gnulib implementation on Windows XP.
99812         * m4/inet_pton.m4: New file.
99814 2006-06-21  Simon Josefsson  <jas@extundo.com>
99816         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99817         variable.
99819         * lib/socket_.h: Don't define WINVER.
99821         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99822         slightly modified to work in gnulib.
99824 2006-06-21  Simon Josefsson  <jas@extundo.com>
99826         * doc/gnulib.texi (Windows sockets): Add.
99828 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99830         * lib/read-file.c (fread_file): Start with buffer allocation of
99831         0 bytes rather than 1 byte; this simplifies the code.
99832         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99833         code to free buffer and save/restore errno.
99834         (internal_read_file): Remove unused local.
99836 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99838         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99839         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99840         Problem reported by Denis Excoffier in
99841         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99843 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99845         * modules/sys_socket, modules/socklen: Include sys/types since
99846         FreeBSD 4.x's sys/socket.h needs it.
99848 2006-06-19  Simon Josefsson  <jas@extundo.com>
99850         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99852 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99854         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99856 2006-06-19  Bruno Haible  <bruno@clisp.org>
99858         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99859         and FULL_PATH_INTTYPES_H in angle brackets.
99860         Reported by Mark D. Baushke <mdb@gnu.org>.
99862 2006-06-17  Eric Blake  <ebb9@byu.net>
99864         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99865         errno.
99867 2006-06-17  Bruno Haible  <bruno@clisp.org>
99869         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99870         <sys/inttypes.h>.
99872 2006-06-17  Bruno Haible  <bruno@clisp.org>
99874         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99875         whether errno is declared. Assume <errno.h> declares errno.
99877 2006-06-17  Bruno Haible  <bruno@clisp.org>
99879         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99881 2006-06-17  Bruno Haible  <bruno@clisp.org>
99883         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99884         problem on Solaris 2.5.1.
99886 2006-06-16  Eric Blake  <ebb9@byu.net>
99888         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99889         * lib/unicodeio.c [!defined errno]: Likewise.
99890         * lib/strtol.c [!defined errno]: Likewise.
99891         * lib/strtod.c [!defined errno]: Likewise.
99893 2006-06-15  Eric Blake  <ebb9@byu.net>
99895         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99897 2006-06-15  Eric Blake  <ebb9@byu.net>
99899         * config/srclist.txt (ssize_t.m4): Lose sync.
99901 2006-06-15  Bruno Haible  <bruno@clisp.org>
99903         * modules/stdint (Files): Include m4/full-header-path.m4,
99904         m4/size_max.m4, m4/wchar_t.m4.
99905         (Makefile.am): Many more substitutions.
99906         * modules/stdint-tests: New file.
99907         * tests/test-stdint.c: New file.
99909 2006-06-15  Bruno Haible  <bruno@clisp.org>
99911         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99912         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99913         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99914         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99915         gl_CHECK_TYPE_SAME): New macros.
99917 2006-06-15  Bruno Haible  <bruno@clisp.org>
99919         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99921 2006-06-15  Bruno Haible  <bruno@clisp.org>
99923         * lib/stdint_.h: Rewritten to be fully auto-configured.
99924         Fixes bug on HP-UX/IA64.
99926 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99928         * lib/getdate.y (__attribute__): Don't define if already defined.
99929         Problem reported by Larry Jones.
99930         * lib/utimens.c (__attribute__): Likewise.
99932 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99934         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99935         reported by Andreas Schwab.
99937 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99938             Bruno Haible  <bruno@clisp.org>
99940         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99941         check for the declaration of strnlen and a run test that exposes the
99942         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99943         rpl_strndup.
99945 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99946             Bruno Haible  <bruno@clisp.org>
99948         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99950 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99952         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99953         compile test, for Tru64 4.0D.
99955 2006-05-28  Karl Berry  <karl@gnu.org>
99957         * config/srclist.txt (printf-args.c): lose sync.
99959 2006-05-26  Martin Lambers  <marlam@marlam.de>
99961         * lib/getpass.c: Updates the test for the native W32 API, and adds
99962         missing includes, thus fixing compilation warnings.
99964 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99966         * lib/exclude.c (exclude_fnmatch): New function.
99967         (excluded_file_name): Call exclude_fnmatch.
99968         * lib/exclude.h (excluded_file_name): New prototype
99970 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99972         * lib/tempname.c (small_open, large_open): New macros.
99973         (__open, __open64) [!_LIBC]: Remove.
99974         (__gen_tempname): Use small_open and large_open instead of __open
99975         and __open64.  This fixes a portability bug on HP-UX 11.11i
99976         reported by Simon Wing-Tang in
99977         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99979 2006-05-24  Bruno Haible  <bruno@clisp.org>
99981         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99982         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99983         Reported by Thorsten Maerz <torte@netztorte.de> via
99984         Aaron Stone <aaron@serendipity.cx>.
99986 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99989         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99990         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99991         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99992         not really conditional on the cache.
99993         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99995 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99997         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99998         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99999         (my_usleep): Don't mishandle maximum value.
100001 2006-05-19  Jim Meyering  <jim@meyering.net>
100003         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
100005 2006-05-17  Bruno Haible  <bruno@clisp.org>
100007         Cygwin portability.
100008         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
100010 2006-05-17  Bruno Haible  <bruno@clisp.org>
100012         * lib/stdint_.h: Fix recognition of Cygwin.
100014 2006-05-15  Bruno Haible  <bruno@clisp.org>
100016         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
100017         on libtool patch by Ralf Wildenhues.
100019 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100021         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
100022         test for C99 conformance; (bool) 0.5 is an integer constant
100023         expression, but (bool) -0.5 is not.  Problem reported by Fedor
100024         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
100026 2006-05-11  Simon Josefsson  <jas@extundo.com>
100028         * m4/xvasprintf.m4: Fix obvious typo.
100030 2006-05-11  Jim Meyering  <jim@meyering.net>
100032         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
100033         James Lemley.
100035 2006-05-10  Simon Josefsson  <jas@extundo.com>
100037         * lib/md4.c: Typo fix, update copyright years.
100038         (K1, K2): Don't use L because it turn computations into 64-bit on
100039         64-bit platforms.
100041 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
100043         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
100044         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
100045         unwanted sign propagation, e.g., on hosts with 64-bit int.
100046         There still are some problems with reeelly weird theoretical hosts
100047         (e.g., 33-bit int) but it's not worth worrying about now.
100048         * lib/sha1.c (rol): Likewise.
100049         (K1, K2, K3, K4): Remove unnecessary L suffix.
100051 2006-05-10  Bruno Haible  <bruno@clisp.org>
100053         * lib/des.c: Cast to avoid warnings.
100055 2006-05-09  Bruno Haible  <bruno@clisp.org>
100057         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
100058         (Depends-on): Depend also on xsize, stdarg.
100059         (configure.ac): Add gl_XVASPRINTF.
100061 2006-05-09  Bruno Haible  <bruno@clisp.org>
100063         * m4/xvasprintf.m4: New file.
100065 2006-05-09  Bruno Haible  <bruno@clisp.org>
100067         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
100068         (EOVERFLOW): Define fallback value.
100069         (xstrcat): New function.
100070         (xvasprintf): Recognize the special case of a string concatenation.
100072 2006-05-08  Eric Blake  <ebb9@byu.net>
100074         * gnulib-tool (func_version): Base copyright year on CVS date.
100075         (func_emit_copyright_notice): New function.
100076         (func_emit_lib_Makefile_am): Use it.
100077         (func_emit_tests_Makefile_am): Likewise.
100078         (func_import): Likewise.
100080 2006-05-08  Bruno Haible  <bruno@clisp.org>
100082         * modules/stdarg: New file.
100083         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
100085 2006-05-08  Bruno Haible  <bruno@clisp.org>
100087         * m4/stdarg.m4: New file, from GNU gettext.
100089 2006-05-08  Bruno Haible  <bruno@clisp.org>
100091         * config/srclist.txt (build-aux/config.rpath): different from latest
100092         release.
100094 2006-05-08  Bruno Haible  <bruno@clisp.org>
100096         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
100098 2006-05-05  Jim Meyering  <jim@meyering.net>
100100         * m4/warning.m4: New file, derived from bison's file by the same name.
100102 2006-05-03  Bruno Haible  <bruno@clisp.org>
100104         * lib/stdint_.h: Shorter URL.
100105         * lib/inttypes.h: Likewise.
100107 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100109         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
100111 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100113         * lib/verify.h: Document the internals better.  Most of this change
100114         was written by Bruno Haible.
100116 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100118         * doc/verify.texi: New file, partly based on a proposal by
100119         Bruno Haible.
100121 2006-05-02  Bruno Haible  <bruno@clisp.org>
100123         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
100124         test from here...
100125         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
100127 2006-04-29  Bruno Haible  <bruno@clisp.org>
100129         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
100130         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
100132 2006-04-29  Bruno Haible  <bruno@clisp.org>
100134         * gnulib-tool: Make --update option actually work.
100136 2006-04-29  Bruno Haible  <bruno@clisp.org>
100138         * doc/gcd.texi: New file.
100139         * doc/gnulib.texi: Include it.
100141 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
100143         * lib/getdate.y (get_date): When adding relative date, start with the
100144         initial time, not with the result of the first mktime call.
100146 2006-04-25  Bruno Haible  <bruno@clisp.org>
100148         * gnulib-tool (func_import): Output the include directives in three
100149         blocks, sorted separately.
100150         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100152 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100154         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
100155         to define main with arguments, for C++.  Reported by Eric Blake.
100156         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
100157         Prefer 'int main ()' to 'int main (void)', for C++.
100158         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
100159         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
100160         for 'main', for C99 and C++.
100162 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100164         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
100165         Don't assume that exit status -1 is valid.
100166         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100167         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
100168         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
100169         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
100170         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
100171         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
100172         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
100173         functions can be used without declaring them, or that you can
100174         exit with status -1.
100175         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
100177 2006-04-24  Karl Berry  <karl@gnu.org>
100179         * config/srclist.txt (longdouble.m4): sync lost.
100181 2006-04-24  Eric Blake  <ebb9@byu.net>
100183         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
100185 2006-04-24  Bruno Haible  <bruno@clisp.org>
100187         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
100188         poll() implementation in AIX.
100189         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100191 2006-04-24  Bruno Haible  <bruno@clisp.org>
100193         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
100194         assigned exactly once.
100196 2006-04-23  Claudio Fontana  <claudio@gnu.org>
100197             Bruno Haible  <bruno@clisp.org>
100199         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
100200         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
100201         for AM_CPPFLAGS.
100203 2006-04-23  Bruno Haible  <bruno@clisp.org>
100205         * modules/copy-file: Depend on unistd.
100206         * modules/execute: Likewise.
100207         * modules/fatal-signal: Likewise.
100208         * modules/findprog: Likewise.
100209         * modules/mkdtemp : Likewise.
100210         * modules/pipe: Likewise.
100211         * modules/wait-process: Likewise.
100213 2006-04-23  Bruno Haible  <bruno@clisp.org>
100215         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
100216         condition was already detected.
100217         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100219 2006-04-23  Bruno Haible  <bruno@clisp.org>
100221         * lib/copy-file.c: Include <unistd.h> unconditionally.
100222         * lib/execute.c: Likewise.
100223         * lib/fatal-signal.c: Likewise.
100224         * lib/findprog.c: Likewise.
100225         * lib/mkdtemp.c: Likewise.
100226         * lib/pipe.h: Likewise.
100227         * lib/pipe.c: Likewise.
100228         * lib/wait-process.h: Likewise.
100230 2006-04-23  Bruno Haible  <bruno@clisp.org>
100232         * gnulib-tool (func_usage): Fix --import description. Document
100233         --update.
100234         (func_import): Create temporary file in a temporary directory, if
100235         --dry-run is specified. Silence errors from 'grep' when there are no
100236         m4 files in $m4dir.
100237         (func_create_testdir): Silence errors from 'grep' when there are no
100238         m4 files in $m4dir.
100239         Reported by Karl Berry <karl@freefriends.org>.
100241 2006-04-20  Bruno Haible  <bruno@clisp.org>
100243         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
100244         one argument, so that the code will be portable to Autoconf 2.60.
100245         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
100246         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
100247         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
100249 2006-04-19  Derek Price  <derek@ximbiot.com>
100250             Eric Blake  <ebb9@byu.net>
100252         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
100253         rather than "/full/path.h".  Update comment to match.  Shorten &
100254         generalize m4_translit call via AS_TR_CPP.
100256 2006-04-19  Derek Price  <derek@ximbiot.com>
100257             Eric Blake  <ebb9@byu.net>
100259         * lib/inttypes.h: Correct grammar in comment.
100261 2006-04-18  Derek Price  <derek@ximbiot.com>
100262             Paul Eggert  <eggert@cs.ucla.edu>
100264         * modules/inttypes: New file.
100265         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
100267 2006-04-18  Derek Price  <derek@ximbiot.com>
100268             Paul Eggert  <eggert@cs.ucla.edu>
100270         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
100271         New files.
100273 2006-04-18  Derek Price  <derek@ximbiot.com>
100274             Paul Eggert  <eggert@cs.ucla.edu>
100276         * lib/inttypes.h: New file.
100277         * lib/strtoimax.c: Assume <inttypes.h>.
100279 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
100281         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
100282         isn't mounted.  Problem reported by Kir Kolyshkin.
100284 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
100286         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
100287         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
100288         Derek R. Price.
100289         * lib/regex.h (RE_DUP_MAX): Update comment to match current
100290         implementation.
100292 2006-04-12  Eric Blake  <ebb9@byu.net>
100294         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
100295         is now done automatically by the corresponding Autoconf macro.
100297 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
100299         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
100300         time_r.h.
100302 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100304         Merge regex changes from libc, removing some of our
100305         POSIX-conformance changes that were rejected and redoing them in a
100306         less-intrusive way.
100308         * lib/regcomp.c (re_compile_internal, init_dfa):
100309         Length arg is now size_t, not Idx.  All uses changed.
100310         (peek_token): Forward decl now says internal_function.
100311         (__re_error_msgid, __re_error_msgid_idx):
100312         Now static rather than extern with attribute_hidden.
100313         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
100314         For some reason libc prefers K&R style defns for external functions.
100315         (regerror) [!defined _LIBC]: Likewise.
100316         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
100317         (seek_collating_symbol_entry, lookup_collation_sequence_value):
100318         (build_range_exp, build_collating_symbol):
100319         Use K&R-style defn.
100320         (re_compile_fastmap): Use '\0' to memset, not 0.
100321         (utf8_sb_map): Make the calculations more obvious.
100322         (init_dfa, parse_bracket_exp, build_charclass_op):
100323         Call calloc and cast result, as glibc does.
100324         (init_word_char, fetch_token, peek_token, peek_token_bracket):
100325         (build_range_exp, build_collating_symbol):
100326         Now internal functions.
100328         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
100330         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
100331         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
100332         Don't depend on VMS; depend on __VMS instead, for POSIX
100333         namespace cleanness.
100334         (regoff_t): Define to ssize_t, not long int.
100336         Remove the REG_ macros named below.  Instead, make the old names
100337         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
100338         __USE_GNU_REGEX.
100339         (REG_BACKSLASH_ESCAPE_IN_LISTS):
100340         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
100341         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
100342         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
100343         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
100344         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
100345         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
100346         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
100347         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
100348         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
100349         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
100350         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
100351         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
100352         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
100353         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
100354         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
100355         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
100356         (REG_NREGS):
100357         Remove.  All uses replaced by the old RE_* names.
100358         (RE_BACKSLASH_ESCAPE_IN_LISTS):
100359         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
100360         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
100361         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
100362         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
100363         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
100364         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
100365         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
100366         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
100367         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
100368         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
100369         Don't bother having these macros be independent of each others'
100370         values, since they no longer exist in the POSIX name space.
100372         Rename the following member names back to their old names,
100373         unless !__USE_GNU_REGEX.  All uses changed back.
100374         (buffer): Renamed from re_buffer.
100375         (allocated): Renamed from re_allocated.
100376         (used): Renamed from re_used.
100377         (syntax): Renamed from re_syntax.
100378         (fastmap): Renamed from re_fastmap.
100379         (translate): Renamed from re_translate.
100380         (can_be_null): Renamed from re_can_be_null.
100381         (regs_allocated): Renamed from re_regs_allocated.
100382         (fastmap_accurate): Renamed from re_fastmap_accurate.
100383         (no_sub): Renamed from re_no_sub.
100384         (not_bol): Renamed from re_not_bol.
100385         (not_eol): Renamed from re_not_eol.
100386         (newline_anchor): Renamed from re_newline_anchor.
100387         (num_regs): Renamed from rm_num_regs.
100388         (start): Renamed from rm_start.
100389         (end): Renamed from rm_end.
100391         (free_state): Move up a bit.
100393         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
100394         #define to be empty.
100395         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
100396         when that is what is intended.
100397         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
100398         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
100399         (MAX): New macro.
100400         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
100401         All uses changed back to re_malloc, etc.  It's now the caller's
100402         responsibility to check for overflow; all callers changed.
100403         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
100404         (re_x2nrealloc): Remove.
100405         (free_state): Remove decl.
100407         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
100408         (re_set_registers, re_exec):
100409         Use K&R-style defn.
100411         2006-01-31  Roland McGrath  <roland@redhat.com>
100413         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
100414         Reported by Mike Frysinger <vapier@gentoo.org>.
100416         2006-01-15  Andreas Jaeger  <aj@suse.de>
100418         [BZ #1950]
100419         * lib/regex_internal.c (re_string_reconstruct): Adjust for
100420         build_wcs_upper_buffer change.
100421         (build_wcs_upper_buffer): Change return type.
100423         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
100425         * lib/regex_internal.h: Include <stdint.h> if available.
100427         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
100429         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
100431         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
100433         * lib/regcomp.c: Adjust for changed secondary hash function.
100435         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
100437         * lib/regex.h: Pretty printing.
100438         Clean up namespace a bit.
100440         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
100442         * lib/regexec.c (update_cur_sifted_state, check_arrival,
100443         check_arrival_add_next_nodes): Avoid using uninitialized variable.
100445         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100446                     Ulrich Drepper  <drepper@redhat.com>
100448         [BZ #1302]
100449         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
100450         changed.
100451         (bitset_word_t): Renamed from bitset_word.  All uses changed.
100453         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
100455         [BZ #281]
100456         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
100457         * lib/regcomp.c: Remove unnecessary uses of
100458         unsigned RE_TRANSLATE_TYPE.
100459         * lib/regex_internal.h: Likewise.
100460         * lib/regex_internal.c: Likewise.
100461         * lib/regexec.c: Likewise.
100462         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
100464         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
100466         * lib/regexec.c (find_recover_state): Remove unnecessary
100467         initialization.
100468         (transit_state_bkref): Make DFA a const pointer.
100469         (get_subexp): Likewise.
100470         (check_arrival): Likewise.
100471         (update_cur_sifted_state): Likewise.
100472         (re_search_internal): Likewise.
100473         (prune_impossible_nodes): Likewise.
100474         (acquire_init_state_context): Likewise.
100475         (proceed_next_node): Likewise.
100476         (set_regs): Likewise.
100477         (free_fail_stack_return): Likewise.
100478         (check_arrival_expand_ecl): Mark DFA parameter as const.
100479         (check_arrival_expand_ecl_sub): Likewise.
100480         (check_subexp_limits): Likewise.
100481         (sub_epsilon_src_nodes):  Likewise.
100482         (add_epsilon_src_nodes):  Likewise.
100483         (merge_state_array): Likewise.
100484         (update_regs): Likewise.
100485         (build_trtable): Likewise.
100486         (sift_states_backward): Mark MCTX parameter as const.
100487         (build_sifted_states): Likewise.
100488         (update_cur_sifted_state): Likewise.
100489         (sift_states_mkref): Likewise.
100490         (check_arrival_expand_ecl): Mark eclosure as const.
100491         (check_dst_limits_calc_pos_1): Likewise.
100492         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100493         pointer.
100495         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100497         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100498         (transit_state_sb): Likewise.
100499         (transit_state_mb): Likewise.
100500         (sift_states_iter_mb): Likewise.
100501         (check_arrival_add_next_nodes): Likewise.
100502         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100503         [_LIBC] (re_search_2_stub): Use mempcpy.
100505         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100506         mbrtowc for very simple UTF-8 case.
100508         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100509         a pointer-to-const.
100510         (re_acquire_state_context): Likewise.
100511         * lib/regex_internal.h: Adjust prototypes.
100513         * lib/regex.c: Prevent using C++ compilers.
100515         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100516         (re_acquire_state_context): Likewise.
100518 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100520         * modules/regex (Depends-on): Add ssize_t.
100522 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100524         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100525         translation table.
100527 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100529         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100531 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100532             Bruno Haible  <bruno@clisp.org>
100534         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100535         <sys/types.h> and <inttypes.h>.
100537 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100539         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100540         `__error_t_defined', so argp.h will not typedef the former.
100542 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100544         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100545         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100546         glibc names.  Even if glibc is changed to conform to POSIX, the
100547         traditional names will be available anyway, since regex depends on
100548         the extensions module.  Also, fix a longstanding typo in the
100549         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100550         reported by Emanuele Giaquinta.  Also, change sense of cached
100551         variable, so that the message makes sense.
100553 2006-03-24  Simon Josefsson  <jas@extundo.com>
100555         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100556         including some doc fixes.
100557         (base64_encode_alloc): Fix +1 bug on allocation failures.
100559 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100561         * lib/base64.c (base64_encode): Do not read past end of array with
100562         unsanitized input on systems with CHAR_BIT > 8.
100564 2006-03-24  Eric Blake  <ebb9@byu.net>
100566         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100568 2006-03-22  Karl Berry  <karl@gnu.org>
100570         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100571         * config/srclistvars.sh (COREUTILS): new var.
100573 2006-03-17  Jim Meyering  <jim@meyering.net>
100575         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100576         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100578 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100580         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100581         no longer needs it.  Instead, check that regoff_t is as least
100582         as wide as ptrdiff_t.
100584         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100585         so that our regex.h stays compatible with the installed regex.
100586         This is helpful for installers who configure --without-included-regex.
100587         Problem reported by Emanuele Giaquinta.
100589 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100591         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100592         Typedef to long int, not to off_, as POSIX will likely change
100593         in that direction.
100595 2006-03-15  Eric Blake  <ebb9@byu.net>
100597         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100599 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100601         * lib/argp-help.c (validate_uparams): Fix typo
100602         * lib/argp-parse.c (argp_default_options): Consistently begin help
100603         messages with a lowercase letter.
100605 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100607         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100608         overrun buffers and shouldn't be used (much as gets shouldn't be
100609         used).
100610         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100612 2006-03-08  Simon Josefsson  <jas@extundo.com>
100614         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100615         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100617 2006-03-08  Simon Josefsson  <jas@extundo.com>
100619         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100620         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100622 2006-03-08  Simon Josefsson  <jas@extundo.com>
100624         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100625         signal that configure disabled the device.
100627 2006-03-08  Simon Josefsson  <jas@extundo.com>
100629         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100630         languages.
100632 2006-03-07  Simon Josefsson  <jas@extundo.com>
100634         * modules/getopt (Depends-on): Add unistd.
100636         * modules/unistd: New file.
100638 2006-03-07  Simon Josefsson  <jas@extundo.com>
100640         * modules/gc-random: New file.
100642 2006-03-07  Simon Josefsson  <jas@extundo.com>
100644         * m4/unistd_h.m4: New file.
100646 2006-03-07  Simon Josefsson  <jas@extundo.com>
100648         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100649         test to be side-effect free by storing the result in the cache
100650         variable gl_cv_lib_readline, and moving the assignment of
100651         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100652         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100654 2006-03-07  Simon Josefsson  <jas@extundo.com>
100656         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100657         error on missing devices (the functions will return an error).
100659         * m4/gc.m4: Move random stuff to gc-random.m4
100661 2006-03-07  Simon Josefsson  <jas@extundo.com>
100663         * lib/unistd_.h: New file.
100665 2006-03-07  Simon Josefsson  <jas@extundo.com>
100667         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100669 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100671         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100672         Problem reported by Juan Manuel Guerrero.
100674 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100676         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100677         the unistd module.
100678         * lib/getlogin_r.c: Likewise.
100679         * lib/getlogin_r.h: Likewise.
100680         * lib/glob.c: Likewise.
100681         * lib/pagealign_alloc.c: Likewise.
100682         * lib/unistd_.h: Remove; no longer needed.
100684 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100686         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100687         Add unistd.
100688         * modules/c-stack (Depends-on): Add unistd.
100689         * modules/getlogin_r: Likewise.
100690         * modules/glob: Likewise.
100691         * modules/pagealign_alloc: Likewise.
100692         * modules/unistd (Files): Remove lib/unistd_.h.
100693         (EXTRA_DIST): Remove.
100694         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100695         need unistd_.h.
100696         (MOSTLYCLEANFILES): Remove unistd.h-t.
100698 2006-03-03  Simon Josefsson  <jas@extundo.com>
100700         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100702 2006-03-03  Simon Josefsson  <jas@extundo.com>
100704         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100705         libidn and bison.
100707 2006-03-03  Simon Josefsson  <jas@extundo.com>
100709         * build-aux/maint.mk: Add indent target.
100711 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100713         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100714         our replacement poll.h in any case, to avoid a differing
100715         declaration from a system header.  Seen on AIX.
100717 2006-03-01  Simon Josefsson  <jas@extundo.com>
100719         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100720         <kasal@ucw.cz>.
100722 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100724         * modules/gettime (Depends-on): Add extensions module.
100725         * modules/nanosleep (Depends-on): Likewise.
100726         * modules/settime (Depends-on): Likewise.
100728 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100730         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100731         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100732         pedantically.
100733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100734         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100736         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100737         not "==".  Reported by Ralf Wildenhues.
100739 2006-03-01  Karl Berry  <karl@gnu.org>
100741         * doc/Copyright/request-*: new files, synced from gnuorg.
100743 2006-03-01  Karl Berry  <karl@gnu.org>
100745         * config/srclist.txt (Copyright/*): new entries.
100747 2006-02-28  Simon Josefsson  <jas@extundo.com>
100749         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100751 2006-02-27  Simon Josefsson  <jas@extundo.com>
100753         * lib/base64.h: Indent #define's.  From Jim Meyering
100754         <jim@meyering.net>.
100756 2006-02-27  Jim Meyering  <jim@meyering.net>
100758         Revert the change of 2006-02-24, so these files can continue
100759         to be sync'd from gettext.
100760         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100761         of `config.h'.
100763 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100765         * modules/intprops: New file.
100766         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100767         Add intprops.
100768         * modules/getloadavg (Files): Remove lib/intprops.h.
100769         (Depends-on): Add intprops.
100770         * modules/human: Likewise.
100771         * modules/inttostr: Likewise.
100772         * modules/openat: Likewise.
100773         * modules/sig2str: Likewise.
100774         * modules/userspec: Likewise.
100775         * modules/utimecmp: Likewise.
100776         * modules/xnanosleep: Likewise.
100777         * modules/xstrtol: Likewise.
100779 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100781         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100782         * modules/lock-tests (TESTS): Use $(EXEEXT).
100783         * modules/tls-tests: Likewise.
100784         * modules/argp-tests: Likewise.
100785         (check_PROGRAMS): New var, replacing...
100786         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100788 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100790         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100791         `config.h'.
100793 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100795         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100797 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100799         Sync from coreutils.
100800         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100801         gl_CHDIR_SAFER.
100803 2006-02-22  Jim Meyering  <jim@meyering.net>
100805         Sync from coreutils.
100806         * m4/chdir-safer.m4: New file.
100808 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100810         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100811         AT_FDCWD exceeds INT_MAX.
100812         * lib/openat.h (AT_FDCWD): Likewise.
100814 2006-02-17  Eric Blake  <address@hidden>
100816         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100818 2006-02-16  Simon Josefsson  <jas@extundo.com>
100820         * modules/getaddrinfo (Depends-on): Add sys_socket.
100822 2006-02-15  Simon Josefsson  <jas@extundo.com>
100824         * build-aux/maint.mk: Add dsyntax-check rule.
100826 2006-02-15  Eric Blake  <ebb9@byu.net>
100828         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100829         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100830         'present but cannot compile' warnings on cygwin.
100831         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100832         use ws2tcpip.h if sys/socket.h works.
100833         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100834         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100836 2006-02-14  Simon Josefsson  <jas@extundo.com>
100838         * modules/maintainer-makefile (Files): Rename.
100840         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100841         and (the local) Makefile.cfg to maint-cfg.mk.
100843         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100844         to the latter.
100846         * modules/maintainer-makefile: New module.
100848         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100849         severaly stripped to make it possible to build it up from scratch
100850         with reliable tests.
100852         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100853         fixes to permit overriding the default actions when configure and
100854         makefile are not available.
100856 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100858         Sync from coreutils.
100859         * modules/lstat (Depends-on): Don't depend on xalloc.
100860         (License): Change from GPL to LGPL, since this is now simply a
100861         replacement for a libc function.
100863 2006-02-14  Jim Meyering  <jim@meyering.net>
100865         Sync from coreutils.
100867         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100868         failure on deficient systems, and simplify gnulib lgpl dependencies.
100869         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100870         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100872         * lib/xalloc-die.c: Remove unused definition of N_.
100874 2006-02-14  Jim Meyering  <jim@meyering.net>
100876         Sync from coreutils.
100877         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100878         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100879         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100880         double-quote uses of that variable, to accommodate the rare case in
100881         which getmntent is available in none of the libraries checked.  This
100882         happens at least on FreeBSD 5.0.
100884 2006-02-13  Simon Josefsson  <jas@extundo.com>
100886         * gnulib-tool (Usage): Fix --import, from
100887         karl@freefriends.org (Karl Berry).
100889 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100891         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100893 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100895         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100896         "autoupdate" on 2005-12-12.
100898 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100900         * modules/closeout (Depends-on): Remove atexit.
100902 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100904         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100905         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100907 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100909         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100910         __EXTENSIONS__ if this causes compilation to fail.  Problem
100911         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100912         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100914 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100916         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100917         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100918         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100919         All uses changed.
100921 2006-01-26  Simon Josefsson  <jas@extundo.com>
100923         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100924         prototype is visible on mingw32.
100926         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100927         for mingw32.
100929         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100930         mingw32).
100932 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100934         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100935         attempt to open for write; this always fails, at least on POSIX
100936         hosts.  This reinstates the 2006-01-09 change, which was
100937         inadvertently removed.
100939 2006-01-26  Bruno Haible  <bruno@clisp.org>
100941         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100942         Reported by Paul Eggert.
100944 2006-01-26  Bruno Haible  <bruno@clisp.org>
100945             Paul Eggert  <eggert@cs.ucla.edu>
100947         * lib/stdbool_.h (_Bool)
100948         [(! (defined __cplusplus || defined __BEOS__)
100949           && !defined __GNUC__
100950           && !(defined __HP_cc || defined __xlc__
100951                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100952                || defined __sgi))]:
100953         #define to signed char in these cases too; this simplifies
100954         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100955         etc., separately) and makes it more conservative.
100957 2006-01-25  Simon Josefsson  <jas@extundo.com>
100959         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100960         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100961         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100963 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100965         * lib/argp-namefrob.h: Bugfix. Remove stray #
100967 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100969         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100970         so that we test the test.
100971         Check for yet another HP-UX cc bug involving *bool |= bool.
100973 2006-01-25  Karl Berry  <karl@gnu.org>
100975         * config/srclist.txt (vasnprintf.c): sync lost.
100977 2006-01-25  Jim Meyering  <jim@meyering.net>
100979         Sync from the stable (b5) branch of coreutils:
100981         * lib/fts.c (fts_children): Don't let close() clobber errno from
100982         failed fchdir().
100984         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100985         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100986         a dangling symlink.  That can also happen at least for ELOOP.
100987         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100988         FYI, this bug predates the inclusion of fts.c in coreutils.
100990         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100991         in their own block, so pre-c99 compilers don't object.
100993         Avoid the double-free (first in fts_read, second in fts_close) that
100994         would occur when an `active' directory is made inaccessible (e.g.,
100995         via chmod a-x) during a traversal.
100996         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100997         before returning.  Reproduce this failure by
100998         mkdir -p a/b; cd a; chmod a-x . b
100999         Reported by Stavros Passas.
101001 2006-01-25  Jim Meyering  <jim@meyering.net>
101003         * lib/fileblocks.c: Remove more useless parentheses.
101004         * lib/readutmp.h: Likewise.
101006 2006-01-25  Bruno Haible  <bruno@clisp.org>
101008         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
101009         warnings.
101010         Reported by Paul Eggert.
101012 2006-01-25  Bruno Haible  <bruno@clisp.org>
101014         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
101015         rid of a trap command. For Solaris sh.
101016         Reported by Mark D. Baushke <mdb@gnu.org>.
101018 2006-01-24  Simon Josefsson  <jas@extundo.com>
101020         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
101021         Bruno.
101023 2006-01-24  Karl Berry  <karl@gnu.org>
101025         * config/srclist.txt (argp-namefrob.h): sync lost.
101027 2006-01-24  Jim Meyering  <jim@meyering.net>
101029         * modules/openat (Files): Add lib/intprops.h.
101030         From Mark D. Baushke.
101032 2006-01-24  Jim Meyering  <jim@meyering.net>
101034         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
101035         Reported by Mark D. Baushke.
101037 2006-01-24  Jim Meyering  <jim@meyering.net>
101039         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
101041 2006-01-24  Bruno Haible  <bruno@clisp.org>
101043         * modules/strnlen (Maintainer): Change from glibc to all.
101045 2006-01-24  Bruno Haible  <bruno@clisp.org>
101047         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
101048         Patch by Paul Eggert.
101050 2006-01-24  Bruno Haible  <bruno@clisp.org>
101052         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
101053         already has it.
101054         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
101055         2005-11-26.
101057         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
101058         'signed char' to avoid problems with the built-in _Bool type.
101059         Reported by Paul Eggert on 2005-11-26.
101061 2006-01-24  Bruno Haible  <bruno@clisp.org>
101063         * gnulib-tool (func_import): Avoid constructing complicated sed
101064         expressions inside backquote.
101065         Report and solution by Mark D. Baushke <mdb@gnu.org>.
101067 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
101069         These changes imported from libc.
101070         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
101071         test and two separate function calls.
101072         * lib/strndup.c (__strndup): Add libc_hidden_def.
101074 2006-01-23  Simon Josefsson  <jas@extundo.com>
101076         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
101077         Remove the test_*_SOURCES variable: automake infers it by default.
101078         * modules/tls-tests: Likewise.
101080 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101082         Work around porting bugs reported by Dieter in
101083         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
101084         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
101085         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
101086         Include "getopt.h" first, to check interface.
101087         (getenv): Declare only if defined HAVE_DECL_GETENV &&
101088         !HAVE_DECL_GETENV.
101089         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
101090         (__strndup): Revert to K&R-style function dfns, the glibc style.
101091         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
101092         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
101093         Include strnlen.h first, to get prototype properly.
101094         (strnlen): Renamed from __strnlen.
101095         Remove weak alias.
101097 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101099         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
101101 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101103         * config/srclist.txt: Adjust to reflect glibc reorganization.
101104         This affects only comments.
101106 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101108          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
101109          Reported by Bruce Korb <bkorb@gnu.org>.
101111 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
101113         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
101114         to pacify gcc -Wswitch-default.
101116 2006-01-22  Bruno Haible  <bruno@clisp.org>
101118         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
101119         temporary buffer for sprintf, take into account the precision also
101120         for 'd', 'i', 'u', 'o', 'x', 'X'.
101122 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101124         * modules/argp-tests: New module
101125         * tests/test-argp.c: New file
101126         * tests/test-argp-2.sh: New file
101128 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101130         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
101131         (__argp_base_name): Removed
101132         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
101133         typo.
101134         (__argp_base_name): Provide macro definition or extern declaration
101135         depending on the configuration
101137 2006-01-20  Simon Josefsson  <jas@extundo.com>
101139         * modules/inet_ntop (Depends-on): Depend on sys_socket.
101141 2006-01-20  Simon Josefsson  <jas@extundo.com>
101143         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
101145 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101147         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
101148         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
101149         Suggested by Bruno Haible.
101151 2006-01-20  Karl Berry  <karl@gnu.org>
101153         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
101154         until changes propagate, I guess.
101156 2006-01-19  Simon Josefsson  <jas@extundo.com>
101158         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
101160 2006-01-19  Simon Josefsson  <jas@extundo.com>
101162         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
101164 2006-01-19  Simon Josefsson  <jas@extundo.com>
101166         * gnulib-tool: Set check_PROGRAMS.
101168         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101169         modules/des-tests, modules/gc-arcfour-tests,
101170         modules/gc-arctwo-tests, modules/gc-des-tests,
101171         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101172         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101173         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101174         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101175         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101176         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
101177         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
101178         test_*_SOURCES.
101180 2006-01-18  Simon Josefsson  <jas@extundo.com>
101182         * modules/socklen (Depends-on): Depend on sys_socket.
101184 2006-01-18  Simon Josefsson  <jas@extundo.com>
101186         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101187         modules/des-tests, modules/gc-arcfour-tests,
101188         modules/gc-arctwo-tests, modules/gc-des-tests,
101189         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101190         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101191         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101192         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101193         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101194         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
101195         $(EXEEXT) to automake TESTS variable, for mingw32.
101197 2006-01-17  Simon Josefsson  <jas@extundo.com>
101199         * modules/socklen (Include): Need sys/socket.h.
101201 2006-01-17  Bruno Haible  <bruno@clisp.org>
101203         * modules/ssize_t (Include): Add <sys/types.h>.
101205 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
101207         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
101208         it's not portable and it doesn't work with cross-compiles.
101209         Problem reported by Bruno Haible.  Fix missing-$ typo in
101210         'test "gl_cv_ignore_unused_libraries" ...' that prevented
101211         -zignore from being used with Sun's C compiler.
101213 2006-01-12  Simon Josefsson  <jas@extundo.com>
101215         * lib/base64.c: Fix warning, reported by Bruno Haible
101216         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
101218 2006-01-12  Bruno Haible  <bruno@clisp.org>
101220         * modules/ldd: New file.
101221         * build-aux/ldd.sh.in: New file.
101222         * MODULES.html.sh (Support for building libraries and executables): Add
101223         ldd.
101225 2006-01-12  Bruno Haible  <bruno@clisp.org>
101227         * m4/ldd.m4: New file.
101229 2006-01-12  Bruno Haible  <bruno@clisp.org>
101231         * gnulib-tool (func_import, func_create_testdir): Don't go into an
101232         endless loop while replacing $auxdir with build-aux.
101234 2006-01-11  Simon Josefsson  <jas@extundo.com>
101236         * lib/stdint_.h (SIZE_MAX): Add missing (.
101238 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
101240         Sync from coreutils.
101241         * lib/md5.c: Fix commentary typos.
101242         (alignof, UNALIGNED_P): No need for a GCC-specific version.
101243         * lib/md5.h (__attribute__): Remove; unused.
101244         * lib/sha1.c: Fix commentary to match md5 better.
101245         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
101246         so that we don't need to worry about alignment.  All uses changed.
101247         This merges the 2005-10-28 md5 change into sha1.
101249 2006-01-11  Jim Meyering  <jim@meyering.net>
101251         Sync from coreutils.
101252         * lib/md5.c (OP): Fix spacing.
101254 2006-01-11  Bruno Haible  <bruno@clisp.org>
101256         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101257         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
101258         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
101260 2006-01-11  Bruno Haible  <bruno@clisp.org>
101262         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101263         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
101264         the "early" section as well.
101266 2006-01-11  Bruno Haible  <bruno@clisp.org>
101268         Avoid "ar: no archive members specified" error on MacOS X.
101269         * gnulib-tool (func_modules_add_dummy): New function.
101270         (func_import, func_create_testdir): Invoke it.
101272 2006-01-11  Bruno Haible  <bruno@clisp.org>
101274         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
101275         with $auxdir in AC_CONFIG_FILES statements.
101277 2006-01-11  Bruno Haible  <bruno@clisp.org>
101279         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
101280         Initialize also noinst_HEADERS to empty.
101282 2006-01-11  Bruno Haible  <bruno@clisp.org>
101284         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
101285         variables.
101286         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
101287         autoreconf.
101289 2006-01-11  Bruno Haible  <bruno@clisp.org>
101291         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
101292         overridable by the user.
101293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101295 2006-01-10  Simon Josefsson  <jas@extundo.com>
101297         * modules/sys_socket: New file.
101299 2006-01-10  Simon Josefsson  <jas@extundo.com>
101301         * m4/sys_socket_h.m4: New file.
101303 2006-01-10  Simon Josefsson  <jas@extundo.com>
101305         * lib/socket_.h: New file.
101307 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101309         * modules/readutmp (Maintainer): Add myself.
101311 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101313         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
101314         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
101315         People who are still concerned with buggy memcmp implementations
101316         can invoke gl_FUNC_MEMCMP themselves.
101318 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101320         * lib/regex_internal.h (BITSET_WORD_BITS):
101321         Work around a bug in 64-bit PGC (before version 6.1-2), where the
101322         preprocessor mishandles large unsigned values as if they were signed.
101323         Problem reported by Claudio Fontana in
101324         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
101326 2006-01-10  Jim Meyering  <jim@meyering.net>
101328         Avoid the double-free (first in fts_read, second in fts_close) that
101329         would occur when an `active' directory is made inaccessible (e.g.,
101330         via chmod a-x) during a traversal.
101331         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
101332         before returning.  Reproduce this failure by
101333         mkdir -p a/b; cd a; chmod a-x . b
101334         Reported by Stavros Passas.
101336         Sync from coreutils.
101337         * lib/sha1.c: Tweak grammar in a comment.
101339 2006-01-10  Jim Meyering  <jim@meyering.net>
101341         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
101342         Patch by Joerg Sonnenberger.
101344 2006-01-10  Bruno Haible  <bruno@clisp.org>
101346         * modules/readutmp: Depend on module free.
101347         * modules/strtok_r: Depend on module restrict.
101349 2006-01-10  Bruno Haible  <bruno@clisp.org>
101351         * modules/gettext (configure.ac): Add an invocation of
101352         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
101354 2006-01-10  Bruno Haible  <bruno@clisp.org>
101356         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
101357         Reported by Werner Lemberg <wl@gnu.org>.
101359 2006-01-10  Bruno Haible  <bruno@clisp.org>
101361         * lib/localcharset.c: Update from GNU gettext.
101363 2006-01-10  Bruno Haible  <bruno@clisp.org>
101365         * lib/argp.h (__const): Remove macro. Use const instead.
101366         * lib/argp-fmtstream.h (__const): Likewise.
101367         * lib/glob_.h (__const): Remove macro.
101368         * lib/glob-libc.h: Use const instead of __const.
101370 2006-01-10  Bruno Haible  <bruno@clisp.org>
101372         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
101373         variable.
101374         Needed to avoid an automake error regarding the 'gettext' module.
101376 2006-01-09  Simon Josefsson  <jas@extundo.com>
101378         * modules/inet_ntop (Depends-on): Add restrict.
101380 2006-01-09  Simon Josefsson  <jas@extundo.com>
101382         * modules/gc-rijndael-tests (License): Put under LGPL.
101384         * modules/gc-des-tests (License): Likewise.
101386         * modules/gc-arcfour-tests (License): Likewise.
101388         * modules/gc-arctwo-tests (License): Likewise.
101390         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
101392         * modules/gc-hmac-sha1-tests (Files): Likewise.
101394         * modules/gc-hmac-md5-tests (License): Likewise.
101396         * modules/gc-sha1-tests (License): Likewise.
101398         * modules/gc-md5-tests (License): Likewise.
101400         * modules/gc-md4-tests (License): Likewise.
101402         * modules/gc-md2-tests (License): Likewise.
101404         * modules/gc-tests (License): Likewise.
101406         * modules/des-tests (License): Likewise.
101408         * modules/md4-tests (License): Likewise.
101410         * modules/md2-tests (License): Likewise.
101412 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101414         Sync from coreutils:
101416         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
101417         * modules/lib-ignore: New file.
101418         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
101419         chdir-safer.m4, lchmod.m4.
101420         * modules/openat: Add mkdirat.c, openat-priv.h.
101422 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101424         Sync from coreutils.
101425         * m4/lib-ignore.m4: New file.
101426         * m4/lchmod.m4: New file.
101428 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101430         Sync from coreutils.
101431         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
101432         for write access: POSIX says that must fail.
101433         * lib/fts.c (diropen): Likewise.
101434         * lib/save-cwd.c (save_cwd): Likewise.
101435         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
101436         well, for minor improvements on hosts that lack O_DIRECTORY.
101437         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
101438         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
101439         Fall back on chown if open failed with EACCES.
101441         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
101442         Report an error at compile-time if only a 1-second nominal clock
101443         resolution is found.
101445         * lib/lchmod.h: New file.
101446         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
101447         (make_dir_parents): Use lchown rather than chown, and
101448         lchmod rather than chmod.
101450         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
101451         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
101452         "proc" reported by n0dalus.
101454         * lib/mountlist.c: Include <limits.h>.
101455         (dev_from_mount_options)
101456         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
101457         New function.  It no longer assumes "dev=" has the System V meaning
101458         on Linux (since it doesn't).  It also parses "dev=" more carefully.
101459         (read_file_system_list)
101460         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
101461         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
101462         dev= in that case.
101464         * lib/posixtm.h (PDS_PRE_2000): New macro.
101465         * lib/posixtm.c (year): Arg is now syntax_bits rather than
101466         allow_century.  All usages changed.  Reject dates outside the range
101467         1969-1999 if PDS_PRE_2000 is used.
101469 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101471         Sync from coreutils.
101472         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101473         (Time of day items): Mention the possibility of leap seconds.
101474         Problem reported by Dr. David Alan Gilbert.
101476 2006-01-09  Jim Meyering  <jim@meyering.net>
101478         Sync from coreutils.
101480         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101482         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101484         * lib/modechange.c (mode_compile): Reject an invalid mode string
101485         that starts with an octal digit.  From Andreas Gruenbacher.
101487         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101488         and dup to open_safer and dup_safer, respectively.
101489         (openat_permissive): Fix typo in comment.
101491         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101492         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101493         (_): Remove; no longer needed.
101494         (openat): Renamed from rpl_openat; no need for rpl_openat
101495         since openat.h renames openat for us.
101496         Replace most of the body with a call to openat_permissive,
101497         to avoid duplicate code.
101498         Port to (probably hypothetical) environments were mode_t is
101499         wider than int.
101500         (openat_permissive): Require mode arg, so that we can check
101501         types better.  Put it just after flags.  Change cwd failure
101502         indicator from pointer-to-bool to pointer-to-errno-value.
101503         All callers changed.
101504         Invoke openat_save_fail and/or openat_restore_fail if
101505         cwd_errno is null, so that openat can call us.
101506         (openat_permissive, fdopendir, fstatat, unlinkat):
101507         Simplify errno handling to avoid some duplicate code,
101508         as it's OK to set errno on success.
101509         * lib/openat.h: Revamp code so that function macros depend on
101510         __OPENAT_PREFIX only, not also on AT_FDCWD.
101511         (openat_ro): Remove.  Caller changed to use openat_permissive.
101512         (openat_permissive): Now a macro, if not a function.
101513         (openat_restore_fail, openat_save_fail): Now always functions,
101514         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101516         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101517         and openat.c.
101518         * lib/mkdirat.c: Include openat-priv.h.
101519         Remove definitions of macros defined therein.
101520         * lib/openat.c: Likewise.
101522         * lib/mkdirat.c (mkdirat): New file and function.
101523         * lib/openat.h (mkdirat): Declare.
101525         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101527         * lib/openat.h (openat_permissive): Declare.
101528         (openat_ro): Define.
101530         * lib/openat.c (EXPECTED_ERRNO): New macro.
101531         (openat_permissive): New function -- used in remove.c rewrite.
101532         (all functions): Set errno just before returning, only if there
101533         was an actual failure.
101534         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101536         Emulate openat-family functions using Linux's procfs, if possible.
101537         Idea and some code based on Ulrich Drepper's glibc changes.
101539         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101540         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101541         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101542         before falling back on save_cwd and restore_cwd.
101543         (fdopendir, fstatat, unlinkat): Likewise.
101545         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101546         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101548         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101549         as second argument to va_arg.  Otherwise, some versions of gcc
101550         warn that `if this code is reached, the program will abort'.
101552 2006-01-09  Jim Meyering  <jim@meyering.net>
101554         Sync from coreutils.
101555         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101556         Require openat-priv.h.
101558 2006-01-09  Bruno Haible  <bruno@clisp.org>
101560         * modules/strnlen (Include): Use strnlen.h.
101562 2006-01-09  Bruno Haible  <bruno@clisp.org>
101564         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101566 2006-01-09  Bruno Haible  <bruno@clisp.org>
101568         * lib/sysexit_.h (EX_OK): New macro.
101569         Suggested by Martin Lambers <marlam@marlam.de>.
101571 2006-01-09  Bruno Haible  <bruno@clisp.org>
101573         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101574         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101576 2006-01-09  Bruno Haible  <bruno@clisp.org>
101578         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101579         numbers.
101581 2006-01-09  Bruno Haible  <bruno@clisp.org>
101583         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101584         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101585         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101586         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101588 2006-01-09  Bruno Haible  <bruno@clisp.org>
101590         * build-aux/javacomp.sh.in: New file, moved from lib/.
101591         * modules/javacomp-script (Files): Update.
101592         (configure.ac): Add AC_CONFIG_FILES invocation.
101593         (EXTRA_DIST): Remove variable.
101595         * build-aux/javaexec.sh.in: New file, moved from lib/.
101596         * modules/javaexec (Files): Update.
101597         (configure.ac): Add AC_CONFIG_FILES invocation.
101598         (EXTRA_DIST): Remove javaexec.sh.in.
101600         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101601         * modules/csharpcomp-script (Files): Update.
101602         (configure.ac): Add AC_CONFIG_FILES invocation.
101603         (EXTRA_DIST): Remove variable.
101605         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101606         * modules/csharpexec (Files): Update.
101607         (configure.ac): Add AC_CONFIG_FILES invocation.
101608         (EXTRA_DIST): Remove csharpexec.sh.in.
101610 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101612         Sync from coreutils.
101614         Add POSIX ACL support
101615         * lib/acl.h (copy_acl, set_acl): Add declarations.
101616         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101617         systems other than Linux.
101618         (chmod_or_fchmod): New function: use fchmod when possible,
101619         and chmod otherwise.
101620         (file_has_acl): Add a POSIX ACL implementation, with a
101621         Linux-specific subcase.
101622         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101623         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101624         acls are unsupported.
101625         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101626         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101627         are unsupported.
101629 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101631         Sync from coreutils.
101632         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101634 2006-01-07  Bruno Haible  <bruno@clisp.org>
101636         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101637         gl_EARLY.
101639 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101641         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101642         Problem reported for Mingw by Mark Junker.
101644 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101646         * README: Gnulib normally doesn't generate a tarball.
101648 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101650         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101651         long int, not int, for nanosecond counts, so that people who are
101652         used to POSIX struct timespec won't be surprised.  Reported by Jim
101653         Meyering.
101655 2005-12-28  Bruno Haible  <bruno@clisp.org>
101657         * build-aux/config.rpath: Update from GNU gettext.
101659 2005-12-16  Jim Meyering  <jim@meyering.net>
101661         * modules/fprintftime: New module.
101662         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101664 2005-12-16  Jim Meyering  <jim@meyering.net>
101666         * m4/fprintftime.m4: New file.
101668 2005-12-16  Jim Meyering  <jim@meyering.net>
101670         * lib/fprintftime.c, lib/fprintftime.h: New files.
101672 2005-12-15  Simon Josefsson  <jas@extundo.com>
101674         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101675         new m4/socklen.m4.
101677 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101679         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101680         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101682 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101684         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101685         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101686         struct uparams is valid. Fall back to the default values if it is
101687         not.
101689 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101691         * modules/argp (Files): Add argp-pin.c
101692         (Depends-on): dirname
101693         (lib_SOURCES): Add argp-pin.c
101695 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101697         * m4/argp.m4:  Check if program_invocation_name and
101698         program_invocation_short_name are declared and define appropriate
101699         macros if they are not.
101701 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101703         * lib/argp-help.c (__argp_base_name): New function
101704         (__argp_short_program_name): Rewrite using __argp_base_name
101705         * lib/argp-namefrob.h: Define program_invocation_name and
101706         program_invocation_short_name if requested
101707         (__argp_base_name): Add prototype
101708         * lib/argp-parse.c (argp_def): Use gettext wrappers
101709         (argp_default_parser): Use __argp_base_name
101710         * lib/argp-pin.c: New file. Defines program_invocation_name and
101711         program_invocation_short_name on systems that lack them.
101713 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101715         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101716         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101717         porting problem reported by Georg Schwarz in
101718         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101720 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101722         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101723         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101724         porting problem reported by Georg Schwarz in
101725         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101727 2005-12-05  Bruno Haible  <bruno@clisp.org>
101729         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101730         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101731         Reported by Mark Junker <mjscod@gmx.de>.
101733 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101735         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101736         Use implementation from Albert Chin, with some
101737         comments/corrections by Stepan Kasal and myself.
101739 2005-12-02  Bruno Haible  <bruno@clisp.org>
101741         * gnulib-tool (func_import): Accept GPLed build tool modules when
101742         --lgpl is given.
101743         * modules/csharpcomp-script: New file.
101744         * modules/csharpcomp: Depend on it.
101745         * modules/javacomp-script: New file.
101746         * modules/javacomp: Depend on it.
101747         Suggested by Simon Josefsson.
101749 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101751         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101752         statement, to work around an HP-UX 10.20 compiler bug reported by
101753         Peter O'Gorman.
101755 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101757         * modules/savedir (Depends-on): Add openat.
101759 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101761         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101762         (uintmax_t) [defined uintmax_t]: Do not declare.
101763         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101764         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101765         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101766         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101767         sake of portability to weird hosts that C allows (though we don't
101768         know of any practical examples).
101770         * lib/savedir.h (fdsavedir): New decl.
101771         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101772         contains most of the former guts of savedir.
101773         (savedir): Use savedirstream.
101774         Include "openat.h".
101776 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101778         * modules/obstack (Files): Add m4/ulonglong.m4.
101779         Problem reported by Davide Angelocola.
101781 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101783         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101784         coreutils no longer futzes with rounding modes.
101786 2005-11-14  Jim Meyering  <jim@meyering.net>
101788         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101789         replacement of mkstemp.
101791 2005-11-10  Simon Josefsson  <jas@extundo.com>
101793         * lib/readline.c: Remove EOL.
101795 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101797         * modules/gethrxtime (Depends-on): Add gettime.
101799 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101801         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101802         or gettimeofday; no longer needed.
101804 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101806         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101807         time business.
101808         (gethrxtime) [! (HAVE_NANOUPTIME
101809         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101810         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101811         our own approximation.
101813 2005-11-08  Eric Blake  <ebb9@byu.net>
101815         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101817 2005-11-08  Eric Blake  <ebb9@byu.net>
101819         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101821 2005-11-04  Bruno Haible  <bruno@clisp.org>
101823         * gnulib-tool: Implement --update mode.
101825 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101827         Fix porting problem reported by Theodoros V. Kalamatianos.
101828         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101829         Don't assume that futimes failing means we must fail.
101831 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101833         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101834         variables to suggest the intended function of the PATH_MAX check.
101836 2005-10-30  Kean Johnston  <jkj@sco.com>
101838         Trivial changes to support SCO systems.
101839         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101840         as PATH_MAX.
101841         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101842         where __ptr is null when no I/O is pending.
101844 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101846         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101847         leave errno alone.  Problem reported by Dmitry V. Levin.
101849 2005-10-28  Simon Josefsson  <jas@extundo.com>
101851         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101852         Test more.
101854         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101856         * modules/md2, modules/md2-tests: New files.
101858 2005-10-28  Simon Josefsson  <jas@extundo.com>
101860         * m4/inet_ntop.m4: More tests.
101862         * m4/gc-md2.m4, md2.m4: New file.
101864 2005-10-28  Simon Josefsson  <jas@extundo.com>
101866         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101867         "restrict" keywords, as per POSIX.  Protect the function
101868         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101869         Don't use K&R prototypes.  Check the sprintf return values.
101870         Re-define EAFNOSUPPORT if not present.  Indent.
101872         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101873         suggested by Bruno Haible <bruno@clisp.org>.
101875         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101877         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101879         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101880         libgcrypt).
101882         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101884         * lib/md2.h, lib/md2.c: New files.
101886 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101888         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101889         errno alone.  Problem reported by Frederic Jolliton.
101891 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101893         * modules/verify (License): Change from GPL to LGPL.  This is a
101894         tiny module and there are apparently near-equivalents that are
101895         under the BSD license.
101897 2005-10-24  Simon Josefsson  <jas@extundo.com>
101899         * modules/sha1: Relicense to LGPL.
101901 2005-10-24  Simon Josefsson  <jas@extundo.com>
101903         * lib/md4.h: Shrink buffer size, now that we changed the type.
101905 2005-10-23  Simon Josefsson  <jas@extundo.com>
101907         * gnulib-tool (func_import): Fix --tests-base.
101909 2005-10-22  Simon Josefsson  <jas@extundo.com>
101911         * modules/arcfour (Depends-on): Need stdint.
101913 2005-10-22  Simon Josefsson  <jas@extundo.com>
101915         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101916         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101918 2005-10-22  Simon Josefsson  <jas@extundo.com>
101920         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101921         suggested by Bruno Haible <bruno@clisp.org>.
101923 2005-10-22  Simon Josefsson  <jas@extundo.com>
101925         * lib/crc.h: Include stddef.h, for size_t.
101927 2005-10-22  Simon Josefsson  <jas@extundo.com>
101929         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101930         arcfour_context struct (simplify test vector testing in GNU
101931         Shishi).
101933 2005-10-21  Simon Josefsson  <jas@extundo.com>
101935         * modules/des, modules/des-tests: New files.
101937         * modules/gc-des, modules/gc-des-tests: New files.
101939         * tests/test-des.c, tests/test-gc-des.c: New file.
101941 2005-10-21  Simon Josefsson  <jas@extundo.com>
101943         * modules/arctwo, modules/arctwo-tests: New files.
101945         * tests/test-arctwo.c: New file.
101947         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101949         * tests/test-gc-arctwo.c: New file.
101951 2005-10-21  Simon Josefsson  <jas@extundo.com>
101953         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101954         Bruno Haible <bruno@clisp.org>.
101956         * m4/gc-des.m4: New file.
101958 2005-10-21  Simon Josefsson  <jas@extundo.com>
101960         * m4/arctwo.m4: New file.
101962         * m4/gc-arctwo.m4: New file.
101964 2005-10-21  Simon Josefsson  <jas@extundo.com>
101966         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101967         block.
101969 2005-10-21  Simon Josefsson  <jas@extundo.com>
101971         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101972         <bruno@clisp.org>.
101974         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101976         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101977         Bruno Haible <bruno@clisp.org>.
101979         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101980         <bruno@clisp.org>.
101982 2005-10-21  Simon Josefsson  <jas@extundo.com>
101984         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101986 2005-10-21  Simon Josefsson  <jas@extundo.com>
101988         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101990 2005-10-21  Simon Josefsson  <jas@extundo.com>
101992         * lib/des.h, lib/des.c: New files.
101994         * lib/gc-gnulib.c: Support DES.c
101996 2005-10-21  Simon Josefsson  <jas@extundo.com>
101998         * lib/arctwo.h, lib/arctwo.c: New files.
102000         * lib/gc-gnulib.c: Support ARCTWO.
102002 2005-10-21  Simon Josefsson  <jas@extundo.com>
102004         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
102005         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
102007 2005-10-21  Simon Josefsson  <jas@extundo.com>
102009         * gnulib-tool (func_import, func_create_testdir): Define automake
102010         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
102011         Makefile.am snippet),
102012         suggested by Bruno Haible <bruno@clisp.org>.
102014         * modules/gc (Makefile.am): Use it.
102016 2005-10-21  Bruno Haible  <bruno@clisp.org>
102018         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
102019         patch.
102021 2005-10-19  Simon Josefsson  <jas@extundo.com>
102023         * tests/test-gc-rijndael.c: New file.
102025         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
102027 2005-10-19  Simon Josefsson  <jas@extundo.com>
102029         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
102030         interface too.
102032 2005-10-19  Simon Josefsson  <jas@extundo.com>
102034         * tests/test-gc-arcfour.c: New file.
102036         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
102038 2005-10-19  Simon Josefsson  <jas@extundo.com>
102040         * modules/gc-md4, modules/gc-md4-tests: New file.
102042         * tests/test-gc-md4.c: New file.
102044 2005-10-19  Simon Josefsson  <jas@extundo.com>
102046         * m4/gc-md4.m4: New file.
102048 2005-10-19  Simon Josefsson  <jas@extundo.com>
102050         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
102051         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
102052         <kasal@ucw.cz>.
102054 2005-10-19  Simon Josefsson  <jas@extundo.com>
102056         * m4/gc-arcfour.m4: New file.
102058         * m4/gc-rijndael.m4: New file.
102060 2005-10-19  Simon Josefsson  <jas@extundo.com>
102062         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
102064 2005-10-19  Simon Josefsson  <jas@extundo.com>
102066         * lib/gc-gnulib.c: Support ARCFOUR.
102068 2005-10-19  Simon Josefsson  <jas@extundo.com>
102070         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
102071         support.
102073         * lib/gc.h: Add ECB enum type.
102075         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
102077 2005-10-18  Simon Josefsson  <jas@extundo.com>
102079         * tests/test-md5.c: New file.
102081         * modules/md5-tests: New file.
102083 2005-10-18  Simon Josefsson  <jas@extundo.com>
102085         * tests/test-md4.c: New file.
102087         * modules/md4, modules/md4-tests: New files.
102089 2005-10-18  Simon Josefsson  <jas@extundo.com>
102091         * m4/md4.m4: New file.
102093 2005-10-18  Simon Josefsson  <jas@extundo.com>
102095         * lib/md4.h, lib/md4.c: New files, based on md5.?.
102097 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
102099         * gnulib-tool (func_create_testdir): Omit the second check whether
102100         BUILT_SOURCES in nonempty.
102102 2005-10-17  Simon Josefsson  <jas@extundo.com>
102104         * tests/test-rijndael.c: New file.
102106 2005-10-17  Simon Josefsson  <jas@extundo.com>
102108         * modules/sha1: Depend on stdint instead of md5.
102110         * modules/md5: Depend on stdint, remove uint32_t.
102112 2005-10-17  Simon Josefsson  <jas@extundo.com>
102114         * modules/gc-sha1-tests: New file.
102116         * tests/test-gc-sha1.c: New file.
102118 2005-10-17  Simon Josefsson  <jas@extundo.com>
102120         * m4/md5.m4: Remove call to uint32_t.m4.
102122 2005-10-17  Simon Josefsson  <jas@extundo.com>
102124         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
102126         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
102127         md5.h.
102129         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
102131         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
102133 2005-10-17  Simon Josefsson  <jas@extundo.com>
102135         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
102137 2005-10-17  Simon Josefsson  <jas@extundo.com>
102139         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
102141 2005-10-17  Simon Josefsson  <jas@extundo.com>
102143         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
102145         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
102147 2005-10-17  Bruno Haible  <bruno@clisp.org>
102149         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
102150         that it can also be used in a test.
102152 2005-10-16  Bruno Haible  <bruno@clisp.org>
102154         * gnulib-tool (func_emit_tests_Makefile_am): Also define
102155         TESTS_ENVIRONMENT, so that individual tests can augment it.
102157         * gnulib-tool (func_create_testdir): Use an intermediate target for
102158         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
102159         macros, like $(ALLOCA_H), which cannot be passed through the command
102160         line.
102162 2005-10-15  Simon Josefsson  <jas@extundo.com>
102164         * modules/rijndael-tests: New file.
102166         * modules/rijndael: New file.
102168 2005-10-15  Simon Josefsson  <jas@extundo.com>
102170         * m4/rijndael.m4: New file.
102172 2005-10-15  Simon Josefsson  <jas@extundo.com>
102174         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
102176         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
102178 2005-10-14  Simon Josefsson  <jas@extundo.com>
102180         * tests/test-arcfour.c: New file.
102182         * modules/arcfour, modules/arcfour-tests: New files.
102184 2005-10-14  Simon Josefsson  <jas@extundo.com>
102186         * m4/arcfour.m4: New file.
102188 2005-10-14  Simon Josefsson  <jas@extundo.com>
102190         * lib/arcfour.h, lib/arcfour.c: New files.
102192 2005-10-14  Roland McGrath  <roland@redhat.com>
102194         Import from libc.  [BZ #1331]
102195         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
102196         macro argument.
102197         Reported by Matej Vela <vela@debian.org>.
102199 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102201         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
102202         include <wchar.h>; no longer needed.
102204 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102206         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
102208 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
102209         and  Ulrich Drepper  <drepper@redhat.com>
102211         Import from libc.
102212         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
102213         instead of inline stream orientation test and two separate
102214         function calls.  Pay no attention to USE_IN_LIBIO.
102216 2005-10-13  Simon Josefsson  <jas@extundo.com>
102218         * modules/gc-hmac-md5-tests: New file.
102220         * tests/test-gc-hmac-sha1.c: New file.
102222         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
102224         * modules/gc-hmac-md5-tests: New file.
102226         * tests/test-gc-md5.c: New file.
102228         * modules/gc-md5-tests: New file.
102230 2005-10-13  Simon Josefsson  <jas@extundo.com>
102232         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
102233         Move memory allocation outside of loop.
102235 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
102237         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
102238         intermediate directory is in a read-only file system.  Problem
102239         reported by Eric Blake.
102241 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
102243         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
102245 2005-10-12  Simon Josefsson  <jas@extundo.com>
102247         * tests/test-hmac-sha1.c: New file.
102249         * modules/hmac-sha1-tests: New file.
102251         * modules/hmac-sha1: New file.
102253 2005-10-12  Simon Josefsson  <jas@extundo.com>
102255         * modules/gc-sha1: New file.
102257 2005-10-12  Simon Josefsson  <jas@extundo.com>
102259         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
102261         * tests/test-gc-pbkdf2-sha1.c: New file.
102263 2005-10-12  Simon Josefsson  <jas@extundo.com>
102265         * modules/gc-md5, modules/gc-hmac-md5: New files.
102267         * modules/gc (Files): Remove md5, memxor and hmac files.
102269 2005-10-12  Simon Josefsson  <jas@extundo.com>
102271         * m4/gc-pbkdf2-sha1.m4: New file.
102273         * m4/gc-hmac-sha1.m4: New file.
102275         * m4/gc-sha1: New file.
102277         * m4/hmac-sha1.m4: New file.
102279 2005-10-12  Simon Josefsson  <jas@extundo.com>
102281         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
102283         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
102285 2005-10-12  Simon Josefsson  <jas@extundo.com>
102287         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
102288         suggested by Bruno Haible <bruno@clisp.org>.
102290 2005-10-12  Simon Josefsson  <jas@extundo.com>
102292         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
102294 2005-10-12  Simon Josefsson  <jas@extundo.com>
102296         * lib/gc-pbkdf2-sha1.c: New file.
102298         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
102300 2005-10-12  Simon Josefsson  <jas@extundo.com>
102302         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
102304         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
102306 2005-10-12  Simon Josefsson  <jas@extundo.com>
102308         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
102309         GC_USE_HMAC_MD5, respectively.
102311         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
102312         (gc_md5): Fix typo.
102314         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
102316         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
102318         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
102320 2005-10-12  Bruno Haible  <bruno@clisp.org>
102322         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
102323         Reported by Stepan Kasal <kasal@ucw.cz>.
102325 2005-10-11  Simon Josefsson  <jas@extundo.com>
102327         * tests/test-crc.c: New file.
102329         * modules/crc, modules/crc-tests: New files.
102331 2005-10-11  Simon Josefsson  <jas@extundo.com>
102333         * m4/crc.m4: New file.
102335 2005-10-11  Simon Josefsson  <jas@extundo.com>
102337         * lib/gc.h: Add gc_hash and gc_hash_buffer.
102339         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
102341         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
102343 2005-10-11  Simon Josefsson  <jas@extundo.com>
102345         * lib/crc.h, lib/crc.c: New files.
102347         * lib/gc.h (gc_hash_buffer): Add doc.
102349 2005-10-11  Bruno Haible  <bruno@clisp.org>
102351         * modules/c-strcasestr: New file.
102352         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
102354 2005-10-11  Bruno Haible  <bruno@clisp.org>
102356         * modules/c-strcase: New file.
102357         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
102359 2005-10-11  Bruno Haible  <bruno@clisp.org>
102361         * lib/strcasecmp.c: Include limits.h.
102362         (strcasecmp): Avoid integer overflow on exotic platforms.
102363         * lib/strncasecmp.c: Include limits.h.
102364         (strncasecmp): Avoid integer overflow on exotic platforms.
102365         Reported by Paul Eggert.
102367 2005-10-11  Bruno Haible  <bruno@clisp.org>
102369         * lib/c-strcasestr.h: New file, from GNU gettext.
102370         * lib/c-strcasestr.c: New file, from GNU gettext.
102372 2005-10-11  Bruno Haible  <bruno@clisp.org>
102374         * lib/c-strcase.h: New file, from GNU gettext.
102375         * lib/c-strcasecmp.c: New file, from GNU gettext.
102376         * lib/c-strncasecmp.c: New file, from GNU gettext.
102378 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102380         * modules/mempcpy (License): GPL -> LGPL.
102381         * modules/strchrnul (License): Likewise.
102382         * modules/sysexits (License): Likewise.
102384 2005-10-08  Simon Josefsson  <jas@extundo.com>
102386         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
102388 2005-10-07  Simon Josefsson  <jas@extundo.com>
102390         * m4/memxor.m4: Remove gl_C_RESTRICT call.
102392 2005-10-06  Simon Josefsson  <jas@extundo.com>
102394         * tests/test-hmac-md5.c: New file.
102396         * modules/hmac-md5-tests: New file.
102398         * modules/hmac-md5: New file.
102400 2005-10-06  Simon Josefsson  <jas@extundo.com>
102402         * m4/hmac-md5.m4: New file.
102404         * m4/memxor.m4: Require gl_C_RESTRICT.
102406 2005-10-06  Simon Josefsson  <jas@extundo.com>
102408         * lib/memxor.c (memxor): Avoid casts and warnings.
102410 2005-10-06  Simon Josefsson  <jas@extundo.com>
102412         * lib/hmac-md5.c: New file.
102414         * lib/hmac.h: New file.
102416 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
102418         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
102419         promotes to int, not unsigned int, to catch the AIX 5.3
102420         compiler bug.
102422 2005-10-05  Simon Josefsson  <jas@extundo.com>
102424         * modules/memxor: New file.
102426         * modules/iconv (Files): Move config.rpath to havelib, it is used
102427         there.
102429         * modules/havelib (Files): Add config.rpath.
102431 2005-10-05  Simon Josefsson  <jas@extundo.com>
102433         * m4/memxor.m4: New file.
102435 2005-10-05  Simon Josefsson  <jas@extundo.com>
102437         * lib/memxor.c (memxor): Fix compiler error.
102439         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
102440         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
102442         * lib/memxor.h, lib/memxor.c: New files.
102444         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
102445         we assume all systems have it, suggested by Jim Meyering
102446         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
102447         any systems lack sys/socket.h; mingw32 is known to lack it, but we
102448         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
102449         same reasons.
102451 2005-10-05  Simon Josefsson  <jas@extundo.com>
102453         * config/srclist.txt: Add glibc bug 1423 for md5.h.
102455 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
102457         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
102458         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
102459         needed, since the source code now assumes these .h files.
102461 2005-10-05  Derek Price  <derek@ximbiot.com>
102463         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
102465 2005-10-05  Bruno Haible  <bruno@clisp.org>
102467         * modules/stdint (License): Change to LGPL.
102469 2005-10-04  Simon Josefsson  <jas@extundo.com>
102471         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102472         D. Baushke" <mdb@gnu.org>.
102474 2005-10-04  Bruno Haible  <bruno@clisp.org>
102476         * lib/verify.h (verify_true): Provide alternative definition for C++.
102478 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102480         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102481         (SSIZE_MAX): New macro, if not already defined.
102482         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102483         than 2 GiB.
102485 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102487         Sync from coreutils.
102488         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102489         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102490         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102491         ULLONG_MAX doesn't work with 2.7.2.1.
102493 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102495         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102496         From Ben Pfaff.
102498         * modules/exclude (Depends-on): Depend on verify.
102499         * modules/strtoimax (Depends-on): Likewise.
102500         * modules/utimecmp (Depends-on): Likewise.
102502 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102504         * lib/exclude.c: Include verify.h.
102505         (verify): Remove.  All callers changed to use verify.h's version.
102506         * lib/strtoimax.c: Likewise.
102507         * lib/utimecmp.c: Likewis.e
102509         Sync from coreutils.
102510         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102511         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102512         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102513         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102514         bother returning ENOSYS if settimeofday or stime fails; just let
102515         them return whatever errno they want to return.
102516         * lib/utimens.c: Include unistd.h, for dup2.
102517         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102518         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102520 2005-10-02  Jim Meyering  <jim@meyering.net>
102522         Sync from coreutils.
102523         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102524         from glibc-2.2.5 that fails for read-only files.
102526 2005-10-02  Jim Meyering  <jim@meyering.net>
102528         Sync from coreutils.
102529         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102530         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102531         `#if HAVE_CONFIG_H'.
102532         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102533         Remove AT_FDCWD test.
102534         Do not consume the fd unless successful.
102535         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102536         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102537         block, so that we don't even try to compile it if settimeofday is
102538         available.  This works around a compilation failure on OSF1 V5.1,
102539         due to stime requiring a `long int*' while tv_sec is `int'.
102541 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102543         Sync from coreutils.
102544         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102545         against `yes', rather than just testing for nonempty.
102547 2005-10-01  Simon Josefsson  <jas@extundo.com>
102549         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102550         and Darwin.
102552         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102553         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102554         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102555         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102556         Check if struct addrinfo is declared.
102558 2005-10-01  Simon Josefsson  <jas@extundo.com>
102560         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102561         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102562         AI_* and EAI_* definitions.  Protect function declarations.
102564 2005-10-01  Jim Meyering  <jim@meyering.net>
102566         Sync from coreutils.
102568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102569         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102570         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102571         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102572         in the inet and nsl libraries.  Required on Solaris 5.7.
102574 2005-10-01  Jim Meyering  <jim@meyering.net>
102576         Sync from coreutils.
102577         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102578         in the inet and nsl libraries.  Required on Solaris 5.7.
102580 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102582         * lib/getdelim.c (getdelim): Remove unused variables.
102584 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102586         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102587         so that the code works even with ancient cpp.  Portability problem
102588         with GCC 2.7.2.1 reported by Thomas M.Ott.
102590 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102592         * modules/regex (Depends-on): Add strcase.
102594         * modules/gethostname (Licence): Change from GPL to LGPL, since
102595         gethostname.c is a trivial implementation of a standard library
102596         function.
102597         * modules/poll (License): Change from GPL to LGPL, since it's
102598         derived from LGPL code.
102600 2005-09-27  Jim Meyering  <jim@meyering.net>
102602         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102603         HAVE_CONFIG_H.
102605         * lib/intprops.h (signed_type_or_expr__): Define.
102606         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102607         for unsigned types.
102609 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102611         * lib/verify.h (verify_expr): Remove, replacing with:
102612         (verify_true): New macro that returns true instead of void.
102613         (verify_type__): Remove.
102614         (verify): Use verify_true rather than verify_type__.
102616 2005-09-26  Bruno Haible  <bruno@clisp.org>
102618         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102619         is necessary.
102620         (lib_SOURCES): Remove mbchar.c.
102621         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102622         (Files): Add m4/mbrtowc.m4.
102623         * modules/mbiter: Likewise.
102624         * modules/mbuiter: Likewise.
102626 2005-09-26  Bruno Haible  <bruno@clisp.org>
102628         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102629         compile mbchar.c if they are not both present.
102630         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102631         * m4/mbiter.m4 (gl_MBITER): Likewise.
102632         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102633         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102634         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102636 2005-09-25  Jim Meyering  <jim@meyering.net>
102638         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102639         also uses socklen_t.
102641 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102643         * lib/utimens.c (ENOSYS): Define if not already defined.
102644         (futimens): Support having a null PATH if the file descriptor
102645         is nonnegative.
102647         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102648         Remove.
102649         (__attribute): Define to empty unless GCC 3.1 or later.
102650         This works around a core dump on OpenBSD 3.4, which has GCC
102651         2.95.3, which dumps core when given __attribute__(()).  It also
102652         simplifies other tests, since we really don't want to bother with
102653         worrying about which ancient version of GCC supported what.
102654         Original problem reported by Yoann Vandoorselaere, with part of
102655         the fix suggested by Derek Price.
102657 2005-09-24  Jim Meyering  <jim@meyering.net>
102659         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102660         so we can once again use a positive bitfield width of 1 -- now we
102661         don't have to explain why we were using a bitfield width of 2.
102663 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102665         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102666         and similarly for the other external symbols.  Problem reported
102667         by James Gallager.
102669         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102670         bug reported by Jim Meyering.
102672         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102673         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102674         not needed, since socklen is a prerequisite module.
102676 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102678         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102679         Problem reported by Eric Blake.
102680         (getaddrinfo): Initialize se so that it's not garbage.
102681         Redo internal storage allocation so that it doesn't make unportable
102682         assumptions about alignment.
102683         Fix a memory leak.
102685         * lib/utimens.c (futimens): Use futimesat if available.
102686         Prefer it to futimes since it doesn't have the futimes bug.
102688         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102689         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102690         Instead, declare a function that returns a pointer to an array,
102691         and use verify_type__ to declare the size of the array.
102692         Problem and germ of a solution reported by Bruno Haible.
102693         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102694         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102696 2005-09-23  Jim Meyering  <jim@meyering.net>
102698         Sync from coreutils.
102699         Correct build failure (socklen_t not defined) on at least
102700         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102701         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102703 2005-09-23  Jim Meyering  <jim@meyering.net>
102705         * modules/getaddrinfo (Depends-on): Add socklen.
102707 2005-09-23  Bruno Haible  <bruno@clisp.org>
102709         * tests/test-verify.c: New file.
102711 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102713         Sync from coreutils.
102715         * modules/argmatch (Depends-on): Add verify.
102716         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102717         unistd-safer.
102718         * modules/save-cwd (Depends-on): Likewise.
102720         * modules/openat (Files): Add lib/openat-die.c.
102721         (Depends-on): Remove error, exitfail.
102722         Add dirname.
102724         * modules/verify: New file.
102725         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102726         with "verify" module.
102728 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102730         Sync from coreutils.
102732         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102733         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102734         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102735         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102736         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102737         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102738         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102739         Don't bother checking for string.h, stdlib.h, unistd.h.
102740         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102741         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102742         module's job.
102743         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102744         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102746         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102747         (gl_GETDATE): Use it.
102749         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102751 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102753         Sync from coreutils.
102755         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102756         stat-time.h.
102757         * lib/argmatch.h: Include verify.h
102758         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102759         (ARGMATCH_ASSERT): Remove; unused.
102760         * lib/canonicalize.c: Assume STDC_HEADERS.
102761         * lib/exclude.c: Include "strcase.h".
102762         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102763         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102764         and stdio-safer.h.
102765         (getusershell): Call fopen, not fopen_safer.
102766         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102767         Do not include unistd-safer.h.
102768         (save_cwd): Don't call fd_safer; no longer needed
102769         now that we include fcntl--.h.
102771         * lib/getdate.y (relative_time): New type.
102772         (RELATIVE_TIME_0): New constant.
102773         (parser_control): Use relative_time instead of doing it ourselves.
102774         (%union): Add new relative_time rel member.
102775         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102776         Now typeless.
102777         (relunit, relunit_snumber): Now of type rel.
102778         (zone, rel, relunit, get_date): Adjust to above changes.
102780         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102781         Do not include unistd-safer.h.
102782         (getloadavg): Don't call fd_safer; no longer needed
102783         now that we include fcntl--.h.
102785         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102786         (make_dir_parents): Treat ENOSYS like EEXIST.
102788         Improve quality of diagnostics on restore_cwd failure.
102789         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102790         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102791         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102792         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102793         each time through the loop.  Do not diagnose restore_cwd failure;
102794         that is the caller's job (and perhaps the caller does not care).
102796         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102797         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102798         If the file already exists but is not a directory, don't bother
102799         to try to make its parents.
102800         Close potential file descriptor leak if we can't chdir("/") (!).
102801         Don't always return true if chdir($PWD) fails; return true only
102802         if the requested action was done successfully (except for the
102803         chdir($PWD)).
102804         Don't log final directory unless we actually made it.
102805         Refactor to avoid duplicate code to fix up permissions.
102806         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102808         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102809         to make it a bit faster and (I hope) clearer.
102810         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102811         Fix bug in formats like %2N.
102813         * lib/verify.h: New file.
102815 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102817         Sync from coreutils.
102818         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102820 2005-09-22  Jim Meyering  <jim@meyering.net>
102822         Sync from coreutils.
102824         * m4/lstat.m4 (gl_FUNC_LSTAT):
102825         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102826         Remove obsolete comment.
102827         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102828         * m4/xstrtod.m4: Likewise.
102830         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102832 2005-09-22  Jim Meyering  <jim@meyering.net>
102834         Sync from coreutils.
102836         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102838         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102839         the .tm_year member, since otherwise gcc-4.0 would now warn about
102840         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102842         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102843         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102845         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102846         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102847         when run in a time zone for which daylight savings time is in effect
102848         for the starting date.
102850         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102851         stop us from restricting permissions of just-created absolute-named
102852         directories.
102853         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102854         to restore initial working directory.
102855         * lib/mkdir-p.c (make_dir_parents): New parameter:
102856         different_working_dir, to tell caller if/when we change the working
102857         directory and are unable to return to the initial one.
102858         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102859         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102860         `return false'.  This fixes a bug introduced on 2004-07-30.
102862         * lib/openat.c (fdopendir): Be sure to close the supplied
102863         file descriptor before returning.  This makes our replacement
102864         implementation a little closer to Solaris's, where fdopendir
102865         ties the file descriptor to the returned DIR* pointer.
102866         * lib/openat.c (unlinkat): New function.
102867         * lib/openat.h (unlinkat): Add prototype.
102868         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102869         (openat_restore_fail): Rename from openat_restore_die.
102870         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102872         Provide an alternative to exiting immediately upon save_cwd or
102873         restore_cwd failure.  Now, an application can arrange e.g.,
102874         to perform a longjump in that case.
102875         * lib/openat.c: Include dirname.h.
102876         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102877         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102878         and openat_restore_die rather than calling error directly.
102879         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102881         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102882         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102883         define.
102885         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102886         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102887                             int utc, int nanoseconds);
102888         Background:
102889         date should not have to allocate a megabyte of virtual memory to
102890         handle a format argument like +%1048575T.  When implemented with
102891         strftime, it must allocate such a buffer, use strftime to fill it
102892         in, print it, then free it.
102893         With fprintftime, it simply prints everything and exits.
102894         With no need for memory allocation, that's one fewer way to fail.
102895         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102896         optional field width, not before, so we accept %9:z, not %:9z.
102897         (my_strftime): Be sure to use L_('x') for literals.
102899         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102900         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102901         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102902         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102903         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102904         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102905         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102906         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102907         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102908         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102909         * lib/xgethostname.c, lib/xreadlink.c:
102910         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102912         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102913         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102914         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102915         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102916         and don't include <sys/file.h>).
102918 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102920         Sync from coreutils.
102922         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102923         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102924         [!LDAV_DONE]: Avoid unused variable warning.
102926 2005-09-21  Bruno Haible  <bruno@clisp.org>
102928         * lib/unicodeio.h (unicode_to_mb): New declaration.
102930 2005-09-20  Derek Price  <derek@ximbiot.com>
102932         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102933         getaddrinfo.h.
102935 2005-09-20  Bruno Haible  <bruno@clisp.org>
102937         * gnulib-tool: Remove trailing slashes from the values specified for
102938         --source-base, --m4-base, --tests-base, --aux-dir.
102939         Suggested by Simon Josefsson <jas@extundo.com>.
102941 2005-09-20  Bruno Haible  <bruno@clisp.org>
102943         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102944         func_modules_to_filelist, func_import, func_create_testdir): Make all
102945         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102946         change when gnulib-tool is invoked in a different locale.
102948 2005-09-19  Simon Josefsson  <jas@extundo.com>
102950         * m4/socklen.m4: Fix typo.
102952 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102954         Use a consistent style for including <config.h>.
102955         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102956         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102957         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102958         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102959         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102960         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102961         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102962         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102963         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102964         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102965         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102966         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102967         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102968         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102969         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102970         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102971         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102972         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102973         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102974         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102975         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102976         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102977         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102978         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102979         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102980         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102981         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102982         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102983         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102984         lib/xstrtoumax.c, lib/yesno.c:
102985         Standardize inclusion of config.h.
102986         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102987         lib/inttostr.h:  Removed inclusion of config.h from header files.
102988         * lib/inttostr.c:  Adjusted in-tree users.
102989         * lib/timespec.h: Remove superfluous warning to include config.h.
102990         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102991         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102992         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102993         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102994         config.h with HAVE_CONFIG_H.
102996 2005-09-19  Jim Meyering  <jim@meyering.net>
102998         * modules/pathmax (License): Change to LGPL.
103000 2005-09-19  Derek Price  <derek@ximbiot.com>
103002         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
103004 2005-09-19  Bruno Haible  <bruno@clisp.org>
103006         * gnulib-tool (import): Provide default for --tests-base.
103008 2005-09-19  Bruno Haible  <bruno@clisp.org>
103010         * doc/quote.texi: New file, extracted from gnulib.texi.
103011         * doc/ctime.texi: New file, extracted from gnulib.texi.
103012         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
103013         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
103014         * doc/gnulib.texi: Include them.
103016 2005-09-18  Bruno Haible  <bruno@clisp.org>
103018         Portability fix.
103019         * gnulib-tool (func_readlink): New function.
103020         (func_ln_if_changed): Use it.
103022 2005-09-18  Bruno Haible  <bruno@clisp.org>
103024         * gnulib-tool: Support --with-tests also with --import.
103025         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
103026         (func_import): Use variables $testsbase and $inctests. Emit a
103027         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
103028         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
103029         SUBDIRS += $testsdir.
103030         (func_create_testdir): Update.
103032 2005-09-18  Bruno Haible  <bruno@clisp.org>
103034         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
103035         instead of $dry_run.
103036         (func_cp_if_changed, func_mv_if_changed): Remove functions.
103037         (func_ln_if_changed): Don't handle dry-run here.
103038         (func_import): In dry-run mode, detect more precisely which actions
103039         would be performed, and don't use "...ing" verbs.
103041 2005-09-18  Bruno Haible  <bruno@clisp.org>
103043         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
103044         (func_import): Use join on two temporary files instead of three nested
103045         loops, in order to determine which files are new or old.
103047 2005-09-18  Bruno Haible  <bruno@clisp.org>
103049         * gnulib-tool (func_import): Comment out code that spits out the
103050         new files with --dry-run.
103052 2005-09-18  Bruno Haible  <bruno@clisp.org>
103054         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
103056 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103058         * lib/stat-time.h: New file.
103059         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
103060         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
103061         in a different way.
103062         (timespec_cmp): New function.
103063         * lib/utimecmp.c: Include stat-time.h.
103064         (SYSCALL_RESOLUTION): Depend on whether various struct stat
103065         members exist, not on the obsolescent ST_MTIM_NSEC.
103066         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
103068 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103070         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
103072 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103074         * MODULES.html.sh (File system functions): Add stat-time.
103075         * modules/stat-time: New file.
103076         * modules/timespec (Files): Remove m4/st_mtim.m4; this
103077         is now done in a different way, by the stat-time module.
103078         * modules/utimecmp (Depends-on): Add stat-time.
103080 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103082         * m4/st_mtim.m4: Remove.  Superseded by...
103083         * m4/stat-time.m4: New file.
103084         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
103085         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
103087 2005-09-15  Derek Price  <derek@ximbiot.com>
103089         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
103091 2005-09-15  Derek Price  <derek@ximbiot.com>
103093         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
103094         * lib/regex_internal.c: Ditto, using this...
103095         (__GNUC_PREREQ): ...new macro.
103096         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
103097         using...
103098         (__GNUC_PREREQ): ...this new macro.
103100         * lib/strstr.h: Include string.h. Define strstr as a macro here.
103102 2005-09-15  Derek Price  <derek@ximbiot.com>
103103             Paul Eggert  <eggert@cs.ucla.edu>
103105         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
103106         changes, consolidating in...
103107         * lib/regex_internal.h: ...this file.
103109 2005-09-13  Jim Meyering  <jim@meyering.net>
103111         * lib/canon-host.c: Filter through gnu indent and reword comments
103112         slightly.
103113         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
103115 2005-09-13  Derek Price  <derek@ximbiot.com>
103117         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
103118         failure.
103119         Reported by Jim Meyering  <jim@meyering.net>.
103121 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103123         * lib/base64.c: Typo.
103124         (base64_encode): Put b64str in initialized data section.
103126 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
103128         Merge glibc and coreutils changes into gnulib, plus a few
103129         extra fixes.
103130         * lib/md5.c: Use #error rather than a string.
103131         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
103132         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
103133         (__attribute__): Define to empty for non recent-GCC.
103134         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
103135         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
103136         Renamed from their non-__ counterparts, with new macros replacing
103137         them if not _LIBC.  Add __THROW attribute.
103138         (rol): Remove.
103139         (struct md5_ctx): Align buffer if using GCC.
103140         * lib/sha1.h (struct sha1_ctx): Likewise.
103141         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
103142         The old name was backwards.
103143         (NOTSWAP): Remove; not used.
103144         (rol): New macro, moved here from md5.h.
103145         (sha1_process_block): Remove a FIXME that doesn't make sense.
103147 2005-09-12  Derek Price  <derek@ximbiot.com>
103149         Return usable errors from canon-host.
103150         * lib/canon-host.h: New file.
103151         * lib/canon-host.c (canon_host): Wrap...
103152         (canon_host_r): ...this new function, which now relies exclusively on
103153         getaddrinfo.
103154         (ch_strerror): New function.
103155         (last_cherror): New global.
103156         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
103157         interface.
103158         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
103159         void *.
103160         (freeaddrinfo): Free ai->ai_canonname when set.
103162 2005-09-12  Derek Price  <derek@ximbiot.com>
103164         Make canon-host require getaddrinfo.
103165         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
103166         AC_LIBSOURCE canon-host.h.  Call...
103167         (gl_PREREQ_CANON_HOST): ...this new function, which requires
103168         gl_GETADDRINFO.
103169         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
103171 2005-09-12  Derek Price  <derek@ximbiot.com>
103173         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
103174         LGPL.
103175         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
103177 2005-09-12  Derek Price  <derek@ximbiot.com>
103179         * lib/gai_strerror.c: Include config.h when available.  Include
103180         getaddrinfo.h before other headers to test interface.
103181         Reported by Larry Jones <lawrence.jones@ugs.com>.
103183 2005-09-12  Derek Price  <derek@ximbiot.com>
103184             Paul Eggert  <eggert@cs.ucla.edu>
103186         * modules/glob (Files): Add glob-libc.h.
103188 2005-09-12  Derek Price  <derek@ximbiot.com>
103189             Paul Eggert  <eggert@cs.ucla.edu>
103191         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
103192         glob_.h, glob-libc.h.
103193         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
103195 2005-09-12  Derek Price  <derek@ximbiot.com>
103196             Paul Eggert  <eggert@cs.ucla.edu>
103198         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
103199         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
103200         protecting things that should be done only in gnulib contexts.
103201         * lib/glob_.h: New file, containing only the glob things needed for
103202         gnulib.
103203         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
103204         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
103205         (glob, globfree, glob_pattern_p): Now defined simply in terms of
103206         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
103207         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
103208         and to respect the namespace rules better.
103210 2005-09-08  Simon Josefsson  <jas@extundo.com>
103212         * modules/socklen: New file.
103214 2005-09-08  Simon Josefsson  <jas@extundo.com>
103216         * m4/socklen.m4: New file.
103218 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103220         * modules/utimens (Files): Add m4/utimbuf.m4, since
103221         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
103222         Reported by Sergey Poznyakoff.
103224 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103226         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
103227         definitions, since that's the preferred style in glibc.
103228         Fix a minor spacing issue, and update copyright notice to match
103229         glibc's.
103231 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103233         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
103235 2005-09-06  Simon Josefsson  <jas@extundo.com>
103237         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
103238         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
103240 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103242         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
103243         warning.
103245 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103247         * config/srclist.txt: Add glibc bug 1302.
103249 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
103251         Change bitset word type from unsigned int to unsigned long int,
103252         as this has better performance on typical 64-bit hosts.
103253         Port bitset code to hosts with unusual word sizes.
103254         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
103255         (build_collating_symbol):
103256         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
103257         argument is a bitset.  This is merely a style issue, but it makes
103258         it clearer that an entire array is expected.
103259         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
103260         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
103261         Port to the case where bitset_word is not the same as unsigned int.
103262         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103263         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
103264         Likewise.
103265         * lib/regexec.c (check_dst_limits_calc_pos_1,
103266         check_subexp_matching_top):
103267         (build_trtable, group_nodes_into_DFAstates):
103268         Likewise.
103269         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
103270         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
103271         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
103272         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
103273         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
103274         * lib/regcomp.c (optimize_subexps, lower_subexp):
103275         Work even if bitset_word has holes in its bitwise representation.
103276         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
103277         * lib/regexec.c (check_dst_limits_calc_pos_1,
103278         check_subexp_matching_top):
103279         Likewise.
103280         * lib/regex_internal.c (re_string_reconstruct):
103281         Don't assume UCHAR_MAX == 255.
103282         * lib/regex_internal.h (bitset_set_all): Likewise.
103283         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
103284         All uses changed.
103285         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
103286         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
103287         All uses changed.
103288         (BITSET_WORD_MAX): New macro.
103289         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
103290         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
103291         (bitset_empty, bitset_copy):
103292         Prefer sizeof (bitset) to multiplying it out ourselves.
103293         (bitset_not_merge): Remove; unused.
103294         (bitset_contain): Return bool, not unsigned int with one bit on.
103295         All callers changed.
103296         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
103297         alignment than re_node_set; do this by defining a new internal
103298         type struct dests_alloc and using it to allocate memory.
103300 2005-09-05  Bruno Haible  <bruno@clisp.org>
103302         * gnulib-tool (func_import): Fix comparison in handling of symbolic
103303         links.
103305 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
103307         * modules/size_max (Makefile.am): Add size_max.h
103309 2005-09-04  Derek Price  <derek@ximbiot.com>
103311         * gnulib-tool (func_import): Fix reversed $symbolic logic.
103313 2005-09-03  Simon Josefsson  <jas@extundo.com>
103315         * gnulib-tool: Fix typo.
103317 2005-09-03  Simon Josefsson  <jas@extundo.com>
103319         * config/srclist.txt: Add glibc bug 1293.
103321 2005-09-03  Derek Price  <derek@ximbiot.com>
103323         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
103324         From Larry Jones <lawrence.jones@ugs.com>.
103326 2005-09-02  Simon Josefsson  <jas@extundo.com>
103328         * modules/socklen: New file.
103330 2005-09-02  Simon Josefsson  <jas@extundo.com>
103332         * modules/havelib: New module.
103334         * modules/gettext, modules/iconv, modules/lock, modules/readline:
103335         Use havelib.
103337 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103339         Check for arithmetic overflow when calculating sizes, to prevent
103340         some buffer-overflow issues.  These patches are conservative, in the
103341         sense that when I couldn't determine whether an overflow was possible,
103342         I inserted a run-time check.
103343         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
103344         macros.
103345         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
103346         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
103347         (re_xnrealloc, re_x2nrealloc): New inline functions.
103348         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
103349         parse_bracket_exp):
103350         (build_equiv_class, build_charclass): Check for arithmetic overflow
103351         in size expression calculations.
103352         * lib/regex_internal.c (re_string_realloc_buffers):
103353         (build_wcs_upper_buffer, re_node_set_add_intersect):
103354         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
103355         (re_dfa_add_node, register_state): Likewise.
103356         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
103357         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
103358         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
103359         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
103361 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103363         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
103364         m4/ulonglong.m4.  Problem reported by Martin Lambers.
103366 2005-09-02  Bruno Haible  <bruno@clisp.org>
103368         Support for lib vs. lib64 distinction on biarch platforms.
103369         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
103370         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
103371         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
103373 2005-09-02  Bruno Haible  <bruno@clisp.org>
103375         * gnulib-tool (import): In the other first-use case, provide defaults
103376         as well.
103378 2005-09-02  Bruno Haible  <bruno@clisp.org>
103380         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
103381         patches not yet found in the latest gettext release.
103383 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103385         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
103386         to avoid a collision with bits/local_lim.h in glibc.
103387         All uses changed.  Problem reported by Dmitry V. Levin in
103388         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
103390         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
103391         bugs in int versus size_t comparisons.
103392         (re_string_context_at): Fix bug where the code assumed that
103393         Idx is signed.
103395         Use bool where appropriate.
103396         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
103397         All callers changed.
103398         (calc_eclosure_iter): Likewise, for ROOT arg.
103399         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
103400         (build_charclass_op): Likewise, for NON_MATCH arg.
103401         * lib/regex_internal.c (re_string_allocate, re_string_construct):
103402         (re_string_construct_common): Likewise, for ICASE arg.
103403         * lib/regexec.c (re_search_2_stub, re_search_stub):
103404         Likewise, for RET_LEN arg.
103405         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
103406         (set_regs): Likewise, for FL_BACKTRACK arg.
103407         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
103408         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
103409         (calc_eclosure_iter, parse_bracket_exp):
103410         Use bool for internal variables that are booleans.
103411         * lib/regexec.c (re_search_internal, check_matching,
103412         proceed_next_node):
103413         (set_regs, build_sifted_states, sift_states_bkref):
103414         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
103415         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103416         (find_collation_sequence_value):
103417         Likewise.
103418         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
103419         (re_node_set_compare):
103420         Return bool, not int. All callers changed.
103421         * lib/regexec.c (check_halt_node_context, check_dst_limits):
103422         (build_trtable, check_node_accept): Likewise.
103423         * lib/regex_internal.h: Include stdbool.h.
103425         Fix bugs uncovered when converting to bool.
103426         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
103427         failure instead of charging ahead blindly.
103428         * lib/regex_internal.c (register_state): Likewise.
103429         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
103430         for freeing internal storage.
103431         (group_nodes_into_DFA_states): Use unsigned int, not int, for
103432         bitset pieces used as boolean, to avoid undefined behavior
103433         on hosts that do int overflow checking.
103435 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103437         * config/srclist.txt: Add glibc bugs 1285-1287.
103439 2005-09-01  Jim Meyering  <jim@meyering.net>
103441         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
103442         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
103443         Require gl_STAT_MACROS, too.
103445 2005-09-01  Bruno Haible  <bruno@clisp.org>
103447         * gnulib-tool (import): In the first-use case, provide defaults.
103449 2005-09-01  Bruno Haible  <bruno@clisp.org>
103451         * gnulib-tool (func_import): Remove the .tmp files.
103453 2005-09-01  Bruno Haible  <bruno@clisp.org>
103455         * gnulib-tool (func_import): Fix handling of symbolic links.
103457 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103459         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
103460         old glibc regex code mishandles strings longer than 2**31 bytes.
103461         This patch fixes this when the regex code is used in gnulib
103462         (i.e., outside glibc).
103464         This patch should not affect the use of the regex code inside
103465         glibc.  No doubt this problem also needs to be handled for glibc
103466         as well, but the result will be an incompatible change to the
103467         glibc ABI, and the old ABI will have to be supported too.  That
103468         can be the subject for another patch.
103470         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103471         governing whether the rest of this patch is active.  By default,
103472         the macro is disabled and the patch has no effect.
103473         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103474         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103475         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103476         (re_match_2, re_set_registers): Use the new types.
103477         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103478         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103479         New macros.
103480         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103481         (re_string_context_at, bin_tree_t, re_dfastate_t):
103482         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103483         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103484         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103485         (re_string_char_size_at, re_string_wchar_at):
103486         (re_string_elem_size_at):
103487         Use the new types and macros to port to 64-bit hosts.
103488         Use unsigned types for internal values, so that the code
103489         mostly works even for arrays larger than SSIZE_MAX.
103490         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103491         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103492         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103493         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103494         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103495         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103496         (calc_inveclosure, parse_dup_op, build_range_exp):
103497         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103498         (fetch_number, create_token_tree, mark_opt_subexp):
103499         Likewise.
103500         * lib/regex_internal.c (re_string_construct_common,
103501         create_ci_newstate):
103502         (create_cd_newstate, re_string_allocate, re_string_construct):
103503         (re_string_realloc_buffers, build_wcs_upper_buffer):
103504         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103505         (re_string_reconstruct, re_string_peek_byte_case):
103506         (re_string_fetch_byte_case, re_string_context_at):
103507         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103508         (re_node_set_init_copy, re_node_set_add_intersect):
103509         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103510         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103511         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103512         (re_acquire_state, re_acquire_state_context, register_state):
103513         Likewise.
103514         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103515         search_cur_bkref_entry):
103516         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103517         (re_search_internal, re_search_2_stub, re_search_stub)
103518         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103519         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103520         (update_cur_sifted_state, check_dst_limits):
103521         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103522         (check_subexp_limits, sift_states_bkref, merge_state_array):
103523         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103524         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103525         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103526         (expand_bkref_cache, check_node_accept_bytes):
103527         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103528         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103529         (acquire_init_state_context, check_halt_node_context):
103530         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103531         (sift_states_backward, clean_state_log_if_needed):
103532         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103533         (find_recover_state, transit_state_sb, transit_state_mb):
103534         (transit_state_bkref, build_trtable, match_ctx_clean):
103535         Likewise.
103536         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103537         to work around an assumption that REG_MISSING is negative.
103539         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103540         (seek_collating_symbol_entry) [defined _LIBC]:
103541         (lookup_collation_sequence_value) [defined _LIBC]:
103542         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103543         Use prototypes rather than old-style function definitions.
103544         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103545         (transit_state_sb) [0]:
103546         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103548         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103549         rm_eo.
103551         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103552         (optimize_subexps, lower_subexp):
103553         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103554         since the signed shift might overflow.  Use 1u<<31 instead.
103555         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103556         Likewise.
103557         * lib/regexec.c (check_dst_limits_calc_pos_1,
103558         check_subexp_matching_top): Likewise.
103560         * lib/regcomp.c (optimize_subexps, lower_subexp):
103561         Use CHAR_BIT rather than 8, for clarity.
103562         * lib/regexec.c (check_dst_limits_calc_pos_1):
103563         (check_subexp_matching_top): Likewise.
103564         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103565         have to worry about portability issues when shifting it left.
103566         Remove no-longer-needed test for table_size > 0.
103567         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103568         in a word, as the resulting behavior is undefined.
103569         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103570         in one case, a <= should have been an <, and in another case the
103571         whole test was missing.
103572         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103573         the standard name CHAR_BIT.
103574         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103575         this is not true on one's complement and signed-magnitude hosts.
103577         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103578         next_last_offset.
103579         (struct re_dfa_t): Remove unused member states_alloc.
103580         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103582 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103584         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103585         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103586         and large-file glibc and in 32-bit large-file Solaris.
103588 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103590         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103591         lengths fit in regoff_t; this isn't true if regoff_t is the same
103592         width as size_t.
103593         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103594         (= START + RANGE) instead of RANGE.  This avoids overflow
103595         problems when regoff_t is the same width as size_t.
103596         All callers changed.
103597         (re_search_2_stub): Check for overflow when adding the
103598         sizes of the two strings.
103599         (re_search_stub): Check for overflow when adding START
103600         to RANGE; if it occurs, substitute the extreme value.
103602 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103604         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103606 2005-08-31  Jim Meyering  <jim@meyering.net>
103608         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103609         a pointer-to-const.
103610         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103611         (register_state): Likewise.
103612         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103613         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103614         (group_nodes_into_DFAstates): Likewise.
103616 2005-08-31  Jim Meyering  <jim@meyering.net>
103618         * check-module: Add a FIXME comment.
103620 2005-08-31  Eric Blake  <ebb9@byu.net>
103622         * modules/unistd-safer (Files): Add unistd--.h.
103623         * modules/stdio-safer (Files): Add stdio--.h.
103625 2005-08-31  Derek Price  <derek@ximbiot.com>
103627         * lib/getdelim.c (getdelim): Return EOF on EOF.
103628         Reported by Larry Jones <lawrence.jones@ugs.com>.
103630 2005-08-31  Bruno Haible  <bruno@clisp.org>
103632         Avoid unnecessary diffs in the generated lib/Makefile.am.
103633         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103634         the generated files.
103635         (func_import): Don't set cmd.
103637 2005-08-31  Bruno Haible  <bruno@clisp.org>
103639         * lib/strstr.c: Include <stddef.h>, for NULL.
103640         * lib/strcasestr.c: Likewise.
103641         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103643 2005-08-31  Bruno Haible  <bruno@clisp.org>
103645         * gnulib-tool: New option --macro-prefix.
103646         (func_import): Use macro_prefix.
103647         (import): Handle option --macro-prefix.
103649 2005-08-31  Bruno Haible  <bruno@clisp.org>
103651         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103652         Also use new variables cached_lgpl, cached_libtool.
103654 2005-08-31  Bruno Haible  <bruno@clisp.org>
103656         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103657         always instantiating them.
103659 2005-08-31  Bruno Haible  <bruno@clisp.org>
103661         * gnulib-tool (func_import): Read the previous cached settings
103662         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103663         earlier added by gnulib but are now dropped. Warn when a gnulib file
103664         overwrites a non-gnulib file.
103666 2005-08-31  Bruno Haible  <bruno@clisp.org>
103668         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103669         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103670         projects that don't keep autogenerated files in CVS. Put into
103671         actioncmd only the specified modules, not the transitive closure.
103673 2005-08-31  Bruno Haible  <bruno@clisp.org>
103675         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103676         Create directories that shall be filled.
103677         (import): Don't look for gl_* macros in configure.ac. Recurse across
103678         all directories containing a gnulib-cache.m4 files, if meaningful.
103680 2005-08-31  Bruno Haible  <bruno@clisp.org>
103682         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103683         (import): Set seen_libtool when we see gl_LIBTOOL.
103685 2005-08-31  Bruno Haible  <bruno@clisp.org>
103687         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103688         declaration macro definitions from generated gnulib.m4.
103690 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103692         * lib/iconvme.h: Add prototype for iconv_alloc.
103694 2005-08-29  Simon Josefsson  <jas@extundo.com>
103696         * lib/iconvme.c: Fix errno.
103698 2005-08-29  Bruno Haible  <bruno@clisp.org>
103700         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103701         that it works when the directory contains spaces.
103703 2005-08-29  Bruno Haible  <bruno@clisp.org>
103705         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103707 2005-08-29  Bruno Haible  <bruno@clisp.org>
103709         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103710         Emit more advice.
103712 2005-08-29  Bruno Haible  <bruno@clisp.org>
103713         and Stepan Kasal  <kasal@ucw.cz>
103715         * check-module: If more parameters are given, check each of them
103716         separately; add more exceptions, as noted by Jim Meyering.
103717         (check_module): New procedure.
103718         (%exempt_header): Now contains all exceptions.
103720 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103722         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103724 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103726         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103728 2005-08-28  Bruno Haible  <bruno@clisp.org>
103730         * m4/gnulib-tool.m4: New file.
103732 2005-08-27  Jim Meyering  <jim@meyering.net>
103734         * modules/unistd-safer (Files): Add pipe-safer.c.
103735         * modules/fcntl-safer (Files): Add creat-safer.c.
103737 2005-08-27  Jim Meyering  <jim@meyering.net>
103739         * m4/stdlib-safer.m4: New file.  From coreutils.
103740         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103741         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103742         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103743         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103744         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103746 2005-08-27  Jim Meyering  <jim@meyering.net>
103748         * lib/fopen-safer.c: Merge minor changes from coreutils.
103749         * lib/dup-safer.c: Likewise.
103750         * lib/fd-safer.c: Likewise.
103752         Merge from coreutils.
103753         * lib/stdio--.h: New file.
103754         * lib/stdlib--.h: New file.
103755         * lib/mkstemp-safer.c: New file.
103757         GNU tar needs these.
103758         * lib/pipe-safer.c: New file.
103759         * lib/creat-safer.c: New file.
103760         * lib/fcntl--.h (creat): Define to creat_safer.
103761         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103762         * lib/unistd--.h (pipe): Define to pipe_safer.
103763         * lib/unistd-safer.h: Declare pipe_safer.
103765 2005-08-26  Simon Josefsson  <jas@extundo.com>
103767         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103768         Haible <bruno@clisp.org>.
103770 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103772         * lib/regex_internal.h: Remove all references to
103773         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103774         or better.
103775         (bitset_not, bitset_merge, bitset_not_merge):
103776         (bitset_mask, re_string_allocate, re_string_construct):
103777         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103778         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103779         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103780         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103781         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103782         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103783         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103784         (re_acquire_state_context):
103785         Remove unnecessary forward decls.
103786         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103787         Put __attribute at function definition,
103788         now that the function decl has been removed.
103789         * lib/regex_internal.c (re_string_peek_byte_case):
103790         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103791         Likewise.
103793 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103795         * m4/regex.m4: Add AC_PREREQ(2.50).
103796         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103798 2005-08-25  Simon Josefsson  <jas@extundo.com>
103800         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103801         __fsetlocking.
103803 2005-08-25  Simon Josefsson  <jas@extundo.com>
103805         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103806         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103807         GLIBC specific code.
103809 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103811         Make regex safe for g++.  This fixes one real bug (an "err"
103812         that should have been "*err").  g++ problem reported by
103813         Sam Steingold.
103814         * lib/regex_internal.h (re_calloc): New macro, consistent with
103815         re_malloc etc.  All callers of calloc changed to use re_calloc.
103816         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103817         not int.  All callers changed.
103818         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103819         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103820         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103821         (find_recover_state): Change "err" to "*err"; this fixes what
103822         appears to be a real bug.
103823         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103824         versus int.
103826 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103828         * modules/regex (Depends-on): Add malloc, since the code
103829         assumes that !malloc(0) means failure.
103831 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103833         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103835         alloca modernization/simplification for regex.
103836         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103837         needs to be at the start of the file, and can be moved into
103838         regex_internal.h and simplified.
103839         * lib/regex_internal.h: Include <alloca.h>.
103840         (__libc_use_alloca) [!defined _LIBC]: New macro.
103841         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103842         now works outside glibc.
103844 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103846         * config/srclist.txt: Add glibc bugs 1241, 1245.
103848 2005-08-25  Jim Meyering  <jim@meyering.net>
103850         * lib/open-safer.c: Include <config.h>.
103851         Otherwise, we'd lose LARGEFILE support in any file using
103852         e.g. "fcntl--.h"
103854 2005-08-25  Bruno Haible  <bruno@clisp.org>
103856         * m4/minmax.m4: Require autoconf 2.52.
103857         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103858         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103859         alternatives of translit over the alphabet.
103860         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103862 2005-08-24  Simon Josefsson  <jas@extundo.com>
103864         * tests/test-getpass.c: New file.
103866 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103868         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103869         for GNU regex features.
103871 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103873         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103874         * lib/regex.h (regerror): Likewise.
103876         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103877         requires this.  (The code never needed it.)
103879         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103880         All uses of recently-renamed identifiers changed to use the new,
103881         POSIX-compliant names.  The code will build and run just fine
103882         without these changes, but it's better to eat our own dog food
103883         and use the standard-conforming names.
103885         * lib/regex.h: Fix a multitude of POSIX name space violations.
103886         These changes have an effect only for programs that define
103887         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103888         do not change anything for programs compiled in the normal way.
103889         Also, there is no effect on the ABI.
103891         (_REGEX_SOURCE): New macro.
103892         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103893         defined and _GNU_SOURCE is not; this fixes a name space violation.
103895         Rename the following macros to obey POSIX requirements.
103896         The old names are still visible as macros if _REGEX_SOURCE is defined.
103897         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103898         RE_BACKSLASH_ESCAPE_IN_LISTS.
103899         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103900         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103901         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103902         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103903         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103904         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103905         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103906         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103907         (REG_INTERVALS): renamed from RE_INTERVALS.
103908         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103909         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103910         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103911         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103912         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103913         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103914         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103915         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103916         RE_UNMATCHED_RIGHT_PAREN_ORD.
103917         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103918         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103919         (REG_DEBUG): renamed from RE_DEBUG.
103920         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103921         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103922         unusual, since we can't clash with the POSIX REG_ICASE.
103923         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103924         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103925         (REG_NO_SUB): renamed from RE_NO_SUB.
103926         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103927         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103928         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103929         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103930         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103931         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103932         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103933         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103934         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103935         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103936         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103937         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103938         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103939         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103940         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103941         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103942         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103943         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103944         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103945         (REG_FIXED): Renamed from REGS_FIXED.
103946         (REG_NREGS): Renamed from RE_NREGS.
103948         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103949         of other REG_* macros, since POSIX says the user is allowed to
103950         #undef these macros selectively.
103952         (reg_errcode_t): Update comment stating what other tables need
103953         to be consistent.
103955         Rename the following enum values to obey POSIX requirements.
103956         The old names are still visible as macros.
103957         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103958         is not defined, since GNU is supposed to be a superset of POSIX as
103959         much as possible, and since we want reg_errcode_t to be a signed
103960         type for implementation consistency.
103961         (_REG_NOERROR): Renamed from REG_NOERROR.
103962         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103963         (_REG_BADPAT): Renamed from REG_BADPAT.
103964         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103965         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103966         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103967         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103968         (_REG_EBRACK): Renamed from REG_EBRACK.
103969         (_REG_EPAREN): Renamed from REG_EPAREN.
103970         (_REG_EBRACE): Renamed from REG_EBRACE.
103971         (_REG_BADBR): Renamed from REG_BADBR.
103972         (_REG_ERANGE): Renamed from REG_ERANGE.
103973         (_REG_ESPACE): Renamed from REG_ESPACE.
103974         (_REG_BADRPT): Renamed from REG_BADRPT.
103975         (_REG_EEND): Renamed from REG_EEND.
103976         (_REG_ESIZE): Renamed from REG_ESIZE.
103977         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103978         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103979         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103980         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103981         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103983         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103984         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103985         changed.  But support the old name if the new one is not defined
103986         and if _REGEX_SOURCE.
103988         Change the following member names in struct re_pattern_buffer.
103989         The old names are still supported if !_REGEX_SOURCE.
103990         The new names are always supported, regardless of _REGEX_SOURCE.
103991         (re_buffer): Renamed from buffer.
103992         (re_allocated): Renamed from allocated.
103993         (re_used): Renamed from used.
103994         (re_syntax): Renamed from syntax.
103995         (re_fastmap): Renamed from fastmap.
103996         (re_translate): Renamed from translate.
103997         (re_can_be_null): Renamed from can_be_null.
103998         (re_regs_allocated): Renamed from regs_allocated.
103999         (re_fastmap_accurate): Renamed from fastmap_accurate.
104000         (re_no_sub): Renamed from no_sub.
104001         (re_not_bol): Renamed from not_bol.
104002         (re_not_eol): Renamed from not_eol.
104003         (re_newline_anchor): Renamed from newline_anchor.
104005         Change the following member names in struct re_registers.
104006         The old names are still supported if !_REGEX_SOURCE.
104007         The new names are always supported, regardless of _REGEX_SOURCE.
104008         (rm_num_regs): Renamed from num_regs.
104009         (rm_start): Renamed from start.
104010         (rm_end): Renamed from end.
104012         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
104013         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
104014         Prepend __ to parameter names.
104016         Undo yesterday's changes.
104018 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104020         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
104021         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
104022         lib/regex.c.
104024 2005-08-24  Jim Meyering  <jim@meyering.net>
104026         Sync from coreutils.
104027         * m4/fcntl-safer.m4: New file.
104029         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
104030         and object files for this module.
104032 2005-08-24  Jim Meyering  <jim@meyering.net>
104034         Sync from coreutils.
104035         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
104037 2005-08-24  Jim Meyering  <jim@meyering.net>
104039         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
104040         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
104042 2005-08-24  Jim Meyering  <jim@meyering.net>
104044         * modules/fcntl-safer: New module.
104045         * modules/fts (Depends-on): Add fcntl-safer.
104046         * MODULES.html.sh (File descriptor based Input/Output):
104047         Add fcntl-safer.
104049 2005-08-24  Bruno Haible  <bruno@clisp.org>
104051         Support for unit test modules.
104052         * modules/README: Mention tests modules.
104053         * modules/TEMPLATE-TESTS: New file.
104054         * gnulib-tool: New options --extract-tests-module, --with-tests and
104055         --tests-base (unused for the moment).
104056         (testsbase, inctests): New variables.
104057         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
104058         (func_verify_module): Exclude TEMPLATE-TESTS.
104059         (func_verify_nontests_module, func_verify_tests_module): New functions.
104060         (func_get_dependencies): Add implicit dependency for tests modules.
104061         (func_get_tests_module): New function.
104062         (func_modules_transitive_closure): When --with-tests was specified,
104063         include the unit tests as well, unless explicitly avoided.
104064         (func_emit_lib_Makefile_am): Ignore the tests modules here.
104065         (func_emit_tests_Makefile_am): New function.
104066         (func_create_testdir): When --with-tests was specified, emit a
104067         tests/ directory.
104068         * MODULES.html.sh (Future developments): Update.
104070 2005-08-24  Bruno Haible  <bruno@clisp.org>
104072         * modules/tls-tests: New file.
104073         * tests/test-tls.c: New file, from GNU gettext.
104075 2005-08-24  Bruno Haible  <bruno@clisp.org>
104077         * modules/lock-tests: New file.
104078         * tests/test-lock.c: New file, from GNU gettext.
104080 2005-08-24  Bruno Haible  <bruno@clisp.org>
104082         * lib/lock.h: Add multiple inclusion guard.
104083         * lib/tls.h: Add multiple inclusion guard.
104085 2005-08-24  Bruno Haible  <bruno@clisp.org>
104087         * gnulib-tool: Add support for the --aux-dir option to
104088         --create-testdir, --create-megatestdir, --test, --megatest.
104089         (func_create_testdir, func_create_megatestdir): Optionally emit a
104090         AC_CONFIG_AUX_DIR directive.
104091         (create-testdir, create-megatestdir, test, megatest): Provide a
104092         default value for $auxdir.
104094 2005-08-24  Bruno Haible  <bruno@clisp.org>
104096         * gnulib-tool (import): Use compound statement instead of subshell
104097         where possible.
104099 2005-08-24  Bruno Haible  <bruno@clisp.org>
104101         * gnulib-tool (import): Change --aux-dir default to "build-aux".
104103 2005-08-24  Bruno Haible  <bruno@clisp.org>
104105         * gnulib-tool (func_version): Update.
104107 2005-08-24  Bruno Haible  <bruno@clisp.org>
104109         * gnulib-tool (func_import, func_create_testdir,
104110         func_create_megatestdir): Quote all autoconf macro arguments.
104112 2005-08-24  Bruno Haible  <bruno@clisp.org>
104114         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
104115         option --force, because --force causes the aclocal.m4 of each
104116         subdirectory to be newer than the corresponding config.h.in.
104118 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104120         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
104121         All contents moved to gl_REGEX.
104122         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
104123         assume that it does.
104125 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104127         * lib/regex.h (REG_NOSYS)
104128         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
104129         Define, since POSIX requires it as of 2001.
104130         (_REG_ENOSYS)
104131         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
104132         New private symbol, used to keep the enum signed in all cases.
104133         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
104134         Youngman in
104135         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
104137         * lib/regex_internal.c (re_string_skip_chars, register_state):
104138         (calc_state_hash):
104139         Remove forward decls; no longer needed now that we use prototypes.
104140         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
104141         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
104142         (clean_state_log_if_needed): Likewise.
104144 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104146         * config/srclist.txt: Add glibc bugs 1231-1233.
104148 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104150         Fix problems reported by Sam Steingold in
104151         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
104152         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
104153         assumed that reg_errcode_t is a signed type, which is not
104154         necessarily true if _XOPEN_SOURCE is not defined.
104155         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
104156         since some compilers warn about it otherwise.
104158 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104160         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
104161         (init_word_char, create_initial_state, duplicate_node_closure):
104162         (fetch_token, peek_token_bracket, build_range_exp):
104163         (build_collating_symbol): Remove forward decls; no longer needed
104164         now that we use prototypes.
104166         * lib/regcomp.c:
104167         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
104168         (re_compile_fastmap_iter, regcomp, regerror, regfree):
104169         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
104170         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
104171         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
104172         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
104173         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
104174         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
104175         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
104176         (build_range_exp, build_collating_symbol, parse_bracket_exp):
104177         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
104178         (build_charclass, build_charclass_op, fetch_number, create_tree):
104179         (create_token_tree, mark_opt_subexp, duplicate_tree):
104180         Use prototypes rather than old-style definitions.
104182         * lib/regex_internal.c:
104183         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
104184         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
104185         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104186         (re_string_reconstruct, re_string_peek_byte_case):
104187         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
104188         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104189         (re_node_set_init_copy, re_node_set_add_intersect):
104190         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104191         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104192         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104193         (re_acquire_state, re_acquire_state_context, register_state):
104194         (create_ci_newstate, create_cd_newstate, free_state):
104195         Likewise.
104196         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
104197         re_search_2):
104198         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
104199         (re_search_internal, prune_impossible_nodes):
104200         (acquire_init_state_context, check_matching, static):
104201         (check_halt_node_context, check_halt_state_context, proceed_next_node):
104202         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
104203         (update_regs, sift_states_backward, build_sifted_states):
104204         (clean_state_log_if_needed, merge_state_array):
104205         (update_cur_sifted_state, add_epsilon_src_nodes):
104206         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
104207         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
104208         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
104209         (find_recover_state, check_subexp_matching_top, transit_state_mb):
104210         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
104211         (check_arrival, check_arrival_add_next_nodes):
104212         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
104213         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
104214         (check_node_accept_bytes, check_node_accept, extend_buffers):
104215         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
104216         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
104217         (sift_ctx_init):
104218         Likewise.
104220         * lib/regex_internal.h:
104221         (re_string_allocate, re_string_construct, re_string_reconstruct):
104222         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
104223         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
104224         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
104225         (re_string_context_at, re_string_peek_byte_case):
104226         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
104227         is defined, since we now use prototypes always.
104229         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
104230         C89 or better.  All uses removed.
104232 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104234         * config/srclist.txt: Add glibc bugs 1220-1227.
104236 2005-08-20  Jim Meyering  <jim@meyering.net>
104238         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
104239         of unused local, dfa.
104241 2005-08-20  Bruno Haible  <bruno@clisp.org>
104243         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
104245 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104247         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
104248         (re_node_set_insert_last, re_dfa_add_node):
104249         Rename local variables to avoid GCC shadowing warnings.
104251 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104253         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
104254         [defined lint]: Suppress bogus uninitialized-variable warnings.
104256         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
104257         and let the caller return REG_ESPACE if out of space.  This
104258         removes an uninitialied-variable warning with GCC 4.0.1, and also
104259         avoids taking the address of a local variable.  All callers
104260         changed.
104262 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104264         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
104265         $LIBCSRC/posix/regexec.c.
104266         Add glibc bug 1217 for regcomp.c.
104268 2005-08-19  Jim Meyering  <jim@meyering.net>
104270         * lib/regexec.c (proceed_next_node): Redo local variables to
104271         avoid GCC shadowing warnings.
104273 2005-08-18  Bruno Haible  <bruno@clisp.org>
104275         * lib/strstr.c (strstr): Fix return value in multibyte case.
104276         * lib/strcasestr.c (strcasestr): Likewise.
104278 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
104280         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
104282 2005-08-17  Jim Meyering  <jim@meyering.net>
104284         Make the %s format (seconds since the epoch) work for a negative
104285         number and when used with a zero-padded field width, e.g. %015s.
104287         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
104288         label so that it precedes the code to set `digits'.  Otherwise,
104289         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
104290         print `00-22'.  Now, it prints `-0022', as it should.
104292 2005-08-17  Bruno Haible  <bruno@clisp.org>
104294         * modules/strstr (Files): Add m4/mbrtowc.m4.
104295         (Depends-on): Add mbuiter.
104297 2005-08-17  Bruno Haible  <bruno@clisp.org>
104299         * modules/strcasestr: New file.
104300         * MODULES.html.sh (String handling, based on ANSI C 89): Add
104301         strcasestr.
104303 2005-08-17  Bruno Haible  <bruno@clisp.org>
104305         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
104307 2005-08-17  Bruno Haible  <bruno@clisp.org>
104309         * modules/mbuiter: New file.
104310         * MODULES.html.sh (Extended multibyte and wide character utilities):
104311         Add mbuiter.
104313 2005-08-17  Bruno Haible  <bruno@clisp.org>
104315         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
104316         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
104318 2005-08-17  Bruno Haible  <bruno@clisp.org>
104320         * m4/strcasestr.m4: New file.
104322 2005-08-17  Bruno Haible  <bruno@clisp.org>
104324         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
104325         * lib/strstr.c: Completely rewritten, with multibyte locale support.
104327 2005-08-17  Bruno Haible  <bruno@clisp.org>
104329         * lib/strcasestr.h: New file.
104330         * lib/strcasestr.c: New file.
104332 2005-08-17  Bruno Haible  <bruno@clisp.org>
104334         * lib/strcasecmp.c: Use mbuiter.h.
104336 2005-08-17  Bruno Haible  <bruno@clisp.org>
104338         * lib/mbuiter.h: New file.
104340 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
104342         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
104343         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
104344         and gl_GETOPT are both invoked via different paths (as happens
104345         with GNU tar CVS because it uses both argp and getopt), the former
104346         wins.
104348 2005-08-16  Bruno Haible  <bruno@clisp.org>
104350         * modules/tls: New file.
104351         * MODULES.html.sh (Multithreading): Add tls.
104353 2005-08-16  Bruno Haible  <bruno@clisp.org>
104355         * modules/strnlen1: New file.
104356         * MODULES.html.sh (String handling): Add strnlen1.
104358 2005-08-16  Bruno Haible  <bruno@clisp.org>
104360         * modules/strcase (Files): Add m4/mbrtowc.m4.
104361         (Depends-on): Add strnlen1, mbchar.
104363 2005-08-16  Bruno Haible  <bruno@clisp.org>
104365         * modules/mbiter: New file.
104366         * MODULES.html.sh (Extended multibyte and wide character utilities):
104367         Add mbiter.
104369 2005-08-16  Bruno Haible  <bruno@clisp.org>
104371         * modules/mbfile: New file.
104372         * MODULES.html.sh (Extended multibyte and wide character utilities):
104373         Add mbfile.
104375 2005-08-16  Bruno Haible  <bruno@clisp.org>
104377         * modules/mbchar: New file.
104378         * MODULES.html.sh (Extended multibyte and wide character utilities):
104379         New section.
104381 2005-08-16  Bruno Haible  <bruno@clisp.org>
104383         * m4/tls.m4: New file, from GNU gettext.
104385 2005-08-16  Bruno Haible  <bruno@clisp.org>
104387         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
104388         always.
104389         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
104391 2005-08-16  Bruno Haible  <bruno@clisp.org>
104393         * m4/mbiter.m4: New file.
104395 2005-08-16  Bruno Haible  <bruno@clisp.org>
104397         * m4/mbfile.m4: New file.
104399 2005-08-16  Bruno Haible  <bruno@clisp.org>
104401         * m4/mbchar.m4: New file.
104403 2005-08-16  Bruno Haible  <bruno@clisp.org>
104405         * lib/tls.h: New file, from GNU gettext.
104406         * lib/tls.c: New file, from GNU gettext.
104408 2005-08-16  Bruno Haible  <bruno@clisp.org>
104410         * lib/strnlen1.h: New file.
104411         * lib/strnlen1.c: New file.
104413 2005-08-16  Bruno Haible  <bruno@clisp.org>
104415         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
104416         (mbi_init): Update.
104417         (mbi_avail, mbi_advance): Let the iteration end before the terminating
104418         NUL byte, not after it.
104420 2005-08-16  Bruno Haible  <bruno@clisp.org>
104422         * lib/strcase.h (strcasecmp): Add note in comments.
104423         * lib/strncasecmp.c: Use code from strcasecmp.c.
104424         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
104425         (strcasecmp): Work correctly in multibyte locales.
104427 2005-08-16  Bruno Haible  <bruno@clisp.org>
104429         * lib/mbiter.h: New file.
104431 2005-08-16  Bruno Haible  <bruno@clisp.org>
104433         * lib/mbfile.h: New file.
104435 2005-08-16  Bruno Haible  <bruno@clisp.org>
104437         * lib/mbchar.h: New file.
104438         * lib/mbchar.c: New file.
104440 2005-08-16  Bruno Haible  <bruno@clisp.org>
104442         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
104443         the valid ones. Makes the comparison operations transitive:
104444         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
104445         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
104447 2005-08-15  Simon Josefsson  <jas@extundo.com>
104449         * modules/ssize_t (License): Change to 'unlimited'.
104451         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
104453 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
104455         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
104456         Add comments for each pending glibc patch.
104458 2005-08-15  Bruno Haible  <bruno@clisp.org>
104460         * lib/regex.h (__restrict_arr): Don't define to __restrict if
104461         __cplusplus is defined.
104463 2005-08-14  Jim Meyering  <jim@meyering.net>
104465         Sync from coreutils.
104467         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
104468         Use the hash-table-based cycle-detection code not just when
104469         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
104470         Reported by James Youngman in
104471         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104472         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104473         FTS_TIGHT_CYCLE_CHECK.
104474         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104475         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104476         once again.
104477         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104478         * lib/fts.c (fd_safer): Remove decl.
104479         Include fcntl--.h rather than unistd-safer.h
104480         (fts_safe_changedir): Don't call fd_safer; no longer needed
104481         now that we include fcntl--.h.
104483 2005-08-12  Simon Josefsson  <jas@extundo.com>
104485         * modules/getndelim2: Use ssize_t module.
104486         * modules/getnline: Likewise.
104487         * modules/safe-read: Likewise.
104488         * modules/xreadlink: Likewise.
104490         * modules/ssize_t: New file.
104492 2005-08-12  Simon Josefsson  <jas@extundo.com>
104494         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104496 2005-08-12  Simon Josefsson  <jas@extundo.com>
104498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104499         ssize_t.
104501 2005-08-12  Simon Josefsson  <jas@extundo.com>
104503         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104504         readline, getdelim and check_version.
104505         (Support for systems lacking ISO C 99: Sizes of integer types):
104506         Add size_max.
104508 2005-08-12  Bruno Haible  <bruno@clisp.org>
104510         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104512 2005-08-11  Simon Josefsson  <jas@extundo.com>
104514         * modules/readline: New file.
104516         * modules/strnlen (Files): Add strnlen.h.
104518 2005-08-11  Simon Josefsson  <jas@extundo.com>
104520         * m4/readline.m4: New file.
104522 2005-08-11  Simon Josefsson  <jas@extundo.com>
104524         * lib/readline.h, readline.c: New file.
104526 2005-08-11  Simon Josefsson  <jas@extundo.com>
104528         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104529         gl_AVOID.
104531 2005-08-11  Bruno Haible  <bruno@clisp.org>
104533         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104535 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104537         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104539 2005-08-10  Simon Josefsson  <jas@extundo.com>
104541         * tests/test-iconvme.c: New file.
104543 2005-08-10  Simon Josefsson  <jas@extundo.com>
104545         * m4/strnlen.m4: New file.
104547         * m4/strndup.m4: Don't check for strnlen declaration, done in
104548         strnlen.m4.
104550 2005-08-10  Simon Josefsson  <jas@extundo.com>
104552         * lib/strndup.c: Use strnlen.h.
104554         * lib/strnlen.h: New file.
104556 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104558         * README: Typos.
104560 2005-08-02  Simon Josefsson  <jas@extundo.com>
104562         * modules/readline: New file.
104564 2005-08-02  Simon Josefsson  <jas@extundo.com>
104566         * modules/getdelim: New file.
104568         * modules/getline: Rewrite, don't use getndelim2.
104570 2005-08-02  Simon Josefsson  <jas@extundo.com>
104572         * m4/getline.m4: Separate out getdelim stuff into separate module.
104574         * m4/getdelim.m4: New file.
104576 2005-08-02  Simon Josefsson  <jas@extundo.com>
104578         * lib/getline.h, getline.c: Rewrite.
104580         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104582 2005-07-31  Bruno Haible  <bruno@clisp.org>
104584         * lib/lock.h (gl_lock_initializer): New macro.
104585         (gl_lock_define_initialized): Use it.
104586         (gl_rwlock_initializer): New macro.
104587         (gl_rwlock_define_initialized): Use it.
104588         (gl_recursive_lock_initializer): New macro.
104589         (gl_recursive_lock_define_initialized): Use it.
104591 2005-07-30  Karl Berry  <karl@gnu.org>
104593         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104594         Report from Ben Pfaff, regarding getopt.
104596 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104598         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104599         normal way.
104600         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104601         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104602         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104603         (gl_GETOPT): Use the new macros.  Most of the implementation
104604         is moved to the new macros.  This is for programs like Emacs
104605         that don't want all the functionality of gl_GETOPT.
104607 2005-07-26  Bruno Haible  <bruno@clisp.org>
104609         * m4/lock.m4: Update from GNU gettext.
104611 2005-07-26  Bruno Haible  <bruno@clisp.org>
104613         * lib/lock.h: Update from GNU gettext.
104614         * lib/lock.c: Update from GNU gettext.
104616 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104618         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104619         obsolescent AC_TRY_RUN.  Include the default includes files, for
104620         'exit'.
104622 2005-07-24  Bruno Haible  <bruno@clisp.org>
104624         * modules/visibility: New file.
104625         * MODULES.html.sh (Misc): Add visibility.
104627 2005-07-24  Bruno Haible  <bruno@clisp.org>
104629         * m4/visibility.m4: New file.
104631 2005-07-24  Bruno Haible  <bruno@clisp.org>
104633         * doc/visibility.texi: New file.
104635 2005-07-22  Bruno Haible  <bruno@clisp.org>
104637         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104638         $(ALLOCA_H), redundant through BUILT_SOURCES.
104639         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104640         redundant through BUILT_SOURCES.
104641         * modules/byteswap (Makefile.am): Remove explicit dependency on
104642         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104643         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104644         $(FNMATCH_H), redundant through BUILT_SOURCES.
104645         * modules/getopt (Makefile.am): Remove explicit dependency on
104646         $(GETOPT_H), redundant through BUILT_SOURCES.
104647         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104648         redundant through BUILT_SOURCES.
104649         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104650         redundant through BUILT_SOURCES.
104651         * modules/stdbool (Makefile.am): Remove explicit dependency on
104652         $(STDBOOL_H), redundant through BUILT_SOURCES.
104653         * modules/stdint (Makefile.am): Remove explicit dependency on
104654         $(STDINT_H), redundant through BUILT_SOURCES.
104655         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104656         Remove explicit dependency on $(SYSEXITS_H).
104657         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104659 2005-07-18  Simon Josefsson  <jas@extundo.com>
104661         * lib/check-version.c (check_version): Accept identical versions too.
104663 2005-07-18  Bruno Haible  <bruno@clisp.org>
104665         * modules/lock: New file.
104666         * MODULES.html.sh (Multithreading): New section.
104668 2005-07-18  Bruno Haible  <bruno@clisp.org>
104670         * m4/lock.m4: New file, from GNU gettext.
104672 2005-07-18  Bruno Haible  <bruno@clisp.org>
104674         * lib/lock.h: New file, from GNU gettext.
104675         * lib/lock.c: New file, from GNU gettext.
104677 2005-07-18  Bruno Haible  <bruno@clisp.org>
104679         * lib/lock.h (gl_once_t): New type.
104680         (gl_once_define, gl_once): New macros.
104681         * lib/lock.c (fresh_once): New variable.
104682         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104683         functions.
104685 2005-07-16  Simon Josefsson  <jas@extundo.com>
104687         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104688         workaround, suggested by Bruno.
104690 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104692         * modules/xalloc (Depends-on): Add xalloc-die.
104693         * modules/xvasprintf (Depends-on): Add xalloc-die.
104695 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104697         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104698         with a minor change.
104700 2005-07-15  Bruno Haible  <bruno@clisp.org>
104702         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104703         When using lib/poll.c, define poll as rpl_poll.
104705 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104707         * modules/argp (Depends-on): Remove unlocked-io.
104709 2005-07-14  Derek Price  <derek@ximbiot.com>
104711         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104712         for glob symlink bug.
104714 2005-07-14  Bruno Haible  <bruno@clisp.org>
104716         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104717         Instead, test for *_unlocked function declarations directly.
104719 2005-07-11  Simon Josefsson  <jas@extundo.com>
104721         * modules/size_max: New file.
104723         * modules/xsize: Depend on size_max module for size_max.m4.
104725 2005-07-11  Simon Josefsson  <jas@extundo.com>
104727         * lib/size_max.h: New file.
104729 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104731         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104732         copyright symbol and the year.
104733         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104734         (version_etc_va): Use parameterized copyright notice.
104735         Reword to conform to the current GNU coding standards.
104737 2005-07-11  Karl Berry  <karl@gnu.org>
104739         * doc/gnulib.texi (Quoting): new node.
104740         (Initial import): more info, from Patrice.
104742 2005-07-11  Bruno Haible  <bruno@clisp.org>
104744         * gnulib-tool (func_usage): Document option --avoid.
104745         (Command line options): Handle --avoid.
104746         (func_acceptable): New function.
104747         (func_modules_transitive_closure): Use it.
104749 2005-07-11  Bruno Haible  <bruno@clisp.org>
104751         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104752         Reported by Jim Meyering.
104754 2005-07-10  Bruno Haible  <bruno@clisp.org>
104756         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104757         Needed when size_t is smaller than 'unsigned int'.
104758         Reported by Paul Eggert.
104760 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104762         * modules/argp (Depends-on): Add unlocked-io
104764 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104766         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104767         block of defines.
104769 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104771         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104772         fix now.
104774 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104775         and Paul Eggert  <eggert@cs.ucla.edu>
104777         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104778         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104780 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104782         * modules/regex (Files): Add lib/regex_internal.c,
104783         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104784         (Depends-on): Add extensions.
104785         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104787 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104789         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104790         pathconf.
104791         * m4/same.m4 (gl_SAME): Likewise.
104792         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104794         * m4/regex.m4: Adjust to new libc regex implementation.
104795         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104796         all the .c and .h parts of (the new) regex.
104797         Quote the m4 stuff better.
104798         Check for RE_ICASE bug of old gnulib.
104799         Check for REG_STARTEND of recent libc.
104800         Rename local variables from jm_* to gl_*.
104801         Quote operand of "test -f".
104802         Say "recent enough" version of libc, not "version 2".
104803         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104804         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104805         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104806         Remove check for btowc, isascii.
104807         Require AM_LANGINFO_CODESET.
104809 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104811         * lib/regex.c, regex.h: Sync from libc.
104812         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104813         * lib/regexec.c:
104814         New files, synced from libc, except that regex_internal.h
104815         currently has a small porting fix.
104817 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104819         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104820         regex_internal.c, regexec.c.
104821         Add regex_internal.h too, but as a comment, since the libc version
104822         is currently broken in gnulib mode.
104824 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104826         Support programs like Emacs that use gnulib but not gettext.
104827         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104828         * modules/gettext-h: New file.
104829         * modules/gettext (Files): Remove lib/gettext.h.
104830         (Depends-on): Add gettext-h.
104831         (Makefile.am): Remove lib_SOURCES.
104832         * modules/argmatch, modules/c-stack, modules/closeout:
104833         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104834         * modules/execute, modules/file-type, modules/getaddrinfo:
104835         * modules/getopt, modules/human, modules/javacomp:
104836         * modules/javaexec, modules/mkdir-p, modules/obstack:
104837         * modules/openat, modules/pagealign_alloc, modules/pipe:
104838         * modules/quotearg, modules/regex, modules/rpmatch:
104839         * modules/unicodeio, modules/userspec, modules/version-etc:
104840         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104841         * modules/xsetenv:
104842         Depend on gettext-h, not gettext.
104844 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104846         * gnulib-tool (func_import): Add support for 'public domain' license.
104847         * modules/alloca, modules/atexit, modules/memmove:
104848         Now public domain, not GPL.
104849         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104850         * modules/realloc, modules/strerror, modules/strtod:
104851         Now LGPL, not GPL.
104853 2005-07-05  Bruno Haible  <bruno@clisp.org>
104855         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104856         autoconf CVS. Needed for mingw.
104858 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104860         Remove the dependency of the strftime module on the tzset module.
104861         * modules/strftime (Depends-on): Remove dependency on tzset.
104863 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104865         Remove the dependency of the strftime module on the tzset module.
104866         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104867         gl_FUNC_TZSET_CLOBBER.
104869 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104871         Remove the dependency of the strftime module on the tzset module.
104872         * lib/strftime.c (my_strftime)
104873         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104874         Copy the input structure, to work around some of the bug with
104875         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104876         Solaris releases, you should also use the tzset module, but we won't
104877         require it as a dependency any more since we don't want LGPLed code
104878         to depend on GPLed code.
104880 2005-07-02  Jim Meyering  <jim@meyering.net>
104882         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104883         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104884         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104885         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104887 2005-07-02  Jim Meyering  <jim@meyering.net>
104889         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104891 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104893         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104894         declares only 'struct timespec;' (!).
104896 2005-07-01  Jim Meyering  <jim@meyering.net>
104898         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104899         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104900         * lib/save-cwd.c, tempname.c:
104901         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104902         and don't include <sys/file.h>).
104904 2005-06-29  Jim Meyering  <jim@meyering.net>
104906         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104907         type name.  Use the variable name instead.
104908         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104909         Likewise.
104911 2005-06-28  Simon Josefsson  <jas@extundo.com>
104913         * modules/check-version (Files): Add check-version.m4.
104915 2005-06-28  Simon Josefsson  <jas@extundo.com>
104917         * m4/check-version.m4: New file, suggested by Jim Meyering
104918         <jim@meyering.net>.
104920 2005-06-28  Simon Josefsson  <jas@extundo.com>
104922         * lib/check-version.h, lib/check-version.c: New files.
104924 2005-06-28  Simon Josefsson  <jas@extundo.com>
104926         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104927         collision with global variable.  Better indentation.  Don't
104928         increment buffer pointer beyond buffer end.  Based on comments
104929         from Paul Eggert <eggert@cs.ucla.edu>.
104931         * lib/base64.h: Indent.
104933 2005-06-28  Simon Josefsson  <jas@extundo.com>
104935         * doc/gnulib.texi (Library version handling): New section.
104937 2005-06-28  Jim Meyering  <jim@meyering.net>
104939         * check-module (find_included_lib_files): Hard-code another
104940         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104941         but modules/fts-lgpl (correctly) does not list those files.
104943         * modules/canonicalize (Files): Add lib/pathmax.h.
104945 2005-06-25  Simon Josefsson  <jas@extundo.com>
104947         * modules/check-version: New file.
104949 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104951         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104952         initializer of struct addrinfo, as an indication that we don't
104953         care how many members the structure has.
104955 2005-06-24  Derek Price  <derek@ximbiot.com>
104956         and Bruno Haible  <bruno@clisp.org>
104958         Remove stat module & update lstat.
104959         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104960         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104961         * m4/stat.m4: Remove this file.
104963 2005-06-24  Derek Price  <derek@ximbiot.com>
104964         and Bruno Haible  <bruno@clisp.org>
104966         Remove stat module & update lstat.
104967         * lib/stat.c: Remove this file...
104968         (slash_aware_lstat): ...moving this content and its support...
104969         * lib/lstat.c (rpl_lstat): ...into here.
104970         * lib/lstat.h: New file.
104972 2005-06-24  Derek Price  <derek@ximbiot.com>
104973         and Bruno Haible  <bruno@clisp.org>
104975         Remove stat module & update lstat.
104976         * config/srclist.txt (libc sources): Remove stat.
104978 2005-06-24  Derek Price  <derek@ximbiot.com>
104979         and Bruno Haible  <bruno@clisp.org>
104981         Remove stat module & update lstat.
104982         * MODULES.html.sh (stat): Remove.
104983         * MODULES.html: Regenerated.
104984         * modules/lstat (Description): Correct function name.
104985         (Files): Add "lstat.h".
104986         (Depends-on): Remove stat, add xalloc, stat-macros.
104987         * modules/stat: Remove this file.
104988         (Include): Add "lstat.h", remove <sys/stat.h>.
104990 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104992         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104993         (ranged_convert): Don't save conversion in a temporary struct.
104994         This causes a warning with GCC 4.0.0, and anyway in the typical
104995         case it's not worth the extra 100 bytes or so of code.
104996         (ranged_convert, __mktime_internal): When calling a function via a
104997         pointer P, use P () rather than (*P) (), as we now assume C89 or
104998         better.
105000 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
105002         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
105003         "who -r" failed to give output.  Problem reported by Tim Waugh.
105005         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
105006         (xcalloc): Use it to avoid needless tests.
105007         Problem reported by Jim Meyering.
105009 2005-06-20  Derek Price  <derek@ximbiot.com>
105011         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
105012         unnecessary for Autoconfs > 2.59c.
105014 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105016         * lib/argp.h (__option_is_short): Check upper limit of
105017         __key. Isprint() requires its argument to have the value
105018         of an unsigned char or EOF.
105020 2005-06-16  Jim Meyering  <jim@meyering.net>
105022         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
105023         when either N or S is zero.
105025 2005-06-16  Derek Price  <derek@ximbiot.com>
105027         * m4/bison.m4: Declare YACC & YFLAGS precious.
105029 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
105031         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
105032         multibyte string or pattern, fall back on unibyte matching.
105033         Problem reported by James Youngman.
105035 2005-06-08  Bruno Haible  <bruno@clisp.org>
105037         * modules/csharpcomp: New file.
105038         * MODULES.html.sh (C#): Add csharpcomp.
105040 2005-06-08  Bruno Haible  <bruno@clisp.org>
105042         * m4/csharpcomp.m4: New file, from GNU gettext.
105044 2005-06-08  Bruno Haible  <bruno@clisp.org>
105046         * lib/csharpcomp.h: New file, from GNU gettext.
105047         * lib/csharpcomp.c: New file, from GNU gettext.
105048         * lib/csharpcomp.sh.in: New file, from GNU gettext.
105050 2005-06-08  Bruno Haible  <bruno@clisp.org>
105052         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
105053         warning on mingw.
105055 2005-06-07  Derek Price  <derek@ximbiot.com>
105057         Sync from CVS.
105058         * lib/glob_.h: Indent nested #ifdef.
105060 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105062         Sync from coreutils.
105063         Use "file name" when talking about file names, instead of "filename"
105064         or "path", as per the GNU coding standards.
105065         * lib/mkdir-p.c: Renamed from makepath.c.
105066         (make_dir_parents): Renamed from make_path.  All callers changed.
105067         * lib/mkdir-p.h: Likewise.  All includers changed.
105068         * lib/filenamecat.c: Renamed from path-concat.c.
105069         (file_name_concat): Renamed from path_concat.  All callers changed.
105070         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
105071         * lib/filenamecat.h: Likewise.  All includers changed.
105072         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
105073         in comments or local variable names.
105074         * lib/basename.c: Likewise.
105075         * lib/canonicalize.c, canonicalize.h: Likewise.
105076         * lib/dirname.c, dirname.h: Likewise.
105077         * lib/euidaccess.c: Likewise.
105078         * lib/exclude.c: Likewise
105079         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
105080         * lib/fsusage.c, fsuage.h: Likewise.
105081         * lib/fts.c, fts_.h: Likewise.
105082         * lib/getcwd.c: Likewise.
105083         * lib/getloadavg.c: Likewise.
105084         * lib/mkstemp.c: Likewise.
105085         * lib/mountlist.c, mountlist.h: Likewise.
105086         * lib/openat.c, openat.h: Likewise.
105087         * lib/readlink-stub.c: Likewise.
105088         * lib/readutmp.c, readutmp.h: Likewise.
105089         * lib/rename.c: Likewise.
105090         * lib/rmdir.c: Likewise.
105091         * lib/same.c: Likewise.
105092         * lib/savedir.c: Likewise.
105093         * lib/stripslash.c: Likewise.
105094         * lib/tempname.c: Likewise.
105095         * lib/xreadlink.c: Likewise.
105096         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
105097         All uses changed.
105098         * lib/exclude.h: Likewise.
105100         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
105101         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105102         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
105103         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105104         * lib/pathmax.h: Include <limits.h> unconditionally, since other
105105         files have been getting away with it for years (MORE/BSD 4.3
105106         is extinct now).
105107         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
105108         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105110         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
105111         Define to 256, not 255, as per modern POSIX.
105113 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105115         Sync from coreutils.
105116         Use "file name" when talking about file names, instead of "filename"
105117         or "path", as per the GNU coding standards.
105118         * MODULES.html.sh: mkdir-p renamed from makepath.
105119         filenamecat renamed from path-concat.
105120         * modules/filenamecat: Renamed from modules/path-concat.
105121         (Files): filenamecat.h and filenamecat.c renamed from
105122         path-concat.h and path-concat.c.
105123         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
105124         (Include): filenamecat.h, not path-concat.h.
105125         * modules/mkdir-p: Renamed from modules/makepath.
105126         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
105127         makepath.c.
105128         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
105129         (Include): mkdir-p.h, not makepath.h.
105131 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105133         Sync from coreutils.
105134         * m4/mkdir-p.m4: Renamed from makepath.m4.
105135         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
105136         Rename files from makepath.c to mkdir-p.c, and from
105137         makepath.h to mkdir-p.h.
105138         * m4/filenamecat.m4: Renamed from path-concat.m4.
105139         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
105140         Rename files from path-concat.c to filenamecat.c,
105141         and from path-concat.h to filenamecat.h.
105142         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
105143         "file name" in local variables or comments.
105144         * m4/rename.m4: Likewise.
105146 2005-06-01  Bruno Haible  <bruno@clisp.org>
105148         * modules/csharpexec: New file.
105149         * MODULES.html.sh (C#): New section.
105151 2005-06-01  Bruno Haible  <bruno@clisp.org>
105153         * m4/csharp.m4: New file, from GNU gettext.
105154         * m4/csharpexec.m4: New file, from GNU gettext.
105156 2005-06-01  Bruno Haible  <bruno@clisp.org>
105158         * lib/csharpexec.h: New file, from GNU gettext.
105159         * lib/csharpexec.c: New file, from GNU gettext.
105160         * lib/csharpexec.sh.in: New file, from GNU gettext.
105162 2005-05-31  Derek Price  <derek@ximbiot.com>
105163             Paul Eggert  <eggert@cs.ucla.edu>
105165         Sync from cvs.
105166         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105168 2005-05-31  Derek Price  <derek@ximbiot.com>
105169             Paul Eggert  <eggert@cs.ucla.edu>
105171         Sync from cvs.
105172         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105174 2005-05-29  Derek Price  <derek@ximbiot.com>
105176         * config/srclist.txt (glob_.h, glob.c): Add these files.
105178 2005-05-29  Derek Price  <derek@ximbiot.com>
105180         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
105181         * modules/glob: New file.
105182         * modules/getlogin_r: Add link to POSIX spec in description.
105184 2005-05-29  Derek Price  <derek@ximbiot.com>
105185             Paul Eggert  <eggert@cs.ucla.edu>
105187         * m4/glob.m4: New file.
105189 2005-05-29  Derek Price  <derek@ximbiot.com>
105190             Paul Eggert  <eggert@cs.ucla.edu>
105192         * lib/glob_.h, lib/glob.c: New files.
105194 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105196         * modules/fts (Files): Remove m4/inttypes-pri.m4.
105197         * modules/fts-lgpl (Depends-on): Remove gettext.
105199 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105201         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
105202         and don't require gt_INTTYPES_PRI.
105204 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105206         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
105208         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
105209         the configuration hassle isn't worth it.
105210         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
105211         (LONGEST_MODIFIER, PRIuMAX): Remove.
105213 2005-05-27  Bruno Haible  <bruno@clisp.org>
105215         * lib/getlogin_r.h: Remove second include of <stddef.h>.
105217 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
105219         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
105220         _POSIX_PTHREAD_SEMANTICS for Solaris.
105222 2005-05-25  Derek Price  <derek@ximbiot.com>
105224         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
105226 2005-05-25  Derek Price  <derek@ximbiot.com>
105227             Paul Eggert  <eggert@cs.ucla.edu>
105229         * modules/getlogin_r, m4/getlogin_r.m4: New files.
105230         * lib/getlogin_r.c, getlogin_r.h: New files.
105232 2005-05-25  Bruno Haible  <bruno@clisp.org>
105233             Derek Price  <derek@ximbiot.com>
105235         * lib/getlogin_r.h: Simplify API documentation.
105237 2005-05-23  Derek Price  <derek@ximbiot.com>
105239         * modules/minmax (Files): Add m4/minmax.m4.
105240         (configure.ac): Add gl_MINMAX.
105242 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
105244         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
105245         so that unistd-safer.h (GPL'ed code) need not be included.
105247 2005-05-22  Bruno Haible  <bruno@clisp.org>
105249         * m4/minmax.m4: New file.
105250         Based on a patch by Derek Price <derek@ximbiot.com>.
105252 2005-05-22  Bruno Haible  <bruno@clisp.org>
105254         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
105255         (INT64_MIN): Fix definition.
105256         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
105258         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
105259         NEED_SIGNED_INT_TYPES.
105261         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
105262         HAVE_SYSTEM_INTTYPES.
105264 2005-05-22  Bruno Haible  <bruno@clisp.org>
105266         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
105267         Also include <sys/param.h> if it defines MIN, MAX.
105268         Based on a patch by Derek Price <derek@ximbiot.com>.
105270 2005-05-21  Jim Meyering  <jim@meyering.net>
105272         * modules/fts (Files): Add m4/inttypes-pri.m4.
105273         (Depends-on): Add lstat and remove gettext.  Alphabetize.
105275 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105277         New fts module.
105278         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
105279         (setup_dir, free_dir): New functions.
105280         (enter_dir, leave_dir): Define trivial
105281         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
105282         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
105283         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
105284         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
105285         Move to fts-cycle.c.
105286         (fts_open): Use setup_dir.
105287         (fts_close): Use free_dir.
105288         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
105289         This adds a label and some gotos, but the alternatives were messier.
105290         Check for memory allocation failure when entering a dir.
105291         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
105292         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
105293         (FTS): New member fts_cycle, that is a union that contains the
105294         old active_dir_ht and cycle_state.  All uses changed to mention
105295         fts_cycle.ht and fts_cycle.state.
105296         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
105297         fts.c, with the following changes:
105298         (setup_dir, free_dir): New functions.
105299         (enter_dir): Now returns bool.  Return true if successful, false
105300         if memory exhausted.  All callers changed.
105301         Do not bother partly cleaning up on
105302         memory allocation failure; that is free_dir's job.
105303         However, free ad if hash_insert fails, to avoid memory leak.
105304         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
105305         fts->fts_options to see which union member to use.
105307 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105309         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
105310         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
105312 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105314         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
105316 2005-05-20  Jim Meyering  <jim@meyering.net>
105318         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
105319         Now a macro, to pacify GCC.
105321 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105323         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
105324         of -1.
105326 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105328         * lib/chown.c (rpl_chown): Return -1 on failure.
105330 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105332         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
105333         Don't check for stddef.h.
105334         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
105335         don't use its results.
105336         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
105337         since we include them unconditionally.  Don't require
105338         AM_STDBOOL_H, since stdbool is a prerequisite.
105339         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
105340         since we assume C89 or better.
105341         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
105342         as we don't use their results.
105343         Don't check for fchdir, memmove, memset, strrchr, as we use
105344         them unconditionally.
105345         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
105346         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
105348 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105350         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
105351         Include <stddef.h> unconditionally, since we assume C89 now.
105352         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
105353         * lib/fts.c: Include fts_.h first, to check interface.
105354         Do not include intprops.h; no longer needed.
105355         Include cycle-check.h and hash.h, since fts_.h no longer does.
105356         Remove unnecessary casts of closedir to void.
105357         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
105358         decide whether to decrement nlinks.
105359         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
105360         (FTS): Use struct hash_table * instead of Hash_table, so that
105361         we no longer need to include hash.h here.
105363 2005-05-18  Jim Meyering  <jim@meyering.net>
105365         * modules/dirfd (License): Change to LGPL.  Most of the code
105366         is already in the public domain.
105368 2005-05-18  Jim Meyering  <jim@meyering.net>
105370         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
105371         Reported by Yoann Vandoorselaere.
105373 2005-05-17  Jim Meyering  <jim@meyering.net>
105375         * m4/fts.m4: New file, from coreutils.
105377 2005-05-17  Jim Meyering  <jim@meyering.net>
105379         * lib/fts.c, lib/fts_.h: New files, from coreutils.
105381 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105383         Sync from coreutils.
105384         * m4/unlinkdir.m4: New file.
105386 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105388         Sync from coreutils.
105389         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
105390         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
105391         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
105392         White space changes only.
105393         * lib/makepath.c (make_path): Port to hosts where leading "//" is
105394         special.
105395         * lib/yesno.c: Include getline.h, not ctype.h.
105396         (yesno): Don't remove leading white space; POSIX doesn't allow it.
105397         Use getline to remove arbitrary restriction on response length.
105399 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105401         * config/srclist-update: Spell out "Street" in FSF postal
105402         mail address; this is the style the FSF seems to prefer.
105404         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
105405         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
105406         this updates FSF postal mail address.
105408         Sync from coreutils.
105409         * modules/unlinkdir: New file.
105410         * modules/yesno (Depends-on): Add getline.
105411         * MODULES.html.sh (File system functions): Add unlinkdir.
105413 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105415         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
105416         lib/strsep.h:
105417         Change the initial comment to refer to GPL, not LGPL.
105418         gnulib-tool will change it to LGPL as needed.
105420         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
105421         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
105422         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
105423         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
105424         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
105425         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
105426         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
105427         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
105428         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
105429         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
105430         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
105431         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
105432         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
105433         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
105434         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
105435         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
105436         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
105437         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
105438         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
105439         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
105440         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
105441         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
105442         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
105443         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
105444         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
105445         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
105446         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
105447         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
105448         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
105449         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
105450         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
105451         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
105452         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
105453         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
105454         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
105455         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
105456         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
105457         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
105458         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
105459         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
105460         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
105461         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
105462         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
105463         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
105464         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
105465         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
105466         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
105467         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
105468         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
105469         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
105470         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105471         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105472         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105473         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105474         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105475         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105476         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105477         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105478         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105479         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105480         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105481         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105482         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105483         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105484         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105485         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105486         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105487         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105488         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105489         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105490         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105491         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105492         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105493         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105494         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105495         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105496         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105497         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105498         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105499         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105500         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105501         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105502         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105503         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105504         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105505         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105506         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105507         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105508         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105509         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105510         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105511         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105512         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105513         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105514         lib/yesno.c, lib/yesno.h:
105515         Update FSF postal mail address.
105517 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105519         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105520         tests/test-memmem.c, tests/test-stpncpy.c:
105521         Update FSF postal mail address.
105523 2005-05-13  Bruno Haible  <bruno@clisp.org>
105525         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105526         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105527         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105528         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105529         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105530         Add support for 64-bit integers in the MSVC compiler.
105532 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105534         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105536 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105538         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105540 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105542         * doc/getdate.texi (General date syntax): Don't say that date
105543         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105544         Problem reported by Nic Ferrier.
105546 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105548         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105549         specified in ai_socktype. Fix invalid ai_protocol
105550         check. ai_protocol is usually set to 0 or depending on
105551         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105552         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105553         ai_socktype / ai_protocol in the returned addrinfo structure.
105555 2005-05-10  Simon Josefsson  <jas@extundo.com>
105557         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105558         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105560 2005-05-10  Karl Berry  <karl@gnu.org>
105562         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105563         (from http://www.gnu.org/licenses).
105564         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105565         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105566         fdl.texi suffices.
105568 2005-05-10  Karl Berry  <karl@gnu.org>
105570         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105571         (COPYING.DOC): remove.
105573         * config/srclist-update: new FSF address.
105575 2005-05-10  Derek Price  <derek@ximbiot.com>
105577         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105578         possible.
105580 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105581             Bruno Haible  <bruno@clisp.org>
105583         * modules/inet_ntop: New file.
105584         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105585         inet_ntop.
105587 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105588             Bruno Haible  <bruno@clisp.org>
105590         * m4/inet_ntop.m4: New file.
105592 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105593             Bruno Haible  <bruno@clisp.org>
105595         * lib/inet_ntop.h: New file.
105596         * lib/inet_ntop.c: New file, from glibc with modifications.
105598 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105600         * modules/time_r (License): Change to LGPL.
105601         * modules/extensions (License): Change to LGPL.  Actually,
105602         the license is more permissive than that, but currently gnulib-tool
105603         doesn't know how to handle more-permissive licenses.
105605         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105606         Problem reported by Dave Love.
105608 2005-05-08  Jim Meyering  <jim@meyering.net>
105610         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105611         blank.
105613 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105615         * modules/argmatch (Depends-on): Add stdbool.
105616         * modules/backupfile (Depends-on): Likewise.
105617         * modules/chdir-long (Depends-on): Likewise.
105618         * modules/closeout (Depends-on): Likewise.
105619         * modules/cycle-check (Depends-on): Likewise.
105620         * modules/dirname (Depends-on): Likewise.
105621         * modules/fnmatch (Depends-on): Likewise.
105622         * modules/fsusage (Depends-on): Likewise.
105623         * modules/fwriteerror (Depends-on): Likewise.
105624         * modules/getcwd (Depends-on): Likewise.
105625         * modules/getloadavg (Depends-on): Likewise.
105626         * modules/hard-locale (Depends-on): Likewise.
105627         * modules/makepath (Depends-on): Likewise.
105628         * modules/mountlist (Depends-on): Likewise.
105629         * modules/nanosleep (Depends-on): Likewise.
105630         * modules/posixtm (Depends-on): Likewise.
105631         * modules/quotearg (Depends-on): Likewise.
105632         * modules/readtokens (Depends-on): Likewise.
105633         * modules/readtokens0 (Depends-on): Likewise.
105634         * modules/readutmp (Depends-on): Likewise.
105635         * modules/save-cwd (Depends-on): Likewise.
105636         * modules/strftime (Depends-on): Likewise.
105637         * modules/userspec (Depends-on): Likewise.
105638         * modules/utimecmp (Depends-on): Likewise.
105639         * modules/xgetcwd (Depends-on): Likewise.
105640         * modules/xnanosleep (Depends-on): Likewise.
105641         * modules/xstrtod (Depends-on): Likewise.
105642         * modules/yesno (Depends-on): Likewise.
105644 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105646         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105647         needless checks.
105649 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105651         Merge from coreutils.  Among other things,
105652         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105653         * lib/fd-safer.c: New file.
105654         * lib/fcntl-safer.h, open-safer.c: Remove.
105655         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105656         * lib/dup-safer.c: Include unistd-safer.h first.
105657         Don't include errno.h.
105658         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105659         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105660         * lib/file-type.c: Rely on file-type.h change.
105661         * lib/getloadavg.c: Include unistd-safer.h.
105662         (getloadavg): Use safer open.
105663         * lib/getusershell.c: Include "stdio-safer.h".
105664         (getusershell): Use safer fopen.
105665         * lib/long-options.c (long_options): Use NULL rather than 0.
105666         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105667         'free'.
105668         * lib/modechange.c: Likewise.
105669         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105670         (MODE_DONE): New constant.
105671         (struct mode_change): Remove 'next' member.
105672         (make_node_op_equals): New function; like the old one of the
105673         same name, except it allocates an array.
105674         (mode_compile, mode_create_from_ref): Use it.
105675         (mode_compile): Allocate result as an array, not a linked list.
105676         Parse octal string ourself, so that we catch mistakes like "+0".
105677         (mode_adjust): Arg is an array, not a linked list.
105678         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105679         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105680         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105681         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105682         Remove.  This is now stat-macros.h's job.
105683         (talloc): Remove.  All callers replaced by xalloc, so that
105684         our invokers don't have to worry about reporting memory failures.
105685         (make_node_op_equals): Remove.
105686         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105687         New constants.
105688         (struct mode_change): Moved here from modechange.h.
105689         (mode_append_entry): Remove.
105690         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105691         apps to have incorrect behavior.  Use simpler algorithm for head
105692         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105693         Detect more invalid usages rather than having somewhat-random behavior.
105694         Don't insert an "a=" action, as that leads to incorrect behavior.
105695         (mode_compile, mode_create_from_ref): Return NULL on error instead
105696         of an enum, since now there's only one way to have an error.  All
105697         callers changed.
105698         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105699         at the correct time.  Simplify calculation of "+u" and its ilk.
105700         Don't mishandle "+X".
105701         (mode_free): Remove "register" and localize decls.
105702         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105703         (struct mode_change): Move to modechange.c; callers don't
105704         need to see this stuff.
105705         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105706         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105707         (mode_change, mode_adjust): Reflect the new signatures noted above.
105708         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105709         that might redefine system include files.
105710         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105711         (my_usleep): Use NULL rather than (void *) 0.
105712         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105713         Use siginterrupt to specify that system calls should be interrupted.
105714         (rpl_nanosleep): Move initialization of suspended closer to call of
105715         my_usleep.
105716         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105717         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105718         (desirable_utmp_entry): New function.
105719         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105720         using x2nrealloc, to simplify logic.
105721         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105722         size calculation.  Do not assume utmp file is a regular file.
105723         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105724         (READ_UTMP_CHECK_PIDS): New constant.
105725         * lib/save-cwd.c: Include unistd-safer.h.
105726         (save_cwd): Use fd_safer.
105727         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105728         [!_LIBC] Include "stat-macros.h" instead.
105729         * lib/unistd-safer.h (fd_safer): New decl.
105731 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105733         * modules/getloadavg (Depends-on): Add unistd-safer.
105734         * modules/getusershell (Depends-on): Add stdio-safer.
105735         * modules/lstat (Depends-on): Remove xalloc.
105736         * modules/mkstemp (Depends-on): Add stat-macros.
105737         * modules/modechange (Depends-on): Remove xstrtol.
105738         Add stat-macros, xalloc.
105739         * modules/save-cwd (Depends-on): Add unistd-safer.
105740         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105741         * modules/unistd-safer (Files): Add lib/fd-safer.c
105742         (Makefile.am): Remove lib_SOURCES.
105744         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105745         Remove fcntl-safer; unistd-safer supersedes it.
105747 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105749         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105750         AC_HEADER_STAT.
105751         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105752         (gl_PREREQ_CHOWN): Remove.
105753         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105754         it.  Don't require AC_HEADER_STAT.
105755         (gl_PREREQ_LSTAT): Remove.
105756         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105757         Don't require AC_HEADER_STAT.
105758         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105759         (gl_PREREQ_RMDIR): Remove.
105760         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105761         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105762         the stat-macros module a prerequisite.
105763         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105764         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105765         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105766         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105767         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105768         variable names.
105769         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105770         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105771         variable prefixes.
105772         * m4/fcntl-safer.m4: Remove.
105773         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105774         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105775         Invoke gl_PREREQ_FD_SAFER.
105776         (gl_PREREQ_FD_SAFER): New macro.
105777         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105778         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105779         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105780         Remove duplicate call to AC_LIBOBJ(readutmp).
105781         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105783         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105784         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105786 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105788         * MODULES.html.sh (Misc): Add byteswap.
105790 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105792         * modules/getcwd (Depends-on): Add extensions.
105793         * modules/openat (Depends-on): Likewise.
105795 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105797         * modules/byteswap: New file.
105799 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105801         * m4/byteswap.m4: New file.
105803 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105805         * lib/byteswap_.h: New file.
105807 2005-04-25  Karl Berry  <karl@gnu.org>
105809         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105811 2005-04-25  Albert Chin  <china@thewrittenword.com>
105813         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105814         Toolkit C bug.
105816 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105818         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105819         (func_ln_if_changed): Remove forcibly for no error message
105820         in case file does not exist.
105822 2005-04-19  Simon Josefsson  <jas@extundo.com>
105824         * gnulib-tool (Options): Make --symlink mean --symbolic.
105826 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105828         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105830 2005-04-16  Simon Josefsson  <jas@extundo.com>
105832         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105834 2005-04-15  Simon Josefsson  <jas@extundo.com>
105836         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105838 2005-04-15  Simon Josefsson  <jas@extundo.com>
105840         * gnulib-tool: Rename --symlink to --symbolic.
105842 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105844         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105845         symbolic links to files instead of copying/moving.  Add --aux-dir,
105846         specifying directory relative --dir where auxiliary build tools
105847         are placed.
105849 2005-04-14  Bruno Haible  <bruno@clisp.org>
105851         * modules/allocsa (License): Change to LGPL.
105852         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105854 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105856         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105857         that "UTC +1 second" continues to work.  Problem reported
105858         by Dmitry V. Levin.
105859         (relunit_snumber): New rule.
105860         (relunit): Use it.
105862 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105864         * lib/getdate.y (universal_time_zone_table): New constant.
105865         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105866         universal_time_zone_table.
105867         (lookup_zone): Prefer universal_time_zone_table to
105868         local_time_zone_table, so that "GMT" time stamps are allowed in
105869         London during the summer.  Problem reported by Ian Abbott.
105871 2005-04-12  Jim Meyering  <jim@meyering.net>
105873         * lib/human.c (humblock): Set *options even when returning due to
105874         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105875         warning from gcc-4.
105877 2005-04-09  Jim Meyering  <jim@meyering.net>
105879         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105880         -Wuninitialized: initialize tm0.tm_year.
105882 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105884         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105885         count, since there's no maximum.  All uses changed.
105886         Add member dsts_seen.
105887         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105888         not being INT_MAX.
105889         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105890         Use pc_rels_seen to decide whether a date is absolute.
105892         * lib/getdate.y (number): Don't overwrite year.
105893         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105894         check.
105896 2005-04-02  Simon Josefsson  <jas@extundo.com>
105898         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105899         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105901 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105903         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105904         where no absolute path name can be longer than PATH_MAX.
105906 2005-03-27  Jim Meyering  <jim@meyering.net>
105908         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105910 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105912         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105913         "one's complement" -> "ones' complement" in comment, as per Knuth.
105914         "value of type" -> "type or expression" in comment.
105915         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105917 2005-03-26  Jim Meyering  <jim@meyering.net>
105919         Comment nits.
105920         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105921         Correct typos: s/or/of/.
105923 2005-03-26  Jim Meyering  <jim@meyering.net>
105925         * modules/check-include-files: Move to ../ and rename to...
105926         * check-module: ...this.
105928 2005-03-25  Jim Meyering  <jim@meyering.net>
105930         * modules/xvasprintf (Files): Add xalloc.h.
105932 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105934         * modules/gettext (Files): config/config.rpath ->
105935         build-aux/config.rpath
105936         * modules/iconv (Files): Likewise.
105937         Problem reported by Oskar Liljeblad.
105939 2005-03-23  Jim Meyering  <jim@meyering.net>
105941         * modules/check-include-files: New script to check for
105942         missing dependencies, multiple includes, etc.
105944         * modules/c-strtold (Depends-on): Add xalloc.
105945         * modules/c-strtod (Depends-on): Add xalloc.
105946         * modules/hash (Depends-on): Add xalloc.
105947         (Files): Remove lib/xalloc.h.
105949         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105950         * modules/userspec (Files): Add lib/inttostr.h.
105952 2005-03-23  Jim Meyering  <jim@meyering.net>
105954         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105956 2005-03-22  Jim Meyering  <jim@meyering.net>
105958         * modules/stat-macros: New module.
105959         * modules/canonicalize, modules/euidaccess, modules/file-type,
105960         * modules/filemode, modules/lchown, modules/makepath,
105961         * modules/rmdir, modules/stat: Depend on new stat-macros module
105962         rather than listing lib/stat-macros.h manually.
105963         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105965 2005-03-22  Jim Meyering  <jim@meyering.net>
105967         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105969 2005-03-22  Bruno Haible  <bruno@clisp.org>
105971         * config/srclist.txt: Replace target directory 'config' with
105972         'build-aux'.
105973         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105974         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105975         ../build-aux/.
105977 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105979         * modules/chdir-long (Depends-on): Add mempcpy.
105981         * modules/acl, modules/backupfile, modules/c-strtod,
105982         modules/c-strtold, modules/canon-host, modules/canonicalize,
105983         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105984         modules/exclude, modules/exitfail, modules/file-type,
105985         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105986         modules/getdate, modules/getline, modules/getpagesize,
105987         modules/getpass, modules/getugroups, modules/group-member,
105988         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105989         modules/inttostr, modules/long-options, modules/makepath,
105990         modules/md5, modules/memcasecmp, modules/memcoll,
105991         modules/modechange, modules/mountlist, modules/path-concat,
105992         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105993         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105994         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105995         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105996         modules/strftime, modules/strndup, modules/strverscmp,
105997         modules/timespec, modules/unlocked-io, modules/userspec,
105998         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105999         modules/yesno:
106000         Remove lib_SOURCES line from Makefile.am section, as this is now
106001         done automatically by the corresponding Autoconf macro.
106003 2005-03-21  Jim Meyering  <jim@meyering.net>
106005         Changes imported from coreutils.
106007         * lib/cycle-check.c: Don't include xalloc.h.
106009         * lib/path-concat.c: Don't include assert.h.
106010         (path_concat): Remove assertion that would have triggered
106011         for ABASE starting with more than one slash.
106012         Reported by Andreas Schwab.
106014         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
106015         properly when ABASE is an absolute file name.
106016         Correct the description of this function.
106017         Include <assert.h>.
106018         Add an assertion and a test driver.
106019         This fixes a bug introduced on 2004-07-02.
106020         Andreas Schwab reported the resulting failure of cp --parents:
106021         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
106023 2005-03-21  Jim Meyering  <jim@meyering.net>
106025         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
106026         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
106028 2005-03-21  Jim Meyering  <jim@meyering.net>
106029         and  Paul Eggert  <eggert@cs.ucla.edu>
106031         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
106032         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
106033         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
106034         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
106035         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
106036         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
106037         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
106038         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
106039         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
106040         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
106041         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
106042         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
106043         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
106044         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
106045         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
106046         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
106047         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
106048         for these modules.
106050 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
106052         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
106053         (which shouldn't happen), generate nothing instead of returning 0
106054         immediately, so that nstrftime (NULL, ...) doesn't return 0.
106056 2005-03-16  Bruno Haible  <bruno@clisp.org>
106058         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
106059         HAVE_LONGLONG_64BIT.
106061 2005-03-16  Bruno Haible  <bruno@clisp.org>
106063         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
106064         HAVE_LONGLONG_64BIT.
106066 2005-03-16  Bruno Haible  <bruno@clisp.org>
106068         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
106069         HAVE_LONGLONG_64BIT.
106071 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106073         * lib/strftime.c (my_strftime): Prepend space to format so that we can
106074         reliably distinguish strftime failure from empty output on POSIX
106075         hosts.
106077 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106079         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
106080         (iconv_string): Don't guess a size-zero buffer, as that might cause
106081         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
106082         result would be 'too large', where 'too large' is (heuristically)
106083         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
106084         overflow concerns.  This will prevent some unwanted malloc failures
106085         when the inputs are very large.
106087 2005-03-15  Karl Berry  <karl@gnu.org>
106089         * config/srclist.txt (config.rpath): from gettext.
106090         * config/config.rpath: update.
106092 2005-03-15  Bruno Haible  <bruno@clisp.org>
106094         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
106095         to 'negate'.
106097         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
106098         variable.
106100         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
106101         results.
106103 2005-03-14  Simon Josefsson  <jas@extundo.com>
106105         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
106106         <fx@gnu.org>.
106108 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
106110         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
106111         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
106112         intprops.h.
106113         * lib/strtol.c: Likewise.
106115 2005-03-14  Jim Meyering  <jim@meyering.net>
106117         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
106118         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
106119         to be nonzero so that we (and caller) can detect the difference
106120         between a valid zero-length expansion and an error return, even
106121         when the underlying strftime fails before writing anything into
106122         that location.
106124 2005-03-14  Bruno Haible  <bruno@clisp.org>
106126         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
106127         Update from GNU gettext 0.14.3.
106129 2005-03-10  Jim Meyering  <jim@meyering.net>
106131         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
106133 2005-03-10  Jim Meyering  <jim@meyering.net>
106135         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
106136         so that this module works on systems without fchdir.
106138 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
106140         Factor int-properties macros into a single file, except for
106141         glibc-related files.
106142         * lib/intprops.h: New file.
106143         * lib/getloadavg.c: Include it instead of limits.h.
106144         (INT_STRLEN_BOUND): Remove.
106145         * lib/human.c: Include intprops.h.
106146         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
106147         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
106148         302/1000.
106149         * lib/inttostr.h: Include intprops.h instead of limits.h.
106150         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
106151         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
106152         for consistency with intprops.h.
106153         (time_t_is_integer, twos_complement_arithmetic): Use them.
106154         * lib/sig2str.h: Include <signal.h>, intprops.h.
106155         (INT_STRLEN_BOUND): Remove.
106156         * lib/strftime.c (TYPE_SIGNED): Remove.
106157         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
106158         * lib/strtol.c: Adjust comments to match intprops.h.
106159         * lib/userspec.c: Include intprops.h.
106160         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
106161         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
106162         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
106163         instead of rolling our own expressions.
106164         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
106166         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
106167         instead of int.
106168         (my_strftime): Do not mishandle years close to INT_MAX, by doing
106169         the right thing even if adding 1900 would overflow.  Similarly
106170         for tm_mon + 1 and tm_yday + 1.
106171         Make %Y always equivalent to %C%y, and similarly for %G and %g.
106172         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
106173         (DO_SIGNED_NUMBER): New macro.
106174         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
106176 2005-03-07  Bruno Haible  <bruno@clisp.org>
106178         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
106180 2005-03-07  Bruno Haible  <bruno@clisp.org>
106182         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
106184 2005-03-04  Derek R. Price  <derek@ximbiot.com>
106186         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
106187         (func_import): Only replace files via --import when they have actually
106188         changed.
106190 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106192         * m4/mmap-anon.m4: New file.
106193         * m4/pagealign_alloc.m4: New file.
106195 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106196             Bruno Haible  <bruno@clisp.org>
106198         * modules/pagealign_alloc: New file.
106199         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
106201 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106202             Bruno Haible  <bruno@clisp.org>
106204         * lib/pagealign_alloc.h: New file.
106205         * lib/pagealign_alloc.c: New file.
106207 2005-03-03  Bruno Haible  <bruno@clisp.org>
106209         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
106210         Use an all-permissive copyright notice, recommended by RMS.
106212 2005-03-02  Bruno Haible  <bruno@clisp.org>
106214         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
106215         of AIX, the replacement has to be done only after <string.h> is
106216         included, therefore not in config.h. stpncpy.h does the replacement,
106217         and stpncpy.c uses it.
106219 2005-03-02  Bruno Haible  <bruno@clisp.org>
106221         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
106222         stpncpy.c uses it.
106224 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106226         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
106227         The workaround isn't strictly needed for POSIX conformance, and
106228         it's too much of a pain to configure and maintain.  We'll ask
106229         people to fix their kernels instead.
106230         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
106231         (NANOSLEEP_BUG_WORKAROUND): Remove.
106232         (xnanosleep): Remove the workaround.
106234 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106236         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
106237         Reported by Derek Price.
106238         (Include): Add "timespec.h".
106240         * modules/xnanosleep (Depends-on): Remove gethrxtime.
106242 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106244         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
106245         to detect nanosleep bug.
106247 2005-03-01  Bruno Haible  <bruno@clisp.org>
106249         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
106251 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
106253         * modules/gethrxtime: New file.
106254         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
106255         (Depends-on): Add gethrxtime.
106256         (configure.ac): Add gl_XNANOSLEEP.
106257         (Makefile.am): Remove lib_SOURCES line.
106259 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106261         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
106262         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
106264 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106266         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
106267         * lib/timespec.h (gettime): Return void, since it always
106268         succeeds now.  All uses changed.
106269         * lib/gettime.c (gettime): Likewise.
106270         [HAVE_NANOTIME]: Prefer nanotime.
106271         Assume gettimeofday succeeds, as POSIX requires.
106272         Assime time () succeeds, since other code already does.
106273         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
106274         (timespec_subtract): Remove.
106275         (NANOSLEEP_BUG_WORKAROUND): New constant.
106276         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
106277         things considerably.  Use it only on GNU/Linux hosts, since the
106278         workaround shouldn't be needed elsewhere.
106280 2005-02-24  Bruno Haible  <bruno@clisp.org>
106282         * modules/gettext (Files): Add m4/glibc2.m4.
106284 2005-02-24  Bruno Haible  <bruno@clisp.org>
106286         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
106287         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
106288         * m4/progtest.m4:
106289         Update from GNU gettext 0.14.2.
106290         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
106292 2005-02-24  Bruno Haible  <bruno@clisp.org>
106294         * lib/localcharset.c: Update from GNU gettext 0.14.2.
106295         * lib/config.charset: Update from GNU gettext 0.14.2.
106297 2005-02-24  Bruno Haible  <bruno@clisp.org>
106299         * lib/gettext.h: Update from GNU gettext 0.14.2.
106301 2005-02-23  Simon Josefsson  <jas@extundo.com>
106303         * m4/iconvme.m4: New file.
106305 2005-02-23  Jim Meyering  <jim@meyering.net>
106307         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
106308         change.
106309         Thanks to Bruno Haible for catching it.
106311 2005-02-22  Simon Josefsson  <jas@extundo.com>
106313         * modules/iconvme: New file.
106315         * MODULES.html.sh: Add iconvme.
106317 2005-02-22  Simon Josefsson  <jas@extundo.com>
106319         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
106321 2005-02-22  Simon Josefsson  <jas@extundo.com>
106323         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
106325 2005-02-22  Jim Meyering  <jim@meyering.net>
106327         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
106328         s/ifndef/ifdef/.
106330 2005-02-20  Neil Conway  <neilc@samurai.com>
106332         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
106333         returned by OSX/Darwin if the specified buffer is not large
106334         enough for the hostname.
106336 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106338         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
106339         pass it to _help, otherwise the latter coredumps trying to
106340         dereference state.root_argp.
106342 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106344         * modules/chdir-long (Depends-on): Add memrchr.
106345         * modules/memrchr (Files): Add lib/memrchr.h.
106346         (Include): "memrchr.h".
106348 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106350         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
106352 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106354         * lib/memrchr.h: New file.
106355         * lib/chdir-long.c: Include it.
106356         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
106357         Don't bother including stddef.h.
106359 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
106361         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
106362         inclusion.
106363         Include <sys/types.h>, for dev_t.
106364         (ME_DUMMY, ME_REMOTE): Move from here....
106365         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
106366         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
106367         Dmitry V. Levin.
106368         Include mountlist.h first, to test the interface.
106370 2005-01-29  Bruno Haible  <bruno@clisp.org>
106372         * lib/progname.c (program_name): Initialize.
106373         Needed when linking statically on MacOS X.
106375 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106377         Sync from coreutils.
106378         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
106379         (Depends-on): Add c-strtod.
106380         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
106382 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106384         Sync from coreutils.
106385         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
106387         Remove files that are specific to coreutils.
106388         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
106390 2005-01-28  Bruno Haible  <bruno@clisp.org>
106392         * modules/javacomp: New file.
106393         * MODULES.html.sh (Java): Add javacomp.
106395 2005-01-28  Bruno Haible  <bruno@clisp.org>
106397         * m4/javacomp.m4: New file, from GNU gettext.
106399 2005-01-28  Bruno Haible  <bruno@clisp.org>
106401         * lib/javacomp.sh.in: New file, from GNU gettext.
106402         * lib/javacomp.h: New file, from GNU gettext.
106403         * lib/javacomp.c: New file, from GNU gettext.
106405 2005-01-26  Simon Josefsson  <jas@extundo.com>
106407         * lib/gai_strerror.c: Use GPL in header.
106409 2005-01-26  Bruno Haible  <bruno@clisp.org>
106411         * modules/javaexec: New file.
106412         * MODULES.html.sh (Java): Add javaexec.
106414 2005-01-26  Bruno Haible  <bruno@clisp.org>
106416         * m4/javaexec.m4: New file, from GNU gettext.
106418 2005-01-26  Bruno Haible  <bruno@clisp.org>
106420         * lib/javaexec.sh.in: New file, from GNU gettext.
106421         * lib/javaexec.h: New file, from GNU gettext.
106422         * lib/javaexec.c: New file, from GNU gettext.
106424 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106426         * modules/lchown (Depends-on): Remove lchown.h
106428 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106430         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
106431         must be defined if the header file was not found, in order
106432         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
106434 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106436         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
106437         initializers for struct pentry_state.
106438         (__argp_error): Check return value of __asprintf
106439         (__argp_failure): Translate error message
106441         * lib/argp-parse.c: Removed braces around the expansion of N_()
106443 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
106445         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
106446         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
106447         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
106448         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
106449         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
106450         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
106451         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
106452         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
106453         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
106454         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
106455         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
106456         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
106457         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
106458         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
106459         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
106460         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
106461         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
106462         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
106463         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
106464         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
106465         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
106466         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
106467         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
106468         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
106469         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
106470         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106471         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106472         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106473         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106474         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106475         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106476         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106477         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106478         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106479         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106480         Use an all-permissive copyright notice, recommended by RMS.
106482 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106484         * modules/chdir-long (Depends-on): Remove mempcpy.
106486 2005-01-21  Jim Meyering  <jim@meyering.net>
106488         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106489         same value as for Solaris 9.
106491         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106492         component length.  This included changing the parameter to be
106493         of type `char *' rather than `char const *'.
106494         * lib/chdir-long.h (chdir_long): Update prototype.
106496         * lib/openat.c (fdopendir, fstatat): New functions.
106497         * lib/openat.h: Include headers required for use of DIR and struct
106498         stat.
106499         [AT_SYMLINK_NOFOLLOW]: Define.
106500         (fdopendir, fstatat): Add prototypes.
106502 2005-01-21  Bruno Haible  <bruno@clisp.org>
106504         * modules/classpath: New file.
106505         * MODULES.html.sh (Java): Add classpath.
106507 2005-01-21  Bruno Haible  <bruno@clisp.org>
106509         * lib/classpath.h: New file, from GNU gettext.
106510         * lib/classpath.c: New file, from GNU gettext.
106512 2005-01-20  Simon Josefsson  <jas@extundo.com>
106514         * modules/version-etc-fsf: New file.
106516 2005-01-20  Simon Josefsson  <jas@extundo.com>
106518         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106519         * lib/version-etc.c: Remove version_etc_copyright.
106520         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106521         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106523 2005-01-20  Simon Josefsson  <jas@extundo.com>
106525         * lib/base64.h (isbase64): Add.
106527         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106528         using a unsigned prototype, don't inline.
106529         (base64_decode): Use it.
106531 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106533         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106534         it.
106536 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106538         * lib/save-cwd.c (save_cwd): Remove code to support the case
106539         where fchdir is missing or flaky.
106541 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106543         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106545 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106547         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106548         AC_LIBSOURCES now does this.
106549         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106550         with new ullong_max module.
106552 2005-01-19  Bruno Haible  <bruno@clisp.org>
106554         * modules/sh-quote: New file.
106555         * MODULES.html.sh (Executing programs): Add sh-quote.
106557 2005-01-19  Bruno Haible  <bruno@clisp.org>
106559         * lib/sh-quote.h: New file, from GNU gettext.
106560         * lib/sh-quote.c: New file, from GNU gettext.
106562 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106564         Merge from coreutils.
106565         * m4/ullong_max.m4: New file.
106566         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106567         (gl_MACROS): Assume localeconv exists.
106569 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106571         Merge changes from coreutils, as described below in several
106572         changelogs dated today.
106574         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106575         (O_DIRECTORY): Remove; not needed here, since "." must be
106576         a directory.  All uses removed.
106577         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106578         universal on Suns, and we also need to test for IRIX.
106579         Revamp code to use 'if' rather than '#if'.
106580         Avoid unnecessary comparison of cwd->desc to 0.
106582         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106583         for known valid error numbers rather than observed invalid ones.
106585 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106587         * modules/ullong_max: New file.
106589         * modules/chdir-long, modules/openat: New files.
106590         * modules/save-cwd (Depends-on): Depend on chdir-long.
106591         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106593 2005-01-18  Jim Meyering  <jim@meyering.net>
106595         Merge from coreutils.
106596         * m4/chdir-long.m4, m4/openat.m4: New files.
106597         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106598         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106599         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106600         is sane and DOES follow symlinks.  Besides, testing 20 different
106601         systems found no broken chown implementations.
106602         Prompted by a change in rsync's copy of this macro.
106603         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106605         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106607         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106608         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106609         NULL-means-set-to-current-time semantics.
106610         Remove temporary file immediately, rather than waiting
106611         for configure's at-exit trap code to do it.
106613 2005-01-18  Jim Meyering  <jim@meyering.net>
106615         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106617         * lib/utimens.c (futimens): Account for the fact that futimes
106618         can also fail with errno == ENOSYS or errno == ENOENT.
106619         Patch from Dmitry V. Levin.
106621         Change the name of the robust chdir function from chdir to chdir_long.
106622         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106623         (restore_cwd): Use chdir_long, not chdir.
106624         * lib/chdir-long.c: Renamed from chdir.c.
106625         * lib/chdir-long.h: Renamed from chdir.h.
106626         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106627         Hurd.
106629 2005-01-18  Bruno Haible  <bruno@clisp.org>
106631         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106632         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106633         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106634         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106635         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106636         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106637         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106638         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106639         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106640         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106641         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106642         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106643         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106644         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106645         Use an all-permissive copyright notice, recommended by RMS.
106647 2005-01-18  Bob Proulx  <bob@proulx.com>
106649         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106650         simplify offsetof() macro construct to avoid compile failure with
106651         native HP-UX 11.0 ANSI C compiler.
106653 2005-01-17  Bruno Haible  <bruno@clisp.org>
106655         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106656         redundant because stpncpy.m4 takes care of it.
106658 2005-01-17  Bruno Haible  <bruno@clisp.org>
106660         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106662 2005-01-17  Bruno Haible  <bruno@clisp.org>
106664         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106665         used.
106667 2005-01-17  Bruno Haible  <bruno@clisp.org>
106669         * lib/fwriteerror.h (fwriteerror): Change specification to include
106670         fclose.
106671         * lib/fwriteerror.c: Include <stdbool.h>.
106672         (fwriteerror): At the end, close the file stream. Record whether
106673         stdout was already closed.
106675 2005-01-17  Bruno Haible  <bruno@clisp.org>
106677         * lib/execute.c (environ): Declare if needed.
106678         * lib/pipe.c (environ): Likewise.
106679         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106681 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106683         * modules/argp: Depend on vsnprintf
106685 2005-01-10  Jim Meyering  <jim@meyering.net>
106687         * modules/closeout (Depends-on): Add atexit.
106689 2005-01-06  Bruno Haible  <bruno@clisp.org>
106691         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106693 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106695         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106696         definitions to be after all include files, to avoid collisions.
106697         Problem reported by Bob Proulx.
106699 2005-01-04  Jim Meyering  <jim@meyering.net>
106701         Changes imported from coreutils.
106702         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106703         as the mkstemp template, use a temporary directory and an
106704         8.3-friendly template to avoid trouble on systems like DJGPP.
106705         Reported by Juan M. Guerrero via Stepan Kasal.
106706         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106707         close. Remove the temporary directory right away, rather than waiting
106708         for configure's at-exit trap code to do it.
106709         Suggestion from Stepan Kasal.
106711 2005-01-01  Simon Josefsson  <jas@extundo.com>
106713         * gnulib-tool: Print #include directives when --import'ing.
106715 2004-12-28  Simon Josefsson  <jas@extundo.com>
106717         * tests/test-base64.c: Include required header files.  Remove
106718         unused variables.
106720 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106722         * modules/error (Depends-on): Remove gettext.
106724 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106726         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106727         not needed.  This removes a dependency on the gettext module.
106728         [defined _LIBC]: Do not include <libintl.h>; not needed.
106730 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106732         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106733         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106735 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106737         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106738         HAVE_DECL_STRTOLD.
106740 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106742         * modules/getdate (Depends-on): Remove alloca-opt.
106744 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106746         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106748 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106750         * lib/argp-parse.c: Include <stddef.h>.
106751         (alignof, alignto): New macros.
106752         (parser_init): Don't assume that void * is aligned sufficiently
106753         for struct option.
106755         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106756         need to extend the stack.
106757         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106758         large.
106760 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106762         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106764 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106766         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106767         (2004-10-24) change.  Apparently this was a false alarm.
106769         * modules/getdate: Depend on alloca-opt, not alloca.
106771 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106773         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106774         Remove now-obsolete comment about AIX.
106775         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106776         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106777         (YYMAXDEPTH): New macro.
106779 2004-12-18  Simon Josefsson  <jas@extundo.com>
106781         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106783 2004-12-18  Bruno Haible  <bruno@clisp.org>
106785         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106787 2004-12-18  Bruno Haible  <bruno@clisp.org>
106789         * lib/fatal-signal.c (fatal_signals): Make non-const.
106790         (init_fatal_signals): New function.
106791         (uninstall_handlers, install_handlers): Ignore signals that were set to
106792         SIG_IGN.
106793         (at_fatal_signal): Call init_fatal_signals.
106794         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106795         SIG_IGN.
106796         Reported by Paul Eggert.
106798 2004-12-18  Bruno Haible  <bruno@clisp.org>
106800         * doc/alloca.texi: New file.
106801         * doc/alloca-opt.texi: New file.
106803 2004-12-17  Jim Meyering  <jim@meyering.net>
106805         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106806         Otherwise, install-sh could exit with improper exit status when
106807         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106809 2004-12-16  Simon Josefsson  <jas@extundo.com>
106811         * tests/test-base64.c: Add license.
106813 2004-12-15  Stepan Kasal  <address@hidden>
106815         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106817 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106819         * modules/getcwd (Files): Add m4/d-ino.m4.
106820         Suggested by Mark D. Baushke.
106822 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106824         * lib/getdate.y (textint): New member "negative".
106825         (time_zone_hhmm): New function.
106826         Expect 14 shift-reduce conflicts, not 13.
106827         (o_colon_minutes): New rule.
106828         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106829         (yylex): Set the "negative" member of signed numbers.
106831 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106833         * doc/getdate.texi (Time of day items, Time zone items):
106834         Describe new formats +00:00, UTC+00:00.
106836 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106838         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106839         spurious "-l"s.  Problem reported by Stepan Kasal.
106841 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106843         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106844         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106846 2004-12-04  Simon Josefsson  <jas@extundo.com>
106848         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106849         Vandoorselaere <yoann@prelude-ids.org>.
106851 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106853         Changes imported from coreutils.
106854         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106855         exist.
106856         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106858 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106860         Changes imported from coreutils.
106861         * lib/hard-locale.c: Assume <locale.h> exists.
106862         Include "strdup.h".
106863         (GLIBC_VERSION): New macro.
106864         (hard_locale): Assume setlocale exists.
106865         Rewrite to avoid #ifdef.
106866         Use strdup rather than malloc + strcpy.
106867         * lib/human.c: Assume <locale.h> exists.
106868         (human_readable): Assume localeconv exists.
106870 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106872         * modules/hard-locale (Depends-on): Add strdup.
106874 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106876         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106877         convert T2, not T.  (Imported from libc.)
106879 2004-11-30  Simon Josefsson  <jas@extundo.com>
106881         * modules/restrict (License): Change to LGPL.
106883 2004-11-30  Simon Josefsson  <jas@extundo.com>
106885         * m4/restrict.m4: Add copyright and copying conditions.
106887 2004-11-30  Simon Josefsson  <jas@extundo.com>
106889         * m4/base64.m4: New file.
106891 2004-11-30  Simon Josefsson  <jas@extundo.com>
106893         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106894         base64.
106896         * tests/test-base64.c: New file.
106898         * modules/base64: New file.
106900 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106902         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106903         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106905         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106907 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106909         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106910         (__getcwd.c): Don't restore errno; glibc doesn't.
106911         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106912         first, falling back to our code only if its results look suspicious.
106913         Ensure that the resulting buffer is only as large as necessary.
106915         * lib/readutmp.c: Include readutmp.h first.
106916         Include <errno.h>, since readutmp.h no longer does that.
106917         * lib/readutmp.h: Don't include <errno.h>,
106918         <sys/param.h>, <time.h>; not needed to establish interface.
106919         (errno): Remove decl.
106920         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106921         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106922         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106924 2004-11-28  Simon Josefsson  <jas@extundo.com>
106926         * lib/base64.h, base64.c: New file.
106928 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106930         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106932 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106934         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106935         (Depends-on): Remove pathmax, same.  Add mempcpy.
106936         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106937         (Makefile.am): Append getcwd.h to lib_SOURCES.
106938         (Include): Add getcwd.h.
106939         (Maintainer): Change from Jim Meyering to "all, glibc",
106940         since getdate now uses intended-for-glibc code.
106941         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106942         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106944 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106946         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106947         HP's ANSI C compiler.
106948         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106949         Declaring int functions causes warnings on some modern systems and
106950         shouldn't be needed to compile on ancient ones.
106951         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106952         defined.
106954         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106955         with the following changes.
106956         (__set_errno): Parenthesize properly.
106957         Include <stdbool.h>.
106958         (MIN, MAX, MATCHING_INO): New macros.
106959         (__getcwd): Define with prototype, not K&R form.
106960         Use heuristics to allocate default buffer on stack if possible.
106961         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106962         behavior, and to avoid the PATH_MAX limit when computing
106963         ../../../../...
106964         Use MATCHING_INO to compare inode number to file.
106965         Check for arithmetic overflow in size calculations.
106966         Fix bug in reallocation of dot array that caused getcwd to fail
106967         on directories nested deeper than 75.
106968         Be more careful about saving errno on error.
106969         Do not use realloc; use only free+malloc, as this is a bit
106970         more flexible and avoids a needless copy operation.
106971         Do not inspect st_dev and st_ino for symbolic links; POSIX
106972         doesn't specify the latter.
106973         Check for closedir errors.
106974         Avoid needless casts.
106975         Use "#ifdef weak_alias" around weak_alias, to be like other
106976         glibc code.
106977         The following changes to getcwd.c have effect only when used in
106978         gnulib; they have no effect inside glibc proper.
106979         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106980         as alloca isn't used.
106981         (alloca, __alloca): Likewise.
106982         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106983         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106984         unconditionally, as gnulib assumes C89 or better.
106985         Do not include <sys/param.h>.
106986         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106987         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106988         better.
106989         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106990         Include <dirent.h> in a way that is compatible with modern Autoconf.
106991         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106992         New macros, if not already defined.
106993         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106994         Use "_LIBC", not "defined _LIBC", for consistency.
106995         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106996         a mempcpy module.
106997         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106998         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106999         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
107000         credit only to Jim Meyering and adjust the copyright dates.
107001         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
107002         <stdlib.h>, <unistd.h>, "pathmax.h".
107003         Instead, include "xgetcwd.h" (first) and "getcwd.h".
107004         (INITIAL_BUFFER_SIZE): Remove.
107005         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
107007 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
107009         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
107010         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
107011         Use the _ONCE methods, for efficiency.
107012         Check for fcntl.h.  In test program, include <errno.h>
107013         and <fcntl.h> if available.  Remove old K&R cruft from
107014         test program.  Check for common errors in GNU/Linux,
107015         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
107016         don't do AC_LIBOBJ, as that's getcwd.m4's job.
107017         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
107018         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
107019         name accordingly.
107020         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
107021         accommodate new getcwd.c.
107022         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
107023         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
107024         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
107025         that's all we need now.
107027 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107029         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
107030         argp-parse.c depends on getopt internals, that means we should
107031         always use our getopt, to be on the safe side.
107032         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
107033         order not to spoil the result of an eventual previous invocation
107034         of gl_GETOPT_SUBSTITUTE.
107036 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107038         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
107039         redefinition warnings. To avoid them, include the defines
107040         in `#if !defined __need_getopt ... #endif'. The only place
107041         where __getopt_argv_const is used is in definitions
107042         of getopt_long and getopt_long_only below, which are as well
107043         protected by `#ifndef __need_getopt'.
107044         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
107045         __need_getopt after including <stdio.h> and <unistd.h> These
107046         headers might have defined it.
107048 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107050         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
107052 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107054         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
107055         (futimens): New function, which uses futimes if available.
107056         (futimens, utimens): Support timespec==NULL, with same semantics
107057         as utime and utimens.
107058         * lib/utimens.h (futimens): New decl.
107060 2004-11-23  Jim Meyering  <jim@meyering.net>
107062         * lib/getopt_.h: Remove trailing blanks.
107064 2004-11-23  Jim Meyering  <jim@meyering.net>
107066         * lib/__fpending.c: Add comment.
107068 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
107070         * modules/canonicalize (Depends-on): Add xreadlink.
107071         Problem reported by James Youngman.
107073 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
107075         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
107076         New macros.
107077         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
107078         optopt): Use them instead of invoking ## directly; otherwise, the
107079         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
107081 2004-11-19  Bruno Haible  <bruno@clisp.org>
107083         * lib/strtok_r.c: Move comments from here...
107084         * lib/strtok_r.h: ... to here.
107086 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107088         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
107089         implementations that mishandle size_t overflow.
107091 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107093         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
107094         might fail.  Problem reported by Yoann Vandoorselaere.
107095         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
107096         implementations that mishandle size_t overflow.
107098 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107100         * modules/canon-host (Depends-on): Add strdup.
107102 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107104         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
107106 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107108         * lib/canon-host.c: Include "strdup.h".
107109         (canon_host): Use getaddrinfo if available, so that IPv6 works.
107110         Use strdup instead of malloc/strcpy to duplicate strings.
107112         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
107113         (human_space_before_unit): New constant.
107114         * lib/human.c (human_readable): Support it.
107116         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
107117         (xgetcwd): Set errno correctly when failing.
107118         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
107119         the failure is actually due to a PATH_MAX problem.
107121         Further getopt changes to make it more likely that glibc will
107122         buy the changes back.
107123         * lib/getopt.c (POSIXLY_CORRECT): New constant.
107124         (getopt): Use it, so to preserve glibc semantic
107125         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
107126         when compiling for libc.
107127         * lib/getopt_.h (__getopt_argv_const): Bring it back.
107128         (getopt_long, getopt_long_only): Use it.
107130         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107131         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
107132         (getopt): Argv is now char * const *, as per standard.
107133         (_getopt_internal_r, _getopt_internal): Argv is now char **,
107134         not char *__getopt_argv_const *.
107135         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107136         _getopt_long_only_r): Likewise.
107137         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
107138         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107139         _getopt_long_r, _getopt_long_only_r): Likewise.
107140         * lib/getopt_.h (__getopt_argv_const): Remove.
107141         (getopt): Argv is now char * const *, as per standard.
107143         * lib/getdate.y (tORDINAL): New token.
107144         (day, relunit): Allow it for relative times.
107145         (relative_time_table): Use tORDINAL for ordinals.
107147 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107149         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
107150         Document that "second" isn't allowed as an ordinal number.
107152 2004-11-16  Jim Meyering  <jim@meyering.net>
107154         * modules/closeout (Depends-on): Add fpending.
107156 2004-11-15  Jim Meyering  <jim@meyering.net>
107158         * lib/closeout.c: Include "__fpending.h" once again.
107159         Include <stdbool.h>.
107160         (close_stdout): Don't fail just because stdout was closed initially,
107161         since some programs don't write to stdout in the normal course of
107162         operation (other than --version and --help), and we don't want this
107163         function to make e.g. `touch file >&-' fail.
107164         But do fail if it was closed and someone has tried to write to it.
107165         E.g., `printf foo >&-' must fail.
107167 2004-11-13  Jim Meyering  <jim@meyering.net>
107169         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
107171 2004-11-12  Simon Josefsson  <jas@extundo.com>
107173         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
107174         small doc fix is still pending.
107176 2004-11-11  Simon Josefsson  <jas@extundo.com>
107178         * modules/strtok_r: New file.
107180         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107181         strtok_r.
107183 2004-11-11  Simon Josefsson  <jas@extundo.com>
107185         * m4/strtok_r.m4: New file.
107187         * m4/getopt.m4: Replace opterr.
107189 2004-11-11  Simon Josefsson  <jas@extundo.com>
107191         * lib/strtok_r.h, strtok_r.c: New file.
107193 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107195         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
107196         of replacing opterr, getopt, etc.  This should handle the
107197         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
107199 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107201         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
107202         we can stop lying to compilers about the constness of argv when we
107203         are compiled outside glibc.
107204         (getopt, getopt_long, getopt_long_only): Use it.
107205         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107206         _getopt_internal, getopt): Likewise.
107207         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107208         _getopt_long_only_r): Likewise.
107209         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107210         _getopt_long_r, _getopt_long_only_r): Likewise.
107212         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
107213         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
107214         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
107215         the other external symbols.
107216         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
107217         declaration, since the above renaming now works around collisions.
107219 2004-11-11  Jim Meyering  <jim@meyering.net>
107221         * lib/linebreak.c: Remove trailing blanks.
107222         * lib/alloca_.h: Likewise.
107223         * lib/acosl.c: Likewise.
107224         * lib/euidaccess.c: Likewise.
107225         * lib/allocsa.h: Likewise.
107227 2004-11-10  Simon Josefsson  <jas@extundo.com>
107229         * m4/getaddrinfo.m4: New file.
107231 2004-11-10  Simon Josefsson  <jas@extundo.com>
107233         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
107235 2004-11-10  Simon Josefsson  <jas@extundo.com>
107237         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107238         getaddrinfo.
107240         * modules/getaddrinfo: New file.
107242 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107244         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
107246 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107248         * lib/mktime.c (SHR): New macro, which is a portable
107249         substitute for >> that should work even on Crays.
107250         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
107251         Problem reported by Mark D. Baushke in
107252         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
107253         * lib/getdate.y (SHR): Likewise.
107254         (tm_diff): Use it.
107255         * lib/strftime.c (SHR): Likewise.
107256         (tm_diff): Use it.
107257         * lib/quotearg.c (struct quoting_options): Use unsigned int for
107258         quote_these_too, so that right shifts are well defined.  All uses
107259         changed.
107261 2004-11-10  Jim Meyering  <jim@meyering.net>
107263         Ensure that no close failure goes unreported.
107264         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
107265         return early when it seems there's nothing to flush.
107266         Don't include __fpending.h.
107268 2004-11-10  Jim Meyering  <jim@meyering.net>
107270         * modules/closeout (Depends-on): Remove fpending.
107272 2004-11-10  Jim Meyering  <jim@meyering.net>
107274         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
107276 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107278         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
107279         gl_FUNC_STRFTIME.
107280         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
107281         and AC_REQUIRE when possible, to avoid duplicate checks.
107282         Check for <wchar.h>.
107284 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107286         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
107288 2004-11-09  Bruno Haible  <bruno@clisp.org>
107290         * m4/sockpfaf.m4: New file.
107292 2004-11-05  Bruno Haible  <bruno@clisp.org>
107294         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
107295         Reported by Mark D. Baushke <mdb@cvshome.org>.
107297 2004-11-04  Bruno Haible  <bruno@clisp.org>
107299         2004-09-11  Bruno Haible  <bruno@clisp.org>
107300                 * allocsa.valgrind: New file.
107301         2004-02-06  Bruno Haible  <bruno@clisp.org>
107302                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
107303                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
107304                 Reported by Christopher Seip <chris.seip@hp.com>.
107306 2004-11-04  Bruno Haible  <bruno@clisp.org>
107308         * modules/allocsa (Files): Add lib/allocsa.valgrind.
107309         (Makefile.am): Distribute it.
107311 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
107313         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
107314         with errno == ERANGE if the buffer is too small.
107315         Problem reported by Mark D. Baushke.
107317 2004-11-03  Albert Chin  <china@thewrittenword.com>
107318             Paul Eggert  <eggert@cs.ucla.edu>
107320         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
107321         equivalent, substitute $ac_type for equivalent type rather than
107322         blindly using uint32_t *always* which won't work if uint32_t is not
107323         available.  Define _UINT32_T to work around typedef of uint32_t if
107324         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
107325         2.5.1.
107327 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107329         * m4/jm-macros.m4: Sync from coreutils.
107330         (gl_MACROS): Check for mbrlen, for pathchk.
107331         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
107333 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107335         * lib/xreadlink.c (MAXSIZE): New macro.
107336         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
107337         size does not exceed MAXSIZE.  Avoid cast.
107338         As suggested by Mark D. Baushke in
107339         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
107340         if readlink fails with buffer size just under MAXSIZE, try again
107341         with MAXSIZE.
107343 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107345         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
107347 2004-11-02  Derek R. Price  <derek@ximbiot.com>
107348         and  Paul Eggert  <eggert@cs.ucla.edu>
107350         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
107351         (get_date): Overparenthesize to avoid GCC warning.
107353 2004-11-02  Bruno Haible  <bruno@clisp.org>
107355         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
107356         returns void.
107358 2004-11-02  Bruno Haible  <bruno@clisp.org>
107360         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
107361         function returns void.
107363 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107365         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
107366         fflush_unlocked, flockfile, funlockfile, funlockfile,
107367         fputs_unlocked, putc_unlocked.
107369 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107371         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107372         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
107373         already declared.
107375 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107377         * modules/getdate (Files): Add doc/getdate.texi.
107378         (Depends-on): Add setenv, xalloc.
107380 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107382         * lib/getdate.y: Add support for TZ="foo" within a date string.
107383         Fix some bugs near time_t boundaries.  Reject dates with
107384         out-of-range components, e.g., "Sept 31".
107385         Include <stdlib.h>, "setenv.h", "xalloc.h".
107386         (ISDIGIT_LOCALE): Remove; unused.
107387         Note that the TZ and time functions used here are not reentrant.
107388         (mktime_ok, get_tz): New functions.
107389         (TZBUFSIZE): New constant.
107390         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
107391         This requires that we sometimes generate our own TZ="XXX..." setting.
107393 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107395         * doc/getdate.texi: New file, from coreutils with modifications for
107396         the new TZ parsing.
107398 2004-10-27  Derek R. Price  <derek@ximbiot.com>
107400         * lib/mktime.c (not_equal_tm): Remove redundant check.
107402 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107404         * modules/regex (lib_SOURCES): Add regex.c.
107405         Reported by James Youngman in
107406         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
107408 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107410         * lib/getdate.y: Use Bison 1.875 features, and some minor
107411         code cleanups.  This change does not affect semantics.
107412         Don't include <stdlib.h>; no longer needed.
107413         Don't include unlocked-io.h; only the "#if TEST" code uses
107414         stdio, and performance isn't crucial there.
107415         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
107416         Bison 1.875 features as described below.
107417         All uses of "PC." replaced by "pc->".
107418         (YYSTYPE): Add a forward declaration.
107419         (yylex, yyerror): Use full prototypes in forward decls.
107420         Use "%pure-parser" rather than obsolescent "%pure_parser".
107421         Use %parse-param and %lex-param instead of obsolescent
107422         YYPARSE_PARAM and YYLEX_PARAM.
107423         (meridian_table, month_and_day_table, time_units_table,
107424         relative_time_table, time_zone_table, military_table,
107425         lookup_zone, lookup_word, get_date):
107426         Use NULL instead of 0 where appropriate.
107427         (to_hour): Avoid abort (), to avoid a dependency on
107428         stdlib.h.
107429         (yyerror, yylex): Now accepts parser_control * arg.
107430         (main) [TEST]: Use '\0' rather than 0 for char.
107432 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107434         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
107436 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107438         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
107439         It's now the caller's responsibility to handle the case where
107440         !HAVE_GETPAGESIZE && !defined getpagesize.
107442         * lib/mktime.c (leapyear): Arg is long int, not int.
107444 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
107446         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
107448 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
107450         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
107451         missing.  Problem reported by James Youngman.
107453 2004-10-16  Simon Josefsson  <jas@extundo.com>
107455         * gnulib-tool: Fix comments.  Fix parse problem.
107456         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
107458 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
107460         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
107461         implementation of getopt_long.  Problem reported by Alexander Taler in:
107462         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
107464 2004-10-15  Bruno Haible  <bruno@clisp.org>
107466         * gnulib-tool: Untabify. Initialize supplied_libname.
107467         (func_usage): More homogenous output.
107468         (func_modules_transitive_closure, func_modules_to_filelist,
107469         func_emit_lib_Makefile_am): New functions.
107470         (func_import): New function, extracted from big case statement. Use
107471         func_get_license, func_modules_transitive_closure,
107472         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107473         opt_lgpl. Don't use test -a, as it's not portable.
107474         (func_create_testdir): Use func_modules_transitive_closure,
107475         func_modules_to_filelist, func_emit_lib_Makefile_am.
107477 2004-10-15  Bruno Haible  <bruno@clisp.org>
107479         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107481 2004-10-15  Bruno Haible  <bruno@clisp.org>
107483         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107484         the portions belonging to each module.
107485         Suggested by Derek Robert Price <derek@ximbiot.com>.
107487 2004-10-12  Simon Josefsson  <jas@extundo.com>
107489         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107490         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107491         to real functions.
107493 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107495         * modules/vsnprintf: New file.
107497 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107499         * m4/vsnprintf.m4: New file.
107501 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107503         * lib/vsnprintf.h: New file.
107504         * lib/vsnprintf.c: New file.
107506 2004-10-11  Bruno Haible  <bruno@clisp.org>
107508         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107509         vsnprintf.
107511 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107513         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107515 2004-10-07  Bruno Haible  <bruno@clisp.org>
107517         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107518         fits into the provided buffer.
107520 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107522         * lib/diacrit.c, diacrit.h: Add GPL notice.
107524         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107525         notice.
107526         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107527         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107528         This avoids a potential constant-folding bug.
107530 2004-10-05  Bruno Haible  <bruno@clisp.org>
107532         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107533         for the declaration of strsep.
107535 2004-10-05  Bruno Haible  <bruno@clisp.org>
107537         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107539 2004-10-04  Simon Josefsson  <jas@extundo.com>
107541         * modules/memmem: New file.
107542         * tests/test-memmem.c: New file.
107543         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107545 2004-10-04  Simon Josefsson  <jas@extundo.com>
107547         * m4/memmem.m4: New file.
107549 2004-10-04  Simon Josefsson  <jas@extundo.com>
107551         * lib/memmem.h: New file.
107552         * lib/memmem.c: New file, taken from glibc.
107554 2004-10-04  Simon Josefsson  <jas@extundo.com>
107556         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107557         '#ifdef USE_UNLOCKED_IO'.
107559 2004-10-04  Simon Josefsson  <jas@extundo.com>
107561         * config/srclist.txt: Add memmem from glibc.
107563 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107565         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107567         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107568         modules/exclude, modules/getdate, modules/getline,
107569         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107570         modules/getusershell, modules/linebuffer, modules/md5,
107571         modules/mountlist, modules/posixtm, modules/readtokens,
107572         modules/readutmp, modules/regex, modules/sha1,
107573         modules/version-etc, modules/yesno:
107574         Remove dependency on unlocked-io.
107576 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107578         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107580         * m4/unlocked-io.m4: Add copyright notice.
107581         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107583 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107585         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107586         * lib/xmalloc.c (xmemdup): Likewise.
107587         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107588         XFREE): Remove these long-obsolescent macros.
107589         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107590         * lib/xstrdup.c: Remove.
107592         * lib/regex.c (re_comp): Cast gettext return value to char *,
107593         Problem reported by Martin Neitzel via Mark D. Baushke.
107595 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107597         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107598         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107599         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107600         regex.c, sha1.c, version-etc.c, yesno.c:
107601         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107602         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107603         the includer's responsibility.
107605         Sync from coreutils.
107607         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107608         points to the start of a string, as the C Standard says the
107609         resulting behavior is undefined.
107611         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107612         simple -> simple_backups, numbered_existing ->
107613         numbered_existing_backups, numbered -> numbered_backups
107614         to avoid shadowing problems.  All uses changed.
107615         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107616         * lib/backupfile.c (check_extension, numbered_backup):
107617         Rename locals to avoid shadowing 'basename'.
107618         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107619         once.
107621         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107622         * lib/.cvsignore: Add getopt.h.
107624 2004-10-04  Bruno Haible  <bruno@clisp.org>
107626         * modules/README: New file.
107627         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107628         not a module.
107630 2004-10-02  Jim Meyering  <jim@meyering.net>
107632         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107634 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107636         * modules/strsep: New file.
107638 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107640         * m4/strsep.m4: New file.
107642 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107644         * lib/strsep.h: New file.
107645         * lib/strsep.c: New file.
107647 2004-10-01  Simon Josefsson  <jas@extundo.com>
107649         * lib/snprintf.c (snprintf): Handle size==0.
107651 2004-10-01  Simon Josefsson  <jas@extundo.com>
107652             Bruno Haible  <bruno@clisp.org>
107654         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107655         (snprintf): Declare 'args'.
107657 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107659         * lib/snprintf.c: Remove comments as to why each header is needed.
107661 2004-10-01  Bruno Haible  <bruno@clisp.org>
107663         * MODULES.html.sh: Add strsep.
107665 2004-09-30  Simon Josefsson  <jas@extundo.com>
107667         * modules/snprintf: New file.
107669 2004-09-30  Simon Josefsson  <jas@extundo.com>
107671         * m4/snprintf.m4: New file.
107673 2004-09-30  Simon Josefsson  <jas@extundo.com>
107675         * lib/snprintf.h, lib/snprintf.c: New files.
107677 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107679         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107680         (hol_entry_help): Never translate an empty string.
107681         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107682         * lib/argp.h (OPTION_NO_TRANS): New option.
107684 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107686         * modules/argp (Maintainer): Replace Simon Josefsson
107687         by Sergey Poznyakoff.
107689 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107691         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107692         changes merged back into glibc.
107694 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107696         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107698 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107700         * lib/xvasprintf.c: Include xalloc.h.
107701         (xvasprintf): Use xalloc_die, not xmalloc_die.
107703 2004-09-29  Bruno Haible  <bruno@clisp.org>
107705         * modules/alloca-opt: New file, derived from modules/alloca.
107706         * modules/allocsa: Depend on alloca-opt instead of alloca.
107707         * modules/setenv: Likewise.
107708         * modules/vasnprintf: Likewise.
107709         * MODULES.html.sh: Add alloca-opt.
107711 2004-09-28  Simon Josefsson  <jas@extundo.com>
107713         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107714         LGPL, and to replace license template from GPL to LGPL.
107716 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107718         * modules/dummy: Change license to LGPL.
107720 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107722         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107724 2004-09-24  Simon Josefsson  <jas@extundo.com>
107726         * modules/minmax (License): Change from GPL to LGPL.
107728 2004-09-23  Simon Josefsson  <jas@extundo.com>
107730         * gnulib-tool (--import): Typo.
107732 2004-09-23  Simon Josefsson  <jas@extundo.com>
107734         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107736 2004-09-22  Bruno Haible  <bruno@clisp.org>
107738         * modules/*: Add 'License' field.
107739         * gnulib-tool: Accept --extract-license option.
107740         (func_get_license): New function.
107742 2004-09-21  Bruno Haible  <bruno@clisp.org>
107744         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107745         Reported by Simon Josefsson.
107747 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107749         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107750         gl_AC_TYPE_LONG_LONG.
107752 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107754         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107756 2004-09-18  Simon Josefsson  <jas@extundo.com>
107757         and  Paul Eggert  <eggert@cs.ucla.edu>
107759         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107760         calls with autoreconf.  Define GL_LIB.
107762 2004-09-14  Karl Berry  <karl@gnu.org>
107764         * config/srclist.txt: unsync setenv.c, sigh.
107766 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107768         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107769         Problem reported by Bruno Haible in:
107770         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107772 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107774         * config/srclist.txt: Comment out argp-pvh.c.
107776 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107778         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107779         in case some system header has #define'd it.  Problem reported by
107780         Soeren D. Schulze in
107781         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107783 2004-09-09  Karl Berry  <karl@gnu.org>
107785         * regex.[ch]: delete from the root.  These were supposed to be
107786                 synced with emacs cvs, but this has not happened for about
107787                 a year, and anyway nothing else uses emacs regex.[ch].
107788                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107789                 lib/regex[.ch] is untouched.
107791 2004-09-09  Bruno Haible  <bruno@clisp.org>
107793         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107795 2004-09-09  Bruno Haible  <bruno@clisp.org>
107797         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107798         modifications.
107799         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107801 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107803         * modules/xvasprintf: New file.
107804         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107806 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107808         * lib/xvasprintf.h: New file.
107809         * lib/xvasprintf.c: New file.
107810         * lib/xasprintf.c: New file.
107812 2004-09-08  Bruno Haible  <bruno@clisp.org>
107814         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107816 2004-09-08  Bruno Haible  <bruno@clisp.org>
107818         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107819         length is > INT_MAX.
107820         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107821         more.
107823 2004-09-08  Bruno Haible  <bruno@clisp.org>
107825         * lib/stdint_.h: New file, taken from GNU clisp.
107827 2004-09-08  Bruno Haible  <bruno@clisp.org>
107828             Oskar Liljeblad  <oskar@osk.mine.nu>
107830         * modules/stdint: New file.
107831         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107833 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107835         Import from coreutils.
107836         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107837         strings on unbounded length.  alloca's performance benefits aren't
107838         that important here.
107839         (V_STRDUP): Remove.
107840         (parse_with_separator): New function, with most of the internals
107841         of the old parse_user_spec.  Allow user to omit both user and group,
107842         for compatibility with FreeBSD.
107843         Clone only the user name, not the entire spec.
107844         Do not set *uid, *gid unless entirely successful.
107845         Avoid memory leak in some failing cases.
107846         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107847         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107848         (parse_user_spec): Rewrite to use parse_with_separator.
107850 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107852         * modules/userspec: Don't depend on alloca.
107854 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107856         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107858 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107860         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107861         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107862         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107864 2004-08-16  Simon Josefsson  <jas@extundo.com>
107866         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107867         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107868         Add --dry-run for --import.
107869         Let user provided command line parameters override configure.ac
107870         settings.
107872 2004-08-12  Simon Josefsson  <jas@extundo.com>
107874         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107875         as discussed with Paul Eggert in threads rooted at
107876         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107877         and
107878         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107879         Before, the test was empty, and relied on ELIDE_CODE in source
107880         code.)
107881         (gl_PREREQ_GETOPT): New macro.
107882         (gl_GETOPT): Use them.
107884 2004-08-12  Simon Josefsson  <jas@extundo.com>
107886         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107887         * lib/getopt_.h: Renamed from getopt.h.
107889 2004-08-12  Simon Josefsson  <jas@extundo.com>
107891         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107892         Change default library name from libfoo to libgnu.
107893         Now, if you have a configure.ac that says:
107894                 gl_SOURCE_BASE(gl)
107895                 gl_M4_BASE(gl/m4)
107896                 gl_MODULES(error getopt etcetera)
107897                 gl_INIT
107898         you can import all you need by running:
107899                 ../gnulib/gnulib-tool --import
107901         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107902         (Makefile.am): Rewrite, use logic from argz.
107903         (Include): Use <getopt.h> instead of "getopt.h".
107905 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107907         * modules/argp (Files): Add m4/unlocked-io.m4.
107908         (Depends-on): Add extensions.
107910 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107912         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107913         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107914         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107915         Check for program_invocation_name, program_invocation_short_name,
107916         flockfile, funlockfile, features.h, _getopt_long_only_r.
107918 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107920         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107921         its complicated substitute.
107922         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107923         and program_invocation_name.
107924         (__argp_basename) [!_LIBC]: Remove; the only use was
107925         replaced by its body.
107926         (__argp_short_program_name): Change condition from
107927         !defined __argp_short_program_name to
107928         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107929         to match argp-namefrob.h.
107930         (__argp_failure): Don't assume strerror_r returns char *.
107931         * lib/argp-parse.c (N_): Define unconditionally.
107932         (argp_default_options): Fill out initializers with 0 to avoid
107933         gcc warnings.
107935 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107937         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107938         getopt1.c.
107940 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107942         Merge from coreutils.
107944         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107946         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107947         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107949 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107951         Merge from coreutils.
107953         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107954         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107955         for Reliant Unix 5.43.
107957         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107958         (union fooround): Use uintmax_t, not long int.
107959         The rest is a merge from libc:
107960         [defined _LIBC]: Include <shlib-compat.h>.
107961         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107963         * lib/settime.c (settime): Recode to avoid warning with
107964         Sun Forte C 6U2.
107966         * lib/strverscmp.c: Convert to UTF-8.
107968 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107970         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107971         m4/uintmax_t.m4.
107973 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107975         * modules/xalloc-die: New file.
107976         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107978         * modules/md5 (Files): Add m4/uint32_t.m4.
107979         * modules/sha1: Renamed from modules/sha.
107980         (Files):
107981         Rename lib/sha.h to lib/sha1.h.
107982         Rename lib/sha.c to lib/sha1.c.
107983         Rename m4/sha.m4 to m4/sha1.m4.
107984         (lib_SOURCES): Likewise.
107985         (configure.ac): Rename gl_SHA to gl_SHA1.
107986         (Include): sha.h -> sha1.h.
107988 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107990         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107991         * m4/sha1.m4: Renamed from sha.m4.
107992         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107994 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107996         * lib/obstack.h (obstack_empty_p):
107997         Don't assume that chunk->contents is suitably aligned.
107998         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107999         Likewise. Problem reported by Benno in
108000         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
108002         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
108003         readable.  This could be improved further but it'd take some work.
108005 2004-08-08  Simon Josefsson  <jas@extundo.com>
108007         * modules/xgethostname (Depends-on): Remove exit and error (not
108008         used).
108010         * modules/getpass-gnu: Add getpass.h.
108011         (Depends-on): Add stdbool.
108012         * modules/getpass: Add getpass.h.
108014 2004-08-08  Simon Josefsson  <jas@extundo.com>
108016         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
108017         Check getpass declaration.
108019 2004-08-08  Simon Josefsson  <jas@extundo.com>
108021         * lib/xgethostname.c: Don't include error.h (not used).
108023         * lib/getpass.h: Add.
108024         * lib/getpass.c: Include getpass.h first.
108026 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
108028         * lib/xalloc-die.c: New file.
108029         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
108030         All uses removed.
108031         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
108032         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
108033         xalloc-die.c.
108034         (_, N_, xalloc_die): Move to xalloc-die.c.
108035         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
108036         so that we needn't mess with xalloc_msg_memory_exhausted.
108038         * lib/sha1.h: Renamed from sha.h.
108039         (SHA1_H): Renamed from _SHA_H.
108040         (sha1_ctx): Renamed from sha_ctx.
108041         (sha1_init_ctx): Renamed from sha_init_ctx.
108042         (sha1_process_block): Renamed from sha_process_block.
108043         (sha1_process_bytes): Renamed from sha_process_bytes.
108044         (sha1_finish_ctx): Renamed from sha_finish_ctx.
108045         (sha1_read_ctx): Renamed from sha_read_ctx.
108046         (sha1_stream): Renamed from sha_stream.
108047         (sha1_buffer): Renamed from sha_buffer.
108048         * lib/sha1.c: Likewise; renamed from sha.c.
108049         Do not include <sys/types.h>.
108050         Include <stddef.h> rather than <stdlib.h>.
108052 2004-08-08  Bruno Haible  <bruno@clisp.org>
108054         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
108055         FILESYSTEM_PREFIX_LEN.
108056         * lib/progreloc.c: Likewise.
108057         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
108059 2004-08-06  Simon Josefsson  <jas@extundo.com>
108061         * modules/progname (Depends-on): Don't depend on stdbool.
108063 2004-08-06  Simon Josefsson  <jas@extundo.com>
108065         * modules/getsubopt: New file.
108066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108067         getsubopt.
108069 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108071         More merge from coreutils.
108073         * m4/utimens.m4, m4/utimecmp.m4: New files.
108074         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
108075         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
108076         prereq.m4, sha.m4: Import changes from coreutils.
108078 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108080         More merge from coreutils.
108081         * modules/raise, modules/readtokens0, modules/utimens:
108082         * modules/utimecmp, module/xnanosleep: New files.
108083         * modules/strftime: Add lib/strftime.h.
108084         Change include from <time.h> to "strftime.h".
108085         * modules/yesno: Add lib/yesno.h.
108086         * modules/backupfile: Remove lib/addext.c.
108087         * modules/euidaccess: Add stat-macros.h.
108088         * modules/canonicalize, modules/euidaccess,
108089         modules/filemode, modules/lchown, modules/makepath,
108090         modules/rmdir, modules/stat: Likewise.
108092 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108094         Merge from tar.
108095         * lib/argp-help.c (make_hol, hol_append): Don't assume that
108096         SIZE_MAX is a valid preprocessor constant.
108097         (__argp_basename): Change from "#ifndef _LIBC"
108098         to "#ifndef __argp_short_program_name", so that
108099         we don't compile these functions for tar.
108101         More merges from coreutils.
108102         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
108103         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
108104         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
108105         * lib/addext.c: Remove; no longer needed.
108106         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
108107         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
108108         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
108109         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
108110         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
108111         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
108112         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
108113         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
108114         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
108115         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
108116         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
108117         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
108118         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
108119         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
108120         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
108121         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
108122         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
108123         Import changes from coreutils.
108125 2004-08-05  Simon Josefsson  <jas@extundo.com>
108127         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
108129 2004-08-05  Simon Josefsson  <jas@extundo.com>
108131         * m4/getsubopt.m4: New file.
108133 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108135         Merge from coreutils.
108137         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
108138         * m4/getcwd-path-max.m4: New files.
108140         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
108141         FILESYSTEM_PREFIX_LEN ->
108142         FILE_SYSTEM_PREFIX_LEN.
108143         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
108144         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
108145         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
108146         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
108148         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
108149         prerequisite modules now handle the DOS stuff.
108150         Don't check for unistd.h.
108152 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108154         Merge from coreutils.
108156         * lib/.gdb-history: Remove; this doesn't belong here.
108158         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
108159         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
108160         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
108161         * lib/getcwd.c: New files.
108163         * lib/dirname.h: Include <stdbool.h>.
108164         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
108165         for consistency with POSIX terminology.  All uses changed.
108166         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
108167         (strip_trailing_slashes): Use bool for booleans.
108168         * lib/stripslash.c (strip_trailing_slashes): Likewise.
108170         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
108171         sometimes returns a positive errno value even when it succeeds.
108172         (print_errno_message) [!LIBC]: Fall back on strerror if
108173         __strerror_r fails.
108175         * lib/path-concat.c (mempcpy): Don't define if a system header defines
108176         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
108177         (longest_relative_suffix): New function.
108178         (path_concat): Use it.  Assume first argument is not NULL.
108179         Port to DOS.  Omit redundant separators.
108180         Report an error instead of returning NULL.
108181         Use mempcpy instead of memcpy.
108182         (xpath_concat): Remove: not declared or used.
108184         * lib/same.h: Include <stdbool.h>
108185         (same_name): Return bool, not int.
108186         * lib/same.c (same_name): Likewise.
108187         (errno): Don't declare; we assume C89 or better now.
108189         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
108190         if not already defined.
108192         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
108193         * lib/dup-safer.c (errno): Likewise.
108195 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108197         Merge from coreutils.
108198         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
108199         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
108200         * modules/path-concat: Don't depend on strdup.
108202 2004-08-03  Simon Josefsson  <jas@extundo.com>
108204         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
108205         * lib/progname.h: Don't include stdbool.h.
108207 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108209         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
108210         * MODULES.html.sh (func_all_modules): Remove fatal.
108212 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108214         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
108216 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108218         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
108219         working.
108221 2004-08-02  Simon Josefsson  <jas@extundo.com>
108223         * lib/getsubopt.h: New file, with comments from Bruno Haible.
108224         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
108225         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
108227 2004-08-01  Simon Josefsson  <jas@extundo.com>
108229         * lib/xgetdomainname.c: Include stdlib.h, for free().
108231 2004-07-19  Bruno Haible  <bruno@clisp.org>
108233         * MODULES.html.sh (func_all_modules): Add dummy.
108235 2004-07-16  Simon Josefsson  <jas@extundo.com>
108237         * modules/dummy: New file.
108239 2004-07-16  Simon Josefsson  <jas@extundo.com>
108241         * lib/dummy.c: New file.
108243 2004-07-16  Bruno Haible  <bruno@clisp.org>
108245         * lib/backupfile.h: Add extern "C" for C++.
108246         * lib/closeout.h: Likewise.
108247         * lib/copy-file.h: Likewise.
108248         * lib/findprog.h: Likewise.
108249         * lib/full-write.h: Likewise.
108250         * lib/pathname.h: Likewise.
108251         * lib/progname.h: Likewise.
108252         * lib/stpcpy.h: Likewise.
108253         * lib/stpncpy.h: Likewise.
108254         * lib/strcase.h: Likewise.
108255         * lib/strstr.h: Likewise.
108256         * lib/xalloc.h: Likewise.
108258         * lib/mbswidth.h: Add extern "C" for C++.
108259         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
108261 2004-07-13  Robert Millan  <robertmh@gnu.org>
108263         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
108265 2004-07-09  Simon Josefsson  <jas@extundo.com>
108267         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
108268         failed without this.)
108270 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108272         * modules/chown (Files): Add lib/fchown-stub.c, since
108273         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
108275 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108277         * lib/fchown-stub.c: New file.
108279 2004-06-24  Jim Meyering  <jim@meyering.net>
108281         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
108283 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108285         * modules/argz: Omit "#include".
108287         * MODULES.html.sh (func_all_modules): Add calloc, to match
108288         2004-06-01 addition of calloc module.
108290 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108292         * m4/argz.m4: New file, which is autoupdated from libtool.
108294 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108296         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
108297         libtool.
108299 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108301         * config/srclist-update: Don't insist on "USA." before the
108302         close-comment, as libtool omits the period and puts the */ on a
108303         separate line.
108304         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
108305         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
108307 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
108309         * modules/argz: New file.
108310         * MODULES.html.sh (func_all_modules): Add argz.
108312 2004-06-12  Jim Meyering  <jim@meyering.net>
108313         and  Paul Eggert  <eggert@cs.ucla.edu>
108315         * modules/hash (Files): Add lib/xalloc.h.
108316         * modules/pipe (Depends-on): Add wait-process.
108317         * modules/stat (Depends-on): Add xalloc.
108318         * modules/userspec (Files): Add lib/userspec.h.
108319         * modules/xstrto
108321         Upgrade from gettext-0.13.
108322         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
108323         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
108324         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
108326 2004-06-10  Jim Meyering  <jim@meyering.net>
108328         * lib/calloc.c: New file.
108330 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
108332         * lib/getdate.y (yylex): Allow space between sign and number.
108333         Problem reported by Dan Jacobson.
108335 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108337         Merge from coreutils CVS.
108339         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
108340         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
108341         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
108342         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
108343         xstrtol.m4: Fix copyright date and/or serial number.
108345         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
108346         See if we need an fchown replacement.
108347         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
108348         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
108349         and use the replacement function if we detect either defect.
108351         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
108352         gl_UTIMECMP.
108354 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108355         and  Jim Meyering  <jim@meyering.net>
108357         Merge from coreutils CVS.
108359         * lib/stat-macros.h: New file, with contents from file-type.h
108360         and coreutils' system.h.
108361         * lib/file-type.c: Include "stat-macros.h".
108362         * lib/file-type.h (file_type): Move all macro definitions to new file,
108363         stat-macros.h.
108365         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
108366         Wrap old code with this conditional.
108367         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
108368         function that does not dereference symlinks.
108369         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
108371         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
108372         dependency problems.
108373         (xreadlink): Accept new arg SIZE, for efficiency.
108374         All decls and uses changed.
108375         * lib/xreadlink.h: Include <stddef.h>, for size_t.
108377         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
108378         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
108380         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
108381         sysexits.h.
108383 2004-06-01  Jim Meyering  <jim@meyering.net>
108385         * m4/calloc.m4: New file.
108387 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
108389         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
108390         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
108391         Also, fix a typo in a diagnostic.
108393 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108395         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
108396         or AC_FUNC_REALLOC.
108398 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108400         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
108401         macros to be defined.
108402         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
108403         the allocator returns NULL because the requested size is zero.
108405 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
108407         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
108408         var.  Add comment explaining why libc still defines it.  This
108409         merges the following patch from glibc:
108410         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
108412 2004-05-20  Andreas Schwab  <schwab@suse.de>
108414         * m4/free.m4: Replace free if it not known to work, not the other
108415         way round.
108417 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
108419         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
108420         present in glibc since revision 1.1 of this file.
108421         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
108422         obstack_alignment_mask, obstack_alloc, obstack_base,
108423         obstack_blank, obstack_blank_fast, obstack_chunk_size,
108424         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
108425         obstack_grow0, obstack_init, obstack_int_grow,
108426         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
108427         obstack_next_free, obstack_object_size, obstack_ptr_grow,
108428         obstack_ptr_grow_fast, obstack_room): Remove declarations of
108429         nonexistent functions.
108431 2004-05-18  Karl Berry  <karl@gnu.org>
108433         * config/srclist.txt: break link for vasnprintf.c.
108435 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108437         Port obstack to the AS/400, where pointers are 16 bytes wide and
108438         you cannot cast an integer to a valid pointer.  This patch is
108439         currently waiting to be integrated into glibc; see
108440         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
108442         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
108443         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
108444         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
108445         (struct obstack): temp member is now a union of a pointer and
108446         an integer, instead of an integer.  All integer uses changed.
108447         This does not affect the physical layout of struct obstack,
108448         except on hosts (like the AS/400) where the size or alignment of
108449         void * is greater than that of ptrdiff_t.
108450         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
108451         __STDC__)]: Store temporary in pointer member of union, not
108452         integer member.
108453         * lib/obstack.c: Include <stddef.h>, for offsetof.
108454         (struct fooalign): Remove; it doesn't need a name.
108455         (union fooround): Change double to long double, and add void *.
108456         (DEFAULT_ALIGNMENT): Use offsetof to compute.
108457         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
108458         not a macro.  Hence the values are always int; so remove all
108459         casts-to-int in uses.
108461 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108463         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
108464         we can get this patch merged into glibc.
108466 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108467             Paul Eggert  <eggert@cs.ucla.edu>
108469         * m4/argp: Depend on alloca.
108471 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108472             Paul Eggert  <eggert@cs.ucla.edu>
108474         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108475         freecoding.
108477 2004-05-17  Bruno Haible  <bruno@clisp.org>
108479         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108480         precision that consists of a '.' followed by an empty digit string.
108481         Patch by Tor Lillqvist <tml@iki.fi>.
108483 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108485         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108486         for backward compatibility with older code.  We need our own
108487         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108488         it under some other name, and our alloca.h will define it.
108490 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108491             Derek Price  <derek@ximbiot.com>
108493         * lib/alloca.c: Include <alloca.h>, to get our interface.
108494         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108495         include <alloca.h> first.  Use C89 prototype for alloca; this
108496         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108497         Use #elif for simplicity, since we can assume C89 now.
108498         Don't try to source the system alloca.h since it will not be found
108499         and to prevent recursively including its replacement.
108500         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108501         * lib/regex.c: Likewise.
108503 2004-05-16  Derek Price  <derek@ximbiot.com>
108504             Paul Eggert  <eggert@cs.ucla.edu>
108506         getline cleanup.  This changes the getndelim2 API: both order of
108507         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108508         no delimiter).
108510         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108511         interface does that.
108512         (getline): Always use getdelim, so that we don't have two
108513         copies of this code.
108514         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108515         if available.
108516         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108517         (GETNDELIM2_MAXIMUM): New macro.
108518         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108519         instead of the old practice of delim2==0.  All callers changed.
108520         Return -1 on overflow, instead of returning junk.
108521         Do not set *linesize unless allocation succeeds.
108522         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108523         that we include sys/types.h.
108524         * lib/getnline.h: Likewise.
108525         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108526         (getndelim2): Reorder arguments.
108527         * lib/getnline.c (getnline, getndelim):
108528         Don't discard the NMAX argument.
108529         (getnline): Invoke getndelim, to avoid code duplication.
108530         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108531         of (size_t) -1 by callers of the getnline family.
108533 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108535         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108536         Check for gettimeofday.
108537         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108538         Check for settimeofday, stime.
108540 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108542         * lib/nanosleep.c (suspended): Change its type from int to
108543         sig_atomic_t volatile.
108544         (first_call): Make it private to rpl_nanosleep, and have it
108545         be zero initially as that's a bit faster.
108546         (my_usleep): Round up fractional times instead of truncating them,
108547         as this is the usual meaning for 'sleep'.
108549         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108550         doesn't work.
108551         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108552         (ENOSYS): Define if not defined.
108553         (settime): Fall back on stime if it exists and settimeofday fails.
108554         But don't bother with fallbacks if a method fails with errno == EPERM.
108556 2004-05-11  Jim Meyering  <jim@meyering.net>
108558         Prior to this change, the save_cwd caller required read access to the
108559         current directory on most systems (ones with the fchdir function).
108561         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108562         fails, try write-only, and finally, resort to using xgetcwd.
108564 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108566         * lib/obstack.c, obstack.h: Import changes from libc.
108568 2004-04-28  Bruno Haible  <bruno@clisp.org>
108570         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108571         also implicitly appends .exe to executables.
108572         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108573         accepts Windows pathnames.
108574         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108575         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108576         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108577         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108578         Reported by Derek Robert Price <derek@ximbiot.com>.
108580 2004-04-21  Karl Berry  <karl@gnu.org>
108582         * config/srclist.txt (localcharset.c): break sync.
108584 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108586         * m4/host-os.m4: Add a copyright notice.
108588 2004-04-20  Jim Meyering  <jim@meyering.net>
108590         Change UTILS_ to gl_ in AC_DEFINE'd names.
108591         Change utils_- and jm_-prefixed variables, too.
108592         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108593         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108594         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108596         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108597         Don't emit trailing blanks.
108598         Also rename jm_-prefixed variables to have gl_ prefix.
108600         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108601         Also rename jm_-prefixed variables to have gl_ prefix.
108603         * m4/jm-macros.m4: Reflect the renamings.
108604         * m4/prereq.m4: Likewise.
108606 2004-04-20  Jim Meyering  <jim@meyering.net>
108608         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108609         memory.
108611 2004-04-20  Jim Meyering  <jim@meyering.net>
108612             Bruno Haible  <bruno@clisp.org>
108614         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108615         memory when realloc fails.
108617 2004-04-19  Jim Meyering  <jim@meyering.net>
108619         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108620         now that readutmp.c may call `free (0)'.
108622 2004-04-19  Bruno Haible  <bruno@clisp.org>
108624         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108625         * m4/inttypes_h.m4: Likewise.
108626         * m4/stdint_h.m4: Likewise.
108627         * m4/intmax_t.m4: Likewise.
108628         * m4/uintmax_t.m4: Likewise.
108630 2004-04-18  Jim Meyering  <jim@meyering.net>
108632         * m4/prereq.m4: Don't forbid jm_ prefix.
108634         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108635         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108636         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108637         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108638         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108639         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108640         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108641         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108642         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108643         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108644         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108645         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108646         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108647         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108648         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108649         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108650         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108651         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108652         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108654 2004-04-18  Jim Meyering  <jim@meyering.net>
108656         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108657         failure, don't leak memory and do call END_UTMP_ENT.
108659 2004-04-16  Jim Meyering  <jim@meyering.net>
108661         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108662         coreutils' stat program.
108663         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108665 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108667         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108668         C89.
108669         (CHAR_BIT): Remove, since we assume C89.
108670         Include <stdint.h> if available, as per current Autoconf CVS advice.
108672 2004-03-31  Jim Meyering  <jim@meyering.net>
108674         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108675         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108676         * m4/xalloc.m4: Likewise.
108678 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108680         Merge from coreutils.
108682         * m4/inttostr.m4: New file.
108683         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108684         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108685         Require gl_CLOCK_TIME.
108686         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108688 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108690         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108691         not bool, to be more consistent with Unix conventions.
108692         Suggested by Bruno Haible.
108694         Merge from coreutils.
108696         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108697         * lib/umaxtostr.c: New files.
108699         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108700         the usual <time.h> dance.
108701         (get_date): Change signature to support fractional time stamps.
108702         All callers changed.
108703         * lib/getdate.y: Include "getdate.h" first, as we can now
108704         assume C89 and don't need to worry about 'const'.
108705         Similarly, include "unlocked-io.h" near start, not in middle.
108706         Include <limits.h>.
108707         (textint.value): Use long int rather than int.
108708         (textint.digits): Use size_t rather than int.
108709         (BILLION, LOG10_BILLION): New constants.
108710         (parser_control): New member rel_ns.  Members day_ordinal,
108711         time_zone, month, day, hour, minutes, rel_year, rel_month,
108712         rel_day, rel_hour, rel_minutes, rel_seconds
108713         are now long int, not int.  Member seconds is now struct timespec,
108714         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108715         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108716         not int.
108717         (%union.intval): Now long int, not int.
108718         New member timespec.
108719         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108720         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108721         (spec): Now is a timespec or an item list.
108722         (timespec, items): New nonterminals.
108723         (time, rel, relunit, number, get_date):
108724         Add support for fractional seconds.
108725         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108726         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108727         (to_hour): First arg is now long int, not int.
108728         (to_year): Returns long int, not int.
108729         Don't treat year -70 like 70.
108730         (tm_diff): Returns long int, not int.
108731         (lookup_word): Use bool instead of int when appropriate.
108732         (yylex): Use size_t for count, not int.
108733         Detect overflow when parsing large integer constants.
108734         Add support for fractions.
108735         (get_date): Make pointers 'const' if possible.
108736         Use more-portable code to detect integer overflow.
108737         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108738         Don't use ctime; it's not reliable if the year has >4 digits.
108740         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108741         This is for compatibility with BSD.
108743         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108744         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108745         From coreutils' system.h.
108747         * lib/userspec.c: Don't include "posixver.h".
108748         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108749         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108750         compatible extension.  Simplify code by removing a boolean int
108751         that was always nonzero if a string was nonnull.
108753 2004-03-30  Jim Meyering  <jim@meyering.net>
108755         Merge from coreutils.
108757         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108758         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108759         on some systems one must include <grp.h> before it.
108760         Reported by Christian Krackowizer.
108762 2004-03-30  Jim Meyering  <jim@meyering.net>
108764         Merge from coreutils.
108766         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108768         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108769         an empty input stream.
108771         * lib/readtokens.c: Include <stdbool.h>.
108772         (readtoken): Use `size_t' rather than int/long.
108773         All callers adjusted.
108774         Use `bool' rather than `int' where appropriate.
108775         Use memset rather than an explicit loop.
108776         Use x2nrealloc rather than xrealloc.
108777         Allow the use of `\0' as a delimiter.
108778         (readtokens): Likewise.
108779         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108781 2004-03-30  Jim Meyering  <jim@meyering.net>
108783         * m4/realloc.m4: Remove file, since now it does no more than
108784         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108785         the `configure.ac' section of module/realloc.
108786         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108788 2004-03-30  Bruno Haible  <bruno@clisp.org>
108790         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108791         nonnull.
108793 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108795         Merge changes to getloadavg.c from coreutils and Emacs.
108797         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108798         Define to an expression, not to the empty string.
108799         Include cloexec.h and xalloc.h.
108800         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108801         Use set_cloexec_flag rather than rolling our own.
108802         * lib/cloexec.c, lib/cloexec.h: New files.
108804 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108806         * m4/cloexec.m4: New file.
108808 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108810         * lib/getopt.h: Sync with libc CVS.
108812 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108813             Bruno Haible  <bruno@clisp.org>
108815         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108816         mbswidth.
108818 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108819             Bruno Haible  <bruno@clisp.org>
108821         * lib/mbswidth.h: Include <wchar.h> only if
108822         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108823         <wchar.h>.
108824         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108826 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108828         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108829         Sync with libc CVS.
108830         * lib/getopt_int.h: New file, also synced from libc.
108832 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108834         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108835         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108836         Bring back getopt.c, getopt.h, getopt1.c.
108838 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108840         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108841         All uses changed.  Check for sa_sigaction member; this fixes
108842         a bug first reported by Jason Andrade in
108843         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108845 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108847         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108848         '#if' expressions.  Unlike the code it replaces, it does not
108849         depend on (defined _SC_PAGESIZE).  However, it does depend on
108850         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108851         first reported by Jason Andrade in
108852         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108854 2004-02-25  Simon Josefsson  <jas@extundo.com>
108856         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108858 2004-02-25  Simon Josefsson  <jas@extundo.com>
108860         * lib/strdup.h: New file.
108861         * lib/strdup.c: Include it.
108862         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108863         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108865 2004-02-23  Karl Berry  <karl@gnu.org>
108867         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108868         (from fencepost.gnu.org:/gd/gnuorg).
108870 2004-02-23  Karl Berry  <karl@gnu.org>
108872         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108873         * config/srclist.txt: add maintain/standards documents.
108875 2004-02-18  Bruno Haible  <bruno@clisp.org>
108877         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108878         Reported by Derek Robert Price <derek@ximbiot.com>.
108880 2004-02-16  Karl Berry  <karl@gnu.org>
108882         * config/mkinstalldirs, install-sh: update from automake.
108884 2004-02-06  Karl Berry  <karl@gnu.org>
108886         * m4/po.m4: update from gettext 0.14.1.
108888 2004-02-06  Karl Berry  <karl@gnu.org>
108890         * lib/config.charset: update from gettext 0.14.1.
108892 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108894         Add comments and code, prompted by suggestions from Bruno Haible
108895         for sh-quote.
108896         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108897         describing the enum quoting_style values.
108898         * lib/quotearg.c (quotearg_alloc): New function.
108899         (quotearg_buffer_restyled): Treat lone { and } as special.
108900         Treat = as special.  Work around bug with older shells
108901         that "see" a '\' that is really the 2nd byte of a multibyte char.
108902         Quote empty string with shell_quoting_style.
108904 2004-02-03  Bruno Haible  <bruno@clisp.org>
108906         * m4/pipe.m4: New file, from GNU gettext.
108908 2004-02-03  Bruno Haible  <bruno@clisp.org>
108910         * lib/pipe.h: New file, from GNU gettext.
108911         * lib/pipe.c: New file, from GNU gettext.
108913 2004-01-27  Bruno Haible  <bruno@clisp.org>
108915         * m4/execute.m4: New file, from GNU gettext.
108917 2004-01-27  Bruno Haible  <bruno@clisp.org>
108919         * lib/execute.h: New file, from GNU gettext.
108920         * lib/execute.c: New file, from GNU gettext.
108921         * lib/w32spawn.h: New file, from GNU gettext.
108923 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108925         Merge from diffutils.
108927         * lib/file-type.c (file_type): Add typed memory objects.
108928         * lib/file-type.h (S_TYPEISTMO): New macro.
108930         * lib/c-stack.h (c_stack_action): Remove argv argument.
108931         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108932         (die): Don't calculate message unless segv_action returns.
108933         (get_stack_location, min_address_from_argv, max_address_from_argv,
108934         volatile stack_base, volatile_stack_size): Remove.
108935         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108936         that every segmentation violation is a stack overflow.  (Ouch!)
108937         See Debian bug 136249 (still outstanding) for more info about why
108938         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108940 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108942         Exit-status fix from coreutils.
108944         Use exit_failure consistently in place of EXIT_FAILURE,
108945         so that program exit statuses are consistent on failure.
108947         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108948         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108949         * lib/argmatch.h: Comment fix to match the above.
108950         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108951         Now a macro referring to exit_failure, instead of a separate
108952         variable.  Include "exitfail.h" to get it.
108953         * lib/xstrtol.h: Include "exitfail.h".
108954         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108956         * lib/long-options.c (parse_long_options): Use prototype
108957         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108958         for clarity.
108960 2004-01-21  Jim Meyering  <jim@meyering.net>
108962         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108963         so as not to conflict with a different-sized __mktime_internal
108964         function in GNU libc.
108965         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108966         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108968 2004-01-20  Karl Berry  <karl@gnu.org>
108970         * config/config.guess: update from config.
108972         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108974 2004-01-20  Bruno Haible  <bruno@clisp.org>
108976         Safer stack allocation.
108977         * lib/setenv.c: Include allocsa.h.
108978         (alloca): Remove fallback definition.
108979         (freea): Remove macro.
108980         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108981         instead of freea.
108983 2004-01-20  Bruno Haible  <bruno@clisp.org>
108985         * m4/eealloc.m4: New file, from GNU gettext.
108987 2004-01-20  Bruno Haible  <bruno@clisp.org>
108989         * m4/allocsa.m4: New file, from GNU gettext.
108991 2004-01-20  Bruno Haible  <bruno@clisp.org>
108993         * lib/xallocsa.h: New file, from GNU gettext.
108994         * lib/xallocsa.c: New file, from GNU gettext.
108996 2004-01-20  Bruno Haible  <bruno@clisp.org>
108998         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
109000 2004-01-20  Bruno Haible  <bruno@clisp.org>
109002         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
109003         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
109004         specially.
109006 2004-01-20  Bruno Haible  <bruno@clisp.org>
109008         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
109009         patch.
109011 2004-01-20  Bruno Haible  <bruno@clisp.org>
109013         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
109015 2004-01-20  Bruno Haible  <bruno@clisp.org>
109017         * lib/eealloc.h: New file.
109019 2004-01-20  Bruno Haible  <bruno@clisp.org>
109021         * lib/binary-io.h: Avoid warnings on Cygwin.
109023 2004-01-20  Bruno Haible  <bruno@clisp.org>
109025         * lib/allocsa.h: New file, from GNU gettext.
109026         * lib/allocsa.c: New file, from GNU gettext.
109028 2004-01-18  Karl Berry  <karl@gnu.org>
109030         * doc/gpl.texi, doc/lgpl.texi: new files.
109032 2004-01-18  Karl Berry  <karl@gnu.org>
109034         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
109035         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
109037 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109039         Merge from coreutils.
109041         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
109042         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
109043         (gl_DEFAULT_POSIX2_VERSION): Move
109044         the documentation from 'configure' into 'config.hin',
109045         so that 'configure --help' isn't burdened by it and
109046         we don't have to worry about its formatting there.
109047         Reword the documentation so that it's more succinct
109048         and can be run together into a single paragraph.
109049         * m4/same.m4 (gl_SAME): Check for pathconf.
109051 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109053         Merge from coreutils.
109055         * lib/posixver.c: Include posixver.h.
109057         * lib/same.c: Include <stdbool.h>, <limits.h>.
109058         (_POSIX_NAME_MAX): Define if not defined.
109059         (MIN): New macro.
109060         (same_name): If file names are silently truncated, report
109061         that the file names are the same if they are the same after
109062         the silent truncation.
109064         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
109065         conversion function.
109066         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
109067         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
109068         longer needed.
109070 2004-01-15  Jim Meyering  <jim@meyering.net>
109072         Merge from coreutils.
109074         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
109075         if no library is required.
109076         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
109077         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
109078         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
109079         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
109080         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
109081         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
109082         value, $ac_cv_search_crypt, if it's "none required".
109083         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
109084         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
109085         not gl_FUNC_GETLOADAVG.
109086         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
109087         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
109089 2004-01-15  Jim Meyering  <jim@meyering.net>
109091         Merge from coreutils.
109093         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
109094         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
109095         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
109097         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
109098         optional configure-time default.
109100         * lib/version-etc.c (version_etc_copyright): Update copyright date.
109102         * lib/xreadlink.c (xreadlink): Correct outdated comment.
109104 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
109106         Merge from coreutils.
109108         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
109109         value, $ac_cv_search_nanosleep, if it's "none required".
109111 2004-01-14  Paul Eggert  <eggert@twinsun.com>
109113         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
109114         with like-named macro in fnmatch.c.
109115         (EXT): Use an internal constant instead.
109117         Merge fnmatch patches from glibc.
109118         * lib/fnmatch.c (mbsinit): Remove define.
109119         Add libc_hidden_ver (__fnmatch, fnmatch).
109120         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
109121         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
109123 2004-01-14  Karl Berry  <karl@gnu.org>
109125         * config/install-sh: update from automake.
109127 2004-01-13  Karl Berry  <karl@gnu.org>
109129         * config/install-sh: update from automake.
109131 2004-01-09  Karl Berry  <karl@gnu.org>
109133         * config/install-sh: update from automake.
109135 2004-01-05  Karl Berry  <karl@gnu.org>
109137         * config/config.{sub,guess}: update from config.
109139 2003-12-31  Karl Berry  <karl@gnu.org>
109141         * config/depcomp: update from automake.
109143 2003-12-14  Karl Berry  <karl@gnu.org>
109145         * lib/config.charset: update from gettext-runtime.
109147 2003-12-03  Paul Eggert  <eggert@twinsun.com>
109149         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
109150         Bug reported by Alfred M. Szmidt.
109152 2003-12-03  Bruno Haible  <bruno@clisp.org>
109154         * m4/gettext.m4: Upgrade from gettext-0.13.
109155         * m4/po.m4: Upgrade from gettext-0.13.
109156         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
109157         * m4/intmax.m4: New file, from gettext-0.13.
109158         * m4/printf-posix.m4: New file, from gettext-0.13.
109160 2003-11-29  Karl Berry  <karl@gnu.org>
109162         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
109164 2003-11-25  Paul Eggert  <eggert@twinsun.com>
109165             Bruno Haible  <bruno@clisp.org>
109167         * lib/printf-parse.h: Don't include sys/types.h.
109168         (ARG_NONE): New macro.
109169         (char_directive): Change type of *arg_index fields to size_t.
109170         * lib/printf-parse.c: Don't include sys/types.h.
109171         (SSIZE_MAX): Remove macro.
109172         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
109173         Remove unnecessary overflow check.
109174         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
109175         fields.
109177 2003-11-25  Bruno Haible  <bruno@clisp.org>
109179         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
109181 2003-11-25  Bruno Haible  <bruno@clisp.org>
109183         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
109184         gt_TYPE_SSIZE_T.
109186 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109188         * modules/alloca: Remove dependency on xalloc.
109190 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109192         * lib/alloca.c: Remove dependency on xalloc module.
109193         (xalloc_die): Remove.
109194         (memory_full) [!defined emacs]: New macro.
109195         [!defined emacs]: Don't include xalloc.h.
109196         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
109197         address arithmetic overflows.  Change datatypes a bit to avoid
109198         unnecessary casts.
109200 2003-11-22  Jim Meyering  <jim@meyering.net>
109202         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
109203         s/size/size_t/.
109205 2003-11-21  Karl Berry  <karl@gnu.org>
109207         * config/config.{sub,guess}: update from config.
109209 2003-11-18  Karl Berry  <karl@gnu.org>
109211         * config/config.{sub,guess}: update from config.
109213         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
109215 2003-11-17  Paul Eggert  <eggert@twinsun.com>
109217         * README: Mention that S+T cannot overflow if S is the size of
109218         an existing object and T is sufficiently small.
109220 2003-11-17  Jim Meyering  <jim@meyering.net>
109222         On systems without utime and without a utimes function capable of
109223         dealing with a NULL struct utimbuf* argument, this utime replacement
109224         could -- in unusual circumstances -- leak a file descriptor.
109225         * lib/utime.c: Include <unistd.h> and <errno.h>.
109226         (utime_null): Be sure to close `fd' and to preserve errno.
109227         Reported by Geoff Collyer via Arnold Robbins.
109229 2003-11-17  Bruno Haible  <bruno@clisp.org>
109231         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
109232         (Depends-on): Add xsize.
109234 2003-11-17  Bruno Haible  <bruno@clisp.org>
109236         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
109238 2003-11-17  Bruno Haible  <bruno@clisp.org>
109240         * lib/vasnprintf.c (alloca): Remove fallback definition.
109241         (freea): Remove definition.
109242         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
109243         Reported by Paul Eggert.
109245 2003-11-16  Paul Eggert  <eggert@twinsun.com>
109246             Bruno Haible  <bruno@clisp.org>
109248         Protect against address arithmetic overflow.
109249         * lib/printf-args.h: Include stddef.h.
109250         (arguments): Change type of field 'count' to size_t.
109251         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
109252         'unsigned int' where appropriate.
109253         * lib/printf-parse.h: Include sys/types.h.
109254         (char_directive): Change type of *arg_index fields to ssize_t.
109255         (char_directives): Change type of fields 'count', max_*_length to
109256         size_t.
109257         * lib/printf-parse.c: Include sys/types.h and xsize.h.
109258         (SSIZE_MAX): Define fallback value.
109259         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
109260         instead of 'int' where appropriate. Check a_allocated, d_allocated
109261         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
109262         * lib/vasnprintf.c: Include xsize.h.
109263         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
109264         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
109265         overflow. Avoid wraparound when converting a width or precision from
109266         decimal to binary.
109268 2003-11-16  Bruno Haible  <bruno@clisp.org>
109270         Update from GNU gettext.
109271         * lib/printf-parse.c: Generalize to it can be compiled for wide
109272         strings.
109273         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
109274         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
109275         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
109276         SNPRINTF): New macros.
109277         Don't include <alloca.h> if the file is used inside libintl.
109278         (local_wcslen): New function, for Solaris 2.5.1.
109279         (VASNPRINTF): Use it instead of wcslen.
109281 2003-11-16  Bruno Haible  <bruno@clisp.org>
109283         * lib/xsize.h (xmax): New function.
109284         (xsum, xsum3, xsum4): Declare as "pure" functions.
109286 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109288         * modules/xalloc (Files): Undo latest change, since xalloc.h
109289         no longer needs SIZE_MAX or PTRDIFF_MAX.
109291 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109293         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
109294         gl_PTRDIFF_MAX.
109296 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109298         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
109299         "return", to pacify some unknown compiler.  Problem reported
109300         by Joerg Schilling.
109302 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109304         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
109305         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
109306         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
109307         heuristic is just as accurate as far as we know, and it removes a
109308         dependency on size_max.m4 and ptrdiff_max.m4.
109310 2003-11-11  Bruno Haible  <bruno@clisp.org>
109312         * modules/xsize (Files): Add m4/size_max.m4.
109313         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
109315 2003-11-11  Bruno Haible  <bruno@clisp.org>
109317         * m4/size_max.m4: New file.
109318         * m4/ptrdiff_max.m4: New file.
109319         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
109320         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
109321         (gl_XALLOC): Invoke it.
109323 2003-11-11  Bruno Haible  <bruno@clisp.org>
109325         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
109326         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
109327         defined.
109329 2003-11-10  Paul Eggert  <eggert@twinsun.com>
109331         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
109332         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
109333         rejected some allocations of exactly SIZE_MAX - 2 bytes.
109334         From Bruno Haible.
109335         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
109336         not (size_t) -1, since it's defined here.
109338 2003-11-09  Karl Berry  <karl@gnu.org>
109340         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
109342 2003-11-06  Paul Eggert  <eggert@twinsun.com>
109344         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
109345         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
109346         Reject sizes of exactly SIZE_MAX bytes.
109347         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
109348         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
109350 2003-11-05  Bruno Haible  <bruno@clisp.org>
109352         * lib/xsize.h: Include limits.h, to avoid a possible collision with
109353         SIZE_MAX defined in <limits.h> on Solaris.
109355 2003-11-04  Jim Meyering  <jim@meyering.net>
109357         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
109358         variable names, rather than @VAR@.
109359         * modules/poll: Likewise.
109361 2003-11-04  Bruno Haible  <bruno@clisp.org>
109363         * modules/xsize: New file.
109364         * modules/linebreak: Depend on xsize.
109365         * MODULES.html.sh (func_all_modules): Add xsize.
109367 2003-11-04  Bruno Haible  <bruno@clisp.org>
109369         * m4/xsize.m4: New file.
109371 2003-11-04  Bruno Haible  <bruno@clisp.org>
109373         * lib/xsize.h: New file.
109374         * lib/linebreak.c: Include xsize.h.
109375         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
109376         argument for overflow.
109377         Suggested by Paul Eggert.
109379 2003-11-03  Karl Berry  <karl@gnu.org>
109381         * config/config.{guess,sub}: update from config.
109383 2003-11-03  Jim Meyering  <jim@meyering.net>
109385         * modules/userspec (lib_SOURCES): Add userspec.h.
109386         (Include): Add "userspec.h".
109387         Improve description.
109389 2003-11-03  Jim Meyering  <jim@meyering.net>
109391         * lib/userspec.c: Include "userspec.h".
109392         * lib/userspec.h: New file.
109394 2003-11-03  Bruno Haible  <bruno@clisp.org>
109396         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
109398 2003-11-03  Bruno Haible  <bruno@clisp.org>
109400         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
109401         available, to avoid (extremely rare) race condition.
109402         Suggested by Paul Eggert.
109404 2003-11-02  Karl Berry  <karl@gnu.org>
109406         * config/srclist.txt (vasprintf.c): sync broken, sigh.
109408 2003-10-31  Paul Eggert  <eggert@twinsun.com>
109410         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
109411         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
109412         (read_filesystem_list): Set and use me_type_malloced.
109413         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
109414         whatever the type happens to be), for brevity and consistency.
109415         Check for size calculation overflow on Alphas running OSF/1.
109417 2003-10-31  Jim Meyering  <jim@meyering.net>
109419         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
109421         * lib/linebuffer.c: Include <string.h> for declaration of memset.
109423 2003-10-30  Paul Eggert  <eggert@twinsun.com>
109424             Bruno Haible  <bruno@clisp.org>
109426         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
109427         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
109429 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109431         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
109432         netbsd*-gnu*.  Suggested by Robert Millan.
109434 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109436         * modules/group-member: Depend on stdbool.
109438 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109440         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
109442 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109444         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
109445         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
109446         after the 'gnu' in these cases.  This fixes some bugs in the
109447         previous change, and is based on suggestions by Robert Millan.
109449 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109451         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
109452         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
109453         no longer needed.
109454         * lib/quotearg.c (quotearg_n_options): Use it.
109455         * lib/group-member.c: Include <stdbool.h>.
109456         (free_group_info): Arg is now const *; don't free arg.
109457         (get_group_info): Now returns bool and accepts struct group_info *,
109458         rather than returning a malloc'ed struct group_info *.
109459         All uses changed.  Check for overflow in internal size calculation.
109461         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
109462         rather than xmalloc/xrealloc.
109463         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
109464         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
109465         conformance bug: the old code used a pointer after freeing the
109466         storage that it addressed.
109467         * lib/hash.c (hash_initialize): Simplify the code by using
109468         xalloc_oversized rather than doing it by hand.
109469         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
109470         the buffer preserved.  Use free and xmalloc instead.
109471         * lib/quotearg.c (quotearg_n_options): Likewise.
109472         Use a simpler test for size overflow.  Don't use xalloc_oversized
109473         because unsigned int might be wider than size_t (!); this suggests
109474         that we should switch from unsigned int to size_t for slot numbers.
109476 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109478         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109479         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109480         NetBSD kernels.  Requested by Richard Stallman.
109482 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109484         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109485         to allocate the returned structure.  Do not allocate a subarray,
109486         as x2nrealloc will do that.
109487         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109488         instead of xnrealloc.
109489         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109491 2003-10-27  Bruno Haible  <bruno@clisp.org>
109493         * lib/stdbool_.h: Better support for BeOS.
109495 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109497         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109498         now uses inline.
109500 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109502         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109503         callers that want to do their own size-overflow checking.  Include
109504         <stdbool.h>, since xalloc_oversized returns bool.
109505         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109506         to use xalloc_oversized.
109508         Add two functions x2realloc, x2nrealloc, for programs that grow
109509         arrays dynamically by doubling their sizes.
109510         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109511         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109512         New functions.
109514         Port to C99 semantics for 'inline' of external functions.
109515         Bug reported by Bruno Haible.
109516         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109517         with the old contents of xnmalloc.
109518         (xnmalloc, xmalloc): Use it.
109519         (xnrealloc_inline): New static inline function,
109520         with the old contents of xnrealloc.
109521         (xnrealloc, xrealloc): Use it.
109523         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109524         that.
109526 2003-10-26  Karl Berry  <karl@gnu.org>
109528         * config/srclist.txt (COPYING.DOC): no longer available from
109529         /gd/gnuorg; don't know where the ultimate source is.
109531 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109533         Fix several address-calculation bugs in the hash modules,
109534         plus some minor code cleanup.
109536         * lib/hash.h: Include <stdbool.h>, for bool.
109537         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109538         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109539         hash_get_n_entries, hash_get_max_bucket_length,
109540         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109541         hash_rehash): Use size_t rather than unsigned.
109542         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109543         hash_get_n_buckets_used, hash_get_n_entries,
109544         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109545         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109546         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109547         Likewise.
109548         (SIZE_MAX): Define if not defined.
109549         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109550         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109551         hash_print):
109552         Use const * when possible.
109553         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109554         (check_tuning): Fix bug: if tuning parameters were very close to
109555         0 or 1, rounding errors could have caused subscript violations.
109556         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109557         (hash_initialize): Add 'fail:' label
109558         to free table and return NULL, and use it to simplify code.
109559         Use calloc rather than clearing the storage ourself.
109560         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109561         buffer size calculations.
109562         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109563         Include <stddef.h>, for size_t.
109564         * lib/hash-pjw.c (hash_pjw): Likewise.
109565         Switch to method described by Bruno Haible.
109566         Include <limits.h>, for CHAR_BIT.
109567         (SIZE_BITS): New macro.
109569 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109571         * m4/getline.m4 (AM_FUNC_GETLINE):
109572         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109573         hosts.  Problem reported by Derek Robert Price in
109574         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109575         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109576         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109578 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109580         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109581         ceiling the allocation at NMAX bytes rather than silently
109582         discarding input bytes before NMAX is reached.  This makes
109583         a difference only if NMAX exceeds SIZE_MAX / 2.
109585         * lib/obstack.c: Merge from glibc.
109586         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109587         Add libc_hidden_def (_obstack_newchunk).
109588         (_obstack_free) [! defined _LIBC]: Remove.
109589         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109590         a clone of the function body.
109591         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109592         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109594         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109595         glibc.
109596         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109597         arg to memcpy.
109599         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109600         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109601         Don't use lvalue casts, as GCC plans to remove support for them
109602         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109603         was also present in the non-GCC version, indicating that this
109604         code had always been buggy and had never been widely used.
109605         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109606         Use the fast variant of each macro, rather than copying the
109607         definiens of the fast variant; that way, we'll be more likely to
109608         catch future bugs in the fast variants.
109610 2003-10-20  Bruno Haible  <bruno@clisp.org>
109612         * modules/wait-process: New file.
109613         * MODULES.html.sh (func_all_modules): Add wait-process.
109615 2003-10-20  Bruno Haible  <bruno@clisp.org>
109617         * m4/wait-process.m4: New file.
109619 2003-10-20  Bruno Haible  <bruno@clisp.org>
109621         * lib/wait-process.h: New file, from GNU gettext.
109622         * lib/wait-process.c: New file, from GNU gettext.
109624 2003-10-19  Jim Meyering  <jim@meyering.net>
109626         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109627         HPUX 10.20.
109629 2003-10-18  Karl Berry  <karl@gnu.org>
109631         * config/config.guess: update from config.
109633 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109635         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109636         (getgroups): First arg is int, not size_t.
109637         Don't let 'free' mangle errno.
109639 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109641         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109643 2003-10-16  Karl Berry  <karl@gnu.org>
109645         * config/config.{guess,sub}: update from config.
109647 2003-10-16  Jim Meyering  <jim@meyering.net>
109649         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109650         memcpy.
109652 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109654         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109655         (SIZE_MAX): Remove.
109656         (new_exclude, add_exclude_file): Initial size no longer needs to
109657         be a power of 2.
109658         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109659         our own address arithmetic overflow checking.
109661         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109662         (fnmatch): Do not alloca more than 2000 wide characters;
109663         instead, use malloc for large buffers.
109664         Check for address arithmetic overflow, and return -1
109665         with errno set to ENOMEM in that case.
109666         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109667         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109668         instead, return -1.  Check for address arithmetic overflow.
109670 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109672         Handle invalid suffixes and overflow independently, so that
109673         callers can treat them independently as needed.  Fix some bugs in
109674         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109675         suffix for a human-readable blocksize.  The major caller-visible
109676         change is the addition of a new
109677         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109678         that both overflow and suffix chars were found.
109680         * lib/human.c (humblock): Don't check separately for invalid suffix
109681         char; that is xstrtoumax's job (now that its bug is fixed).
109682         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109683         INTMAX_MAX]: New macros.
109684         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109685         TYPE_MAXIMUM): New macros.
109686         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109687         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109688         if overflow occurs, as it's what __strtol does and it's more useful
109689         in practice.
109690         (__xstrtol): If __strtol reports some error other than ERANGE,
109691         reflect it to the caller as LONGINT_INVALID.  If it reports
109692         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109693         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109694         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109695         value.
109696         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109697         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109698         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109699         [defined UINTMAX_MAX]: New macros.
109701 2003-10-14  Bruno Haible  <bruno@clisp.org>
109703         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109705 2003-10-14  Bruno Haible  <bruno@clisp.org>
109707         * m4/sig_atomic_t: New file, from GNU gettext.
109708         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109710 2003-10-14  Bruno Haible  <bruno@clisp.org>
109712         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109713         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109714         Also use volatile where needed.
109716 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109718         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109719         Change maintainer from Bruno Haible to 'all'.
109721 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109723         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109725 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109727         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109728         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109729         and define in terms of the other primitives.
109730         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109731         (SIZE_MAX): Define if not already defined.
109732         (array_size_overflow): New function.
109733         (xalloc_die): Abort instead of exiting if 'error' returns.
109734         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109735         (xmalloc, xrealloc): Use them.
109736         (xcalloc): Check for address arithmetic overflow.
109737         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109738         a bit faster than strcpy.
109740 2003-10-10  Simon Josefsson  <jas@extundo.com>
109742         * modules/argp (Depends-on): Add restrict and strcase.
109744 2003-10-10  Simon Josefsson  <jas@extundo.com>
109746         * m4/argp.m4: Add AC_C_INLINE.
109748 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109750         Merge getpass from libc, plus a few fixes.
109752         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109753         Include <stdbool.h>.
109754         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109755         __fsetlocking to empty.
109756         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109757         do include <bits/libc-lock.h>.
109758         Do not include <fcntl.h>; not needed.
109759         [_LIBC]: Include <wchar.h>.
109760         (NOTCANCEL_MODE): New macro.
109761         (flockfile, funlockfile) [_LIBC]: New macros.
109762         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109763         [!_LIBC]: New macros.
109764         (call_fclose): New function.
109765         (getpass): Use it.  Save tty stream separately; this simplifies the
109766         code and makes it more reliable if stdin happens to equal stdout.
109767         Invoke __fsetlocking on tty.
109768         Handle thread cancellation if needed.
109769         Namespace cleanup (use __tcgetattr, __getline).
109770         Use bool for Booleans.
109771         [USE_IN_LIBIO]: Handle wide streams.
109772         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109773         stream might go where.
109775         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109776         doesn't have to include <stdio.h> before us.
109777         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109778         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109779         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109780         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109781         if not declared, so that we can use getpass.c code from libc without
109782         rewriting it.
109783         (flockfile, ftrylockfile, funlockfile): New macros.
109785 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109787         * modules/getpass: Depend on stdbool.
109789 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109791         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109793 2003-10-07  Karl Berry  <karl@gnu.org>
109795         * config/config.{guess,sub}: update from config.
109797 2003-10-06  Jim Meyering  <jim@meyering.net>
109798             Bruno Haible  <bruno@clisp.org>
109800         This lets translators provide better translations for the
109801         "Written by ..." part of --version output.
109802         * lib/version-etc.h: Include stdarg.h.
109803         (version_etc_copyright): Declare as readonly.
109804         (version_etc): Make this function variadic with a NULL-terminated list
109805         of author name strings.
109806         (version_etc_va): New declaration.
109807         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109808         (version_etc_copyright): Declare as readonly.
109809         (version_etc_va): New function. Provide a different translatable string
109810         for each possible number of authors < 10. Abbreviate when there are 10
109811         authors or more.
109812         (version_etc): Make this function variadic. Call version_etc_va.
109813         Suggestion from Gary V. Vaughan.
109815         * lib/long-options.h (parse_long_options): Change prototype: the
109816         authors string is moved to the end and becomes variadic.
109817         * lib/long-options.c: Include stdarg.h.
109818         (parse_long_options): Make this function variadic, too.
109819         Call version_etc_va, not version_etc.
109821 2003-10-06  Bruno Haible  <bruno@clisp.org>
109823         * modules/version-etc-2: Remove file.
109824         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109826 2003-10-06  Bruno Haible  <bruno@clisp.org>
109828         * modules/fatal-signal: New file.
109829         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109831 2003-10-06  Bruno Haible  <bruno@clisp.org>
109833         * m4/fatal-signal.m4: New file.
109834         * m4/signalblocking.m4: New file, from GNU gettext.
109836 2003-10-06  Bruno Haible  <bruno@clisp.org>
109838         * lib/version-etc-2.h: Remove file.
109839         * lib/version-etc-2.c: Remove file.
109841 2003-10-06  Bruno Haible  <bruno@clisp.org>
109843         * lib/fatal-signal.h: New file, from GNU gettext.
109844         * lib/fatal-signal.c: New file, from GNU gettext.
109846 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109848         * README: Rework advice for preventing empty .o files.
109849         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109850         not <sys/types.h>.
109852 2003-10-04  Karl Berry  <karl@gnu.org>
109854         * lib/argp*: update from libc.
109856 2003-10-04  Karl Berry  <karl@gnu.org>
109858         * config/config.{guess,sub}: update from config.
109860 2003-10-02  Bruno Haible  <bruno@clisp.org>
109862         * modules/lchown (Include): Add lchown.h.
109863         * modules/time_r (Include): Use "..." syntax.
109864         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109866 2003-10-01  Simon Josefsson  <jas@extundo.com>
109868         * MODULES.html.sh (func_all_modules): Move gethostname from section
109869         'based on' to section 'lacking' POSIX:2001.
109871 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109873         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109874         to output mode on the same stream.
109876 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109878         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109879         Fix arg typo in previous patch.
109881 2003-09-28  Jim Meyering  <jim@meyering.net>
109883         * lib/error.c: Correct cpp indentation.
109885 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109887         * modules/free: New file.
109889 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109891         * m4/free.m4: New file.
109893 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109895         * lib/minmax.h (MIN, MAX)
109896         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109897         Omit the special code that used __typeof__, since we worry that
109898         it could be more trouble than it's worth.  See:
109899         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109900         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109902         * lib/free.c: New file.
109904 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109906         Trivial fixes to Makefile.am parts of module listings.
109907         * modules/strstr: Append strstr.h to lib_SOURCES.
109908         * modules/strcase: Likewise, for strcase.h.
109910 2003-09-27  Karl Berry  <karl@gnu.org>
109912         * config/mkinstalldirs: update from automake.
109914 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109916         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109917         (error_tail): Do not loop, reallocating temporary buffer, since
109918         the output cannot contain more wide characters than the input
109919         contains bytes, the size must be big enough already.  This avoids
109920         one potential size overflow calculation.  Check for size overflow
109921         when calculating temporary buffer size.  Free temporary buffer
109922         when done, if it was allocated with malloc; this plugs a memory
109923         leak.  Remove casts from void * to pointers, that are no longer
109924         needed now that we're assuming C89 or better.
109926         Merge error changes from glibc.
109928         * lib/error.c, error.h: Update copyright notice header to match glibc.
109929         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109930         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109931         Disable cancellation while printing error.
109932         * lib/error.h: Prepend __ to parameter names.
109934 2003-09-26  Jim Meyering  <jim@meyering.net>
109936         * lib/error.c (error_tail): Move some declarations
109937         into inner scope where the local variables are used.
109939 2003-09-26  Bruno Haible  <bruno@clisp.org>
109941         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109942         stpncpy().
109943         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109945 2003-09-26  Bruno Haible  <bruno@clisp.org>
109947         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109948         (stpncpy): Define as alias for gnu_stpncpy.
109949         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109951 2003-09-25  Simon Josefsson  <jas@extundo.com>
109953         * lib/xgetdomainname.h: New file.
109954         * lib/xgetdomainname.c: New file.
109956 2003-09-25  Simon Josefsson  <jas@extundo.com>
109957             Bruno Haible  <bruno@clisp.org>
109959         * modules/getdomainname: New file.
109960         * modules/xgetdomainname: New file.
109961         * MODULES.html.sh (func_all_modules): Add getdomainname,
109962         xgetdomainname.
109964 2003-09-25  Simon Josefsson  <jas@extundo.com>
109965             Bruno Haible  <bruno@clisp.org>
109967         * m4/getdomainname.m4: New file.
109969 2003-09-25  Simon Josefsson  <jas@extundo.com>
109970             Bruno Haible  <bruno@clisp.org>
109972         * lib/getdomainname.h: New file.
109973         * lib/getdomainname.c: New file.
109975 2003-09-25  Karl Berry  <karl@gnu.org>
109977         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109979 2003-09-25  Karl Berry  <karl@gnu.org>
109981         * config/install-sh: update from automake.
109983 2003-09-25  Bruno Haible  <bruno@clisp.org>
109985         * modules/version-etc-2: New file, from modules/version-etc with
109986         modifications.
109987         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109989 2003-09-25  Bruno Haible  <bruno@clisp.org>
109991         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109992         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109994 2003-09-24  Simon Josefsson  <jas@extundo.com>
109996         * modules/xgethostname: Add xgethostname.h.
109998 2003-09-24  Paul Eggert  <eggert@twinsun.com>
110000         * lib/linebuffer.c (freebuffer): Don't free the argument, just
110001         the buffer associated with the argument.  Bug reported by
110002         Simon Josefsson.
110004 2003-09-24  Paul Eggert  <eggert@twinsun.com>
110006         * README: Document assumptions that 'int' is at least 32 bits
110007         wide, that integer arithmetic is 2's complement without overflow,
110008         that there are no holes in integer values, that adding sizes of
110009         two nonoverlapping objects can't overflow, and that all-bits-zero
110010         yields scalar zero.  Fix spelling and capitalization typos.
110012 2003-09-19  Karl Berry  <karl@gnu.org>
110014         * lib/argp.h: update from libc.
110016 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110018         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
110019         to avoid spurious warnings like "AC_RUN_IFELSE was called before
110020         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
110022 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110024         * gnulib-tool: Use "test -h", not "test -L", for portability
110025         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
110026         (tags_regexp): Remove, since \| doesn't conform to POSIX.
110027         (sed_extract_prog): Issue s commands one-by-one, rather than
110028         using \| in one s command.
110030 2003-09-16  Paul Eggert  <eggert@twinsun.com>
110032         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
110033         input error, instead of returning NULL the next time we are called
110034         (and therefore losing track of errno).
110036 2003-09-16  Bruno Haible  <bruno@clisp.org>
110038         * gnulib-tool (func_create_testdir): Warn about duplicated
110039         dependencies.
110041 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110043         * modules/argmatch, modules/fatal, modules/obstack,
110044         modules/xalloc, modules/xgethostname: Sort dependencies by
110045         importance, not alphabetically.
110047 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110049         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
110050         fails, so that the caller gets the proper errno.
110052         * lib/readutmp.c (read_utmp): Likewise.
110053         Check for fstat error.  Close stream and free storage
110054         when failing.
110056 2003-09-14  Karl Berry  <karl@gnu.org>
110058         * config/srclist.txt (strdup.c): disable for c89 changes.
110060 2003-09-14  Jim Meyering  <jim@meyering.net>
110062         * lib/getloadavg.c: Correct cpp indentation.
110063         * lib/strdup.c: Likewise.
110064         * lib/vasnprintf.c: Likewise.
110066 2003-09-14  Bruno Haible  <bruno@clisp.org>
110068         * modules/fwriteerror: New file.
110069         * MODULES.html.sh (func_all_modules): Add fwriteerror.
110071 2003-09-14  Bruno Haible  <bruno@clisp.org>
110073         * lib/fwriteerror.h: New file.
110074         * lib/fwriteerror.c: New file.
110076 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110078         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
110079         modules/xgethostname, modules/xalloc: Depend on exit.
110081 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110083         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
110085         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
110086         and AC_MINIX, too, so that their extensions are available.
110088         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
110089         This macro has been superseded by gl_BACKUPFILE.
110091         More patches to assume C89 or better.
110093         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
110095         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
110096         unconditionally.
110097         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
110098         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
110099         Include <string.h>, <stdlib.h> unconditionally.
110100         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
110101         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
110102         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
110103         headers or for string.h.
110104         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
110105         or strtoul.
110107         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
110108         headers.
110109         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
110110         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110111         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
110112         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
110113         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110114         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
110115         memcpy, memset.
110116         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
110117         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
110118         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
110119         strtol.
110120         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
110121         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
110122         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
110123         strtoul.
110125 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110127         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
110128         * lib/obstack.c [!defined _LIBC]: Likewise.
110129         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
110130         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
110131         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
110133         More changes to assume C89 or better.
110135         * lib/error.c (error_tail): Assume vprintf.
110137         * lib/argmatch.c (getenv): Remove decl.
110138         * lib/progreloc.c (get_full_program_name): Define via prototype.
110139         * lib/setenv.c (clearenv): Likewise.
110140         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
110141         needed.
110142         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
110143         (malloc, memcpy): Remove decls.
110144         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
110145         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
110146         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110147         (memcpy): Remove macro.
110148         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
110149         (__P): Remove.  All uses removed.
110150         (PTR): Remove.  All uses changed to void *.
110151         (CHAR_BIT, NULL): Remove.
110152         (spaces, zeros, memset_space, memset_zero)
110153         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
110154         Remove.
110155         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
110156         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
110157         Define with prototype.
110158         Remove now-unnecessary prototype decl.
110159         (extra_args_spec): Assume ANSI C.  All uses changed.
110160         (extra_args_spec_iso): Remove.
110161         (my_strftime, emacs_strftimeu): Define via prototype.
110162         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
110163         unconditionally.
110164         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
110165         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
110166         (strtoul, strtol): Remove decls.
110167         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
110168         LONG_MAX): Remove.
110169         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110170         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
110171         (LOCALE_PARAM_PROTO): New macro.
110172         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
110173         (INTERNAL (strtol), strtol): Define with a prototype.
110174         (PARAMS): Remove.  All uses removed.
110175         * lib/tempname.c: Include <string.h> unconditionally.
110176         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
110177         * lib/xgethostname.c (main): Define with a prototype.
110178         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
110179         Include <stdlib.h> unconditionally.
110180         (calloc, malloc, realloc, free): Remove decls.
110181         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
110182         Include <stdlib.h> unconditionally.  Sort include file names.
110183         (strtod): Remove.
110184         (xstrtod): Define with a prototype.
110185         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
110186         (strtol, strtoul): Remove decls.
110188 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110190         More patches to assume C89 or better.
110191         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
110192         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
110193         string.h, memchr, STDC_HEADERS.
110195 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110197         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
110198         Include <stdlib.h>, <string.h> unconditionally.
110199         Remove now-unnecessary cast to char *.
110200         * lib/strnlen.c: Include <string.h> unconditionally.
110201         * lib/yesno.c (yesno): Define with a prototype.
110203 2003-09-11  Bruno Haible  <bruno@clisp.org>
110205         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
110207 2003-09-10  Jim Meyering  <jim@meyering.net>
110209         * lib/error.c: Correct indentation of cpp directives.
110211 2003-09-10  Bruno Haible  <bruno@clisp.org>
110213         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
110214         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
110215         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
110216         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
110217         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
110218         <stdlib.h> and <string.h> checks.
110219         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
110220         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
110222 2003-09-10  Bruno Haible  <bruno@clisp.org>
110224         * lib/strcspn.c: Include <string.h> unconditionally.
110225         * lib/strpbrk.c: Include <string.h> unconditionally.
110226         * lib/strstr.c: Include <string.h> unconditionally.
110227         * lib/unicodeio.c: Include <string.h> unconditionally.
110228         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
110229         * lib/unsetenv.c: Likewise.
110230         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
110231         * lib/yesno.c: Include <stdlib.h> unconditionally.
110232         (rpmatch): Add prototype.
110234 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110236         More patches to assume C89 or better.
110237         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
110238         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
110239         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
110240         or for string.h.
110241         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
110242         stdlib.h.
110243         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
110244         C headers.
110245         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
110246         string.h.
110247         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
110248         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
110249         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
110250         or for string.h.
110251         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
110252         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
110253         C headers.
110254         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
110255         memcpy.
110256         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
110257         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
110258         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
110259         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
110260         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
110261         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
110262         string.h, free.
110263         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
110264         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
110265         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
110266         C headers, or for string.h.
110267         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
110268         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
110269         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
110270         headers, memory.h, stdlib.h, string.h, strings.h.
110271         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
110272         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
110273         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
110274         strchr.
110275         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
110276         headers, memory.h, string.h.
110277         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
110278         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
110279         free.
110280         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
110281         headers.
110282         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
110283         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
110284         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
110285         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
110286         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
110288 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110290         More K&R removal.
110292         * lib/acosl.c (main): Use a prototype.
110293         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
110294         tanl.c: Likewise.
110296         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
110298         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
110299         (getopt, etopt_long, getopt_long_only, _getopt_internal)
110300         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
110301         with a prototype.
110302         * lib/getopt.c (const): Remove macro.
110303         Include <string.h> unconditionally.
110304         (my_index): Remove; all uses changed to strchr.
110305         (strlen): Remove decl.
110306         (exchange): Remove forward decl; no longer needed.
110307         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
110308         Define with prototype.
110309         * lib/getopt1.c (const): Remove macro.
110310         (getopt_long, getopt_long_only, main): Define with prototype.
110312         * lib/getugroups.c: Include <string.h> unconditionally.
110314         * lib/getusershell.c: Include <stdlib.h> unconditionally.
110315         (getusershell, setusershell, endusershell, readname, main):
110316         Define with prototypes.
110318         * lib/group-member.c: Include group-member.h first.
110319         Include <stdlib.h> unconditionally.
110321         * lib/hard-locale.c: Include hard-locale.h first.
110322         Include <stdlib.h>, <string.h> unconditionally.
110324         * lib/hash.c (free, malloc): Remove decls.
110325         Include <stdlib.h> unconditionally.
110327         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
110328         (getenv): Do not declare.
110330         * lib/idcache.c: Include <string.h> unconditionally.
110332         * lib/long-options.c: Include long-options.h first, to test interface.
110333         Include <stdlib.h> unconditionally.
110335         * lib/makepath.c: Include makepath.h first, to test interface.
110336         Include <stdlib.h> and <string.h> unconditionally.
110338         * lib/linebuffer.c: Include <stdlib.h>.
110339         (free): Remove decl.
110341         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
110342         stddef.h. rpl_malloc returns void *, not char *.
110343         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
110344         prototype.
110346         * lib/md5.h: Include <limits.h> unconditionally.
110347         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
110348         (__P): Remove; all uses removed.
110349         * lib/md5.c: Include "md5.h" first.
110350         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
110351         md5_buffer, md5_process_bytes, md5_process_block):
110352         Define with prototypes.
110353         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
110354         * lib/sha.c: Include "sha.h" first.
110355         Include <stdlib.h>, <string.h> unconditionally.
110357         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
110358         * lib/memcmp.c (__ptr_t): Likewise.
110359         * lib/memrchr.c (__ptr_t): Likewise.
110360         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
110361         Include <string.h> unconditionally.
110362         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
110363         * lib/memchr.c: Include <stdlib.h> unconditionally.
110364         * lib/memchr.c (LONG_MAX): Remove.
110365         * lib/memrchr.c (LONG_MAX): Likewise.
110366         * lib/memchr.c (__memchr): Define via a prototype.
110367         * lib/memrchr.c (__memrchr): Likewise.
110368         * lib/memcmp.c (__P): Remove, and remove all uses.
110369         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
110370         Remove forward decls; no longer needed.
110371         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
110372         Use types required by C89 in prototype.
110374         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
110375         * lib/savedir.c: Likewise.
110376         * lib/mkdir.c (free): Remove decl.
110377         * lib/rmdir.c (rmdir): Define with a prototype.
110378         * lib/savedir.c: Include savedir.h first, to test interface.
110380         * lib/mktime.c (STDC_HEADERS): Remove.
110381         Include <stdlib.h>, <string.h> unconditionally.
110383         * lib/modechange.c: Include <stdlib.h> unconditionally.
110384         (malloc): Remove decl.
110386         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
110387         (free): Remove decl.
110389         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
110390         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
110391         (This type really should be intptr_t, but that's a C99ism.)
110392         (_obstack_memcpy): Remove: all uses changed to memcpy.
110393         Include <string.h> unconditionally.
110394         (struct obstack): Assume __STDC__ for types of members
110395         chunkfun, freefun, extra_arg.
110396         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
110397         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
110398         obstack_begin, obstack_specify_allocation,
110399         obstack_specify_allocation_with_arg, obstack_chunkfun,
110400         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
110401         Remove unprototyped decls and the macros that use them.
110402         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
110403         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
110404         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
110405         (defined __STDC__ && __STDC__)]:
110406         Remove nonprototyped code.
110407         Include <stdlib.h> unconditionally.
110408         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
110409         _obstack_allocated_p, _obstack_free, obstack_free,
110410         _obstack_memory_used, print_and_abort):
110411         Define using prototypes.
110412         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
110413         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
110414         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
110415         obstack_next_free, obstack_object_size, obstack_room) [0]:
110416         Remove unused, unprototyped code.
110418         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
110420         * lib/physmem.c (physmem_total, physmem_available, main): Define
110421         with prototypes.
110423         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
110424         (main): Define with a prototype.
110426         * lib/posixver.c (getenv): Remove decl.
110428         * lib/putenv.c (malloc): Returns void *, not char *.
110429         Include <string.h> unconditionally.
110430         (strchr, memcpy, NULL): Do not define.
110432         * lib/readtokens.c: Include readtokens.h first, to test interface.
110433         Include <stdlib.h>, <string.h> unconditionally.
110434         (init_tokenbuffer): Define with a prototype.
110436         * lib/regex.c (PARAMS): Remove.  All uses removed.
110437         All uses of _RE_ARGS removed, too.
110438         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
110439         unconditionally.
110440         (bzero): Assume memset exists.
110441         (memcmp, memcpy, NULL): Remove.
110442         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
110443         char, or assignments to local vars of type signed char.
110444         (init_syntax_once, PREFIX(extract_number_and_incr),
110445         PREFIX(print_partial_compiled_pattern),
110446         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
110447         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
110448         PREFIX(regex_grow_registers), PREFIX(regex_compile),
110449         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
110450         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
110451         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
110452         wcs_compile_range, byte_compile_range, truncate_wchar,
110453         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
110454         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
110455         count_mbs_length, wcs_re_match_2_internal,
110456         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
110457         PREFIX(alt_match_null_string_p),
110458         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
110459         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
110460         regfree, PREFIX(extract_number)): Define with prototype.  Remove
110461         now-unnecessary declaration, if any.
110462         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
110463         regcomp, regexec):
110464         Remove now-unnecessary casts among pointer types.
110465         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
110467         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
110468         (free): Remove decl.
110470         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110472         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110473         (free): Remove decl.
110475         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110476         * lib/xgetcwd.c: Likewise.
110478         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110479         (free): Remove decl.
110481         * lib/strchrnul.c (strchrnul): Define with a prototype.
110482         Fix bug: c_in was not converted to char before searching.
110484         The following changes are not K&R related:
110486         * lib/group-member.h: Include <sys/types.h>, so that this file is
110487         self-contained.
110488         * lib/makepath.h: Likewise.
110490         * lib/getusershell.c (readname, default_index, line_size, readname):
110491         Use size_t, not int, for sizes.
110492         (readname): If the size overflows, report an error instead of
110493         looping forever.
110495 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110497         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110498         libc.
110500 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110502         * README: New section: portability guidelines.
110504 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110506         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110507         C89 spec.
110509 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110511         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110513 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110515         Assume C89 or better; remove K&R cruft.
110516         A few of these changes were first proposed by Derek Robert Price
110517         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110519         * lib/addext.c: Include <string.h> unconditionally.
110520         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110521         Don't declare getenv or malloc.
110523         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110524         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110525         (NULL): Remove.
110526         (find_stack_direction, alloca): Use prototypes.
110528         * lib/atexit.c (atexit): Define using a prototype.
110530         * lib/basename.c, dirname.c, stripslash.c:
110531         Include <string.h> unconditionally.
110533         * lib/bcopy.c: Include <stddef.h>.
110534         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110536         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110538         * lib/error.h (error, error_at_line, error_print_progname)
110539         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110540         * lib/error.c: Include error.h first, to check interface.
110541         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110542         (VA_START): Remove; all uses changeed to va_start.
110543         (exit, strerror): Remove decls.
110544         (error_print_progname): Prototype uncondionally.
110545         Don't include <errno.h>; no longer needed.
110546         (private_strerror): Remove.
110547         (error_tail): Always define.
110548         (error, error_at_line): Assume C89 or better; always use prototypes.
110549         * lib/fatal.c: Include "fatal.h" first, to test interface.
110550         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110551         (VA_START): Remove; all uses changed to va_start.
110552         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110553         this case.
110554         (exit): Remove decl.
110555         (fatal): Prototype unconditionally.  Assume va_start works.
110556         Abort at end, to pacify gcc.
110558         * lib/euidaccess.c (main): Define with a prototype.
110560         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110562         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110564         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110565         prototypes.
110566         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110567         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110568         (getenv): Remove decl.
110569         (fnmatch): Define using a prototype.
110570         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110571         (FCT): Define using a prototype.
110573         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110575         * lib/gethostname.c: Include <stddef.h>.
110576         (gethostname): Define with prototype.  Length is size_t, not int.
110578 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110580         Assume C89 or better; remove K&R cruft.
110581         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110582         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110583         string.h, getenv, malloc.
110584         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110585         headers.
110586         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110587         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110588         do not check for strerror.
110589         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110590         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110591         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110592         do not check for doprnt or vprintf.
110593         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110594         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110596 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110598         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110599         getversion.c should have been removed then, but was accidentally
110600         preserved.
110602         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110603         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110605 2003-09-08  Karl Berry  <karl@gnu.org>
110607         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110608                 config, forget about prep.
110610         * config/depcomp, missing: update from automake.
110612 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110614         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110615         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110617 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110619         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110620         copy_tm_result.  Bug reported by Simon Josefsson in
110621         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110623 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110625         * m4/time_r.m4: New file.
110626         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110627         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110628         is. Check for timegm declaration.
110629         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110630         Do not check for gmtime_r.
110631         Replace mktime if __mktime_internal does not exist and if mktime
110632         hasn't been replaced already.
110634 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110636         * lib/time_r.c, lib/time_r.h: New files.
110638         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110639         __localtime_r.
110640         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110641         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110643         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110644         __gmtime_r.
110645         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110646         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110647         Include <time_r.h>.
110649         * lib/timegm.c: Switch to glibc implementation, with the following
110650         changes:
110651         [defined HAVE_CONFIG_H]: Include <config.h>.
110652         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110653         (__mktime_internal) [!defined _LIBC]: New decl.
110654         (__gmtime_r) [!defined _LIBC]: New macro and function.
110655         (timegm): Use a prototype, since gnulib assumes C89.
110656         Do not bother declaring tmp to be const, as it's not really usefu.
110657         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110658         (timegm): Declare only if HAVE_DECL_TIMEGM.
110660 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110662         * MODULES.html.sh (func_all_modules): Add time_r.
110663         * modules/time_r: New file.
110664         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110665         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110667 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110669         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110670         Bug reported by Lute Kamstra in
110671         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110673         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110674         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110675         course with correspondingly smaller numbers for tomorrow and
110676         yesterday.  From Tadayoshi Funaba.  Originally installed into
110677         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110678         coreutils merge?).
110680 2003-08-31  Simon Josefsson  <jas@extundo.com>
110682         * modules/timegm: New file.
110683         * MODULES.html.sh (func_all_modules): Add timegm.
110685 2003-08-31  Simon Josefsson  <jas@extundo.com>
110687         * m4/timegm.m4: New file.
110689 2003-08-31  Simon Josefsson  <jas@extundo.com>
110691         * lib/timegm.h: New file.
110692         * lib/timegm.c: New file.  Based on
110693         wget-1.8.2/src/http.c:mktime_from_utc.
110695 2003-08-31  Karl Berry  <karl@gnu.org>
110697         * lib/argp.h: update from libc.
110699 2003-08-28  Bruno Haible  <bruno@clisp.org>
110701         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110702         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110703         followed by '#define fnmatch fnmatch_posix' gives an error.
110705 2003-08-28  Bruno Haible  <bruno@clisp.org>
110707         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110708         warning on QNX, which defines O_BINARY to 000000.
110710 2003-08-27  Jim Meyering  <jim@meyering.net>
110712         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110713         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110714         would fail after 32.  Reported by Danny Levinson.  Details here:
110715         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110717 2003-08-24  Bruno Haible  <bruno@clisp.org>
110719         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110720         MSVC7 <stdio.h> is included later.
110722 2003-08-22  Simon Josefsson  <jas@extundo.com>
110724         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110726 2003-08-20  Karl Berry  <karl@gnu.org>
110728         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110730 2003-08-20  Bruno Haible  <bruno@clisp.org>
110732         * modules/progname: New file.
110733         * MODULES.html.sh (func_all_modules): Add progname.
110735 2003-08-20  Bruno Haible  <bruno@clisp.org>
110737         * lib/progname.h: New file, from GNU gettext.
110738         * lib/progname.c: New file, from GNU gettext.
110739         * lib/progreloc.c: New file, from GNU gettext.
110741 2003-08-19  Jim Meyering  <jim@meyering.net>
110743         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110744         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110746 2003-08-19  Bruno Haible  <bruno@clisp.org>
110748         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110749         more.
110751 2003-08-19  Bruno Haible  <bruno@clisp.org>
110753         * lib/xstrdup.c: Assume <string.h> exists.
110755 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110757         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110758         in makefile rules.
110760 2003-08-18  Jim Meyering  <jim@meyering.net>
110762         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110763         * m4/lib-ld.m4: Likewise.
110765 2003-08-18  Jim Meyering  <jim@meyering.net>
110767         * lib/setenv.h: Indent nested cpp directive.
110768         * lib/vasnprintf.c: Remove trailing blanks.
110770 2003-08-17  Simon Josefsson  <jas@extundo.com>
110772         * modules/xstrndup: New file.
110773         * MODULES.html.sh (func_all_modules): Add xstrndup.
110775 2003-08-17  Simon Josefsson  <jas@extundo.com>
110777         * modules/argp: Fix autoconf macro name. Add more dependencies.
110779 2003-08-17  Simon Josefsson  <jas@extundo.com>
110781         * m4/xstrndup.m4: New file.
110783 2003-08-17  Simon Josefsson  <jas@extundo.com>
110785         * m4/argp.m4: New file.
110787 2003-08-17  Simon Josefsson  <jas@extundo.com>
110788             Bruno Haible  <bruno@clisp.org>
110790         * lib/xstrndup.h: New file.
110791         * lib/xstrndup.c: New file.
110793 2003-08-17  Bruno Haible  <bruno@clisp.org>
110795         * modules/strndup (Files, Include): Add lib/strndup.h.
110797 2003-08-17  Bruno Haible  <bruno@clisp.org>
110799         * modules/euidaccess (Files): Add lib/euidaccess.h.
110801 2003-08-17  Bruno Haible  <bruno@clisp.org>
110803         * lib/strndup.h: New file.
110805 2003-08-17  Bruno Haible  <bruno@clisp.org>
110807         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110808         like AC_GNU_SOURCE.
110809         * modules/extensions (configure.ac): Comment out the invocation of
110810         gl_USE_SYSTEM_EXTENSIONS.
110812 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110814         Merges from coreutils, etc.
110815         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110816         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110817         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110818         fixing a typo.
110819         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110820         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110822 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110824         Document merge from coreutils.
110825         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110826         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110827         * modules/utime: Add m4/utimes-null.m4.
110829 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110831         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110832         space, undoing this 2003-08-12 change:
110833         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110835 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110837         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110838         strtoul.c from libc, undoing this 2003-08-12 change:
110839         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110841 2003-08-16  Jim Meyering  <jim@meyering.net>
110843         Merges from coreutils.
110844         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110845         prefix.  Adjust cache variables similarly.  Create 500 rather than
110846         just 300 files, to exercise bug on Darwin6.5, too.
110847         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110848         $missing_dir.
110849         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110850         AM_SYS_POSIX_TERMIOS.
110851         Reported by mkc@mathdogs.com.
110852         Also change use of $am_cv_sys_posix_termios
110853         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110854         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110855         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110856         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110857         in /proc/mounts until it finds one with matching device number.  This
110858         is unnecessary when the FILE argument *is* a mount point.  No stat call
110859         is necessary in that case.  So, disable the statvfs-testing code on
110860         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110861         as RedHat bug# 84846.
110862         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110863         to 1MB, so as not to render systems with no stack size limit (e.g.,
110864         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110865         Include <unistd.h>.  On some systems,
110866         it is required for the definition of _SC_PAGESIZE.
110868 2003-08-16  Jim Meyering  <jim@meyering.net>
110870         Merge from coreutils.
110871         * lib/xstrtoimax.c: #else #if -> #elif.
110872         * lib/xstrtoumax.c: Likewise.
110874 2003-08-16  Jim Meyering  <jim@meyering.net>
110876         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110877         * m4/utimes.m4: Removed.
110878         * m4/utimes-null.m4: Renamed from utimes.m4.
110880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110881         to 1MB, so as not to render systems with no stack size limit (e.g.,
110882         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110883         Include <unistd.h>.  On some systems,
110884         it is required for the definition of _SC_PAGESIZE.
110886 2003-08-16  Jim Meyering  <jim@meyering.net>
110887         and Paul Eggert  <eggert@cs.ucla.edu>
110889         Merges from coreutils, etc.
110891         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110892         using the latest version from cvs.  This avoids problems with #line
110893         directives using a vendor (Sun) compiler.
110894         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110895         Don't set GETGROUPS_LIB here; now it's
110896         done via getgroups.m4's wrapper function.
110897         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110898         rather than just in sh-util/configure.in, so that the
110899         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110900         same.
110901         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110902         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110903         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110904         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110905         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110906         Remove code that is now done by the newly-required macros.
110907         Append $(EXEEXT) to DF_PROG.
110908         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110909         Do not invoke or require the following here,
110910         since prereq.m4 or some gnulib .m4 now does this for us:
110911         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110912         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110913         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110914         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110915         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110916         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110917         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110918         AC_FUNC_OBSTACK.
110919         Do not replace the following functions, as this is now the job
110920         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110921         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110922         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110923         atexit getpass, strdup, getpagesize.
110924         Replace 'raise'.
110925         Do not check for the following functions, as this is now the job
110926         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110927         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110928         setregid.
110929         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110930         Check for sys/sysctl.h.
110931         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110932         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110933         of checking for ssize_t ourselves.
110935         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110936         Require every macro that gnulib/modules/* suggests for us.
110937         (jm_PREREQ_ADDEXT): New macro.
110938         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110939         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110941         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110942         (gl_PHYSMEM): Use it.
110943         Also check for `table' function.
110944         Check for new headers and functions.
110945         Add check for sys/sysmp.h.
110946         With suggestions from Kaveh Ghazi.
110947         Ignore headers that are present but cannot be compiled.  This
110948         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110949         C 5.4.
110951 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110953         Document merge from coreutils.
110954         * modules/userspec: Depend on posixver.
110955         * modules/strftime: Depend on tzset.
110957 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110959         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110960         rather than tab, after '#' in shell-script copyright notices.
110961         Suggested by Bruno Haible.
110963 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110965         * config/srclist-update: Use three spaces, rather than tab, after '#'
110966         in shell-script copyright notices.  Suggested by Bruno Haible.
110967         Remove unnecessary parenthesization in regular expression.
110969 2003-08-15  Jim Meyering  <jim@meyering.net>
110971         Merge from coreutils.
110972         * lib/xgethostname.c: Include <stdlib.h>.
110973         (xghostname): Don't exit for anything other than memory-related
110974         failure; just return NULL.
110975         * lib/userspec.c: Include "posixver.h".
110976         (parse_user_spec): Accept `.' as a separator only
110977         in pre-POSIX-200112 mode.
110978         * lib/strtoimax.c: Use #elif rather than #else #if.
110979         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110980         Remove function, now that we can rely on a working tzset function.
110981         [!_LIBC]: Ensure that the required autoconf test has been run.
110982         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110983         Use underlying_strftime for %r.
110984         * lib/sha.c: Merge in some clean-up and optimization changes from
110985         glibc.
110986         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110987         Ensure that it is a multiple of 64.
110988         Rearrange loop exit tests so as to avoid performing an
110989         additional fread after encountering an error or EOF.
110990         * lib/realloc.c: Update copyright date.
110992 2003-08-15  Jim Meyering  <jim@meyering.net>
110993         and Paul Eggert  <eggert@twinsun.com>
110995         Merge from coreutils.
110996         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110997         member but strut utmpx does not.  Needed for AIX 4.3.3.
110998         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
111000 2003-08-15  Jim Meyering  <jim@meyering.net>
111001         and Paul Eggert  <eggert@cs.ucla.edu>
111003         Merges from coreutils, etc.
111004         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
111005         Require gl_FUNC_TZSET_CLOBBER.
111006         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
111007         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
111008         members.
111010 2003-08-14  Paul Eggert  <eggert@twinsun.com>
111012         Help the merge from coreutils.
111013         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
111014         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
111015         * m4/tzset.m4: Use it too.
111017 2003-08-14  Paul Eggert  <eggert@twinsun.com>
111019         * modules/tzset: New file.
111021 2003-08-14  Jim Meyering  <jim@meyering.net>
111023         Merges from coreutils.
111024         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
111025         variable names, rather than @FNMATCH_H@.
111026         * modules/alloca: Likewise for $(ALLOCA_H).
111028         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
111029         the three copies of the literal target, `fnmatch.h'.
111030         * modules/alloca (alloca.h): Likewise.
111032 2003-08-14  Jim Meyering  <jim@meyering.net>
111034         Merge from coreutils.
111035         * m4/tzset.m4: New file.
111036         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
111037         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
111038         otherwise, AIX 5.1 systems would end up using the latter.
111039         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
111040         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
111041         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
111042         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
111044 2003-08-14  Jim Meyering  <jim@meyering.net>
111046         Merge from coreutils.
111047         * lib/obstack.h: Whitespace changes.
111048         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
111049         and xcalloc return values.
111050         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
111051         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
111052         hang on OSF/1 5.1 for DIR on both local and remote file systems.
111053         Reported by (and fix confirmed by) Nelson H. F. Beebe.
111054         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111055         error from mntctl.
111056         Use mntctl's return value to drive the entry-processing loop, since
111057         we can't rely on the value of the vmt_length member in the last
111058         entry.  On some systems doing so could result in exhausting
111059         virtual memory.  Based in part on a patch from Mike Jetzer.
111061 2003-08-14  Jim Meyering  <jim@meyering.net>
111062         and Paul Eggert  <eggert@twinsun.com>
111064         Merges from coreutils, plus other fixes.
111065         * lib/physmem.c: Merge in portability changes from gcc/libiberty
111066         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
111067         for credits and details.  Thanks to Kaveh Ghazi for helping
111068         to keep these files in sync.
111069         (ARRAY_SIZE): Define it.
111070         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
111071         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
111072         (memcasecmp): Don't assume size_t fits in unsigned int.
111073         Remove casts and duplicate code.
111074         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
111075         (memcpy): Remove definition.
111076         Merge in some clean-up and optimization changes from glibc.
111077         [BLOCKSIZE]: Move definition to top of file.
111078         Ensure that it is a multiple of 64.
111079         Rearrange loop exit tests so as to avoid performing an
111080         additional fread after encountering an error or EOF.
111081         * lib/md5.h (md5_uintptr): Define.
111082         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
111083         return to the initial working directory.  Preserve errno
111084         for caller.
111085         * lib/idcache.c: Include "xalloc.h".
111086         (xmalloc, xrealloc): Remove decls.
111087         (getuser): Remove casts no longer required in C89.
111088         * lib/human.c: Include stdio.h, for sprintf.
111089         * lib/group-member.c: Include "xalloc.h".
111090         (xmalloc, xrealloc): Remove decls.
111091         (get_group_info): Remove casts no longer required in C89.
111092         * lib/getusershell.c (readname): Remove casts no longer required in
111093         C89.
111094         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
111095         * lib/getline.c: Whitespace fix, from coreutils.
111097 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111099         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
111100         Check for isascii.
111102         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111103         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111104         Undo previous (whitespace-only) change.
111106 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111108         * lib/exclude.c: Include <ctype.h>
111109         (IN_CTYPE_DOMAIN): New macro.
111110         (is_space): New fn.
111111         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
111112         and empty lines.
111114         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111115         Undo previous (whitespace-only) change.
111117 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111119         * config/srclist-update: Change update back to the old behavior,
111120         leaving whitespace alone.  Use one 'sed' command rather than a
111121         pipeline.
111122         (fixlicense): Now a variable, not a function.
111123         (remove_trailing_blanks): Remove.
111124         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
111125         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111126         Undo previous (whitespace-only) change.
111128 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111130         Merge from coreutils.
111131         * modules/euidaccess: Add lib_SOURCES, include for new
111132         file euidaccess.h
111134 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111136         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111137         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111138         Normalize leading white space and remove trailing white space.
111140         Merge from coreutils
111141         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
111143         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
111144         0.12.1.  These files are now being upgraded automatically by
111145         ../config/srclist-update.
111147 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111149         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111150         Normalize leading white space and remove trailing white space.
111151         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
111152         notice, as per ../config/srclist-update.
111154         Merge from coreutils.
111155         * lib/euidaccess.h: New file.
111156         * lib/euidaccess.c: Include it.
111157         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
111158         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
111159         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
111161 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111163         * config/srclist-update: Add copyright notice.
111164         (remove_id_lines, remove_trailing_blanks): New constants.
111165         (fixfile): Use them to normalize spacing a bit in copied files.
111166         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111167         Normalize leading white space and remove trailing white space.
111169         * config/texinfo.tex: Sync with texinfo.
111171         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
111172         strtoul.c from libc, to merge coreutils whitespace changes.
111174         * config/srclist.txt: Get the following m4 files from gettext:
111175         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
111176         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
111177         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
111178         wint_t.m4.
111180 2003-08-12  Karl Berry  <karl@gnu.org>
111182         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
111183         been made.
111185 2003-08-11  Paul Eggert  <eggert@twinsun.com>
111187         * modules/gnu-source, m4/gnu-source.m4:
111188         Remove; we're assuming Autoconf 2.54 or later now.
111189         Suggested by Bruno Haible.
111190         * MODULES.html.sh (func_all_modules): Remove gnu-source.
111192 2003-08-11  Bruno Haible  <bruno@clisp.org>
111194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
111196 2003-08-11  Bruno Haible  <bruno@clisp.org>
111198         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
111199         (vasnprintf): Use it instead of wcslen.
111201 2003-08-11  Bruno Haible  <bruno@clisp.org>
111203         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
111204         value to ensure that _Bool promotes to int. Use #define for _Bool when
111205         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
111207 2003-08-10  Karl Berry  <karl@gnu.org>
111209         * lib/regex.h: update from libc (whitespace fix).
111211 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111213         Merge some files from coreutils.  These changes were
111214         originally made by Jim Meyering.
111215         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
111216         many older Unixes require this.
111217         * lib/alloca.c (alloca): Remove cast to argument of free;
111218         no longer needed in C89.
111219         * lib/alloca_.h, regex.h: Fix white space to match
111220         what GNU indent does.
111222 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111224         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
111225         apparently Emacs's Unicode mode got confused before my 2003-08-05
111226         checkin.
111228 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111230         * m4/extensions.m4: New file.
111231         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
111232         Require gl_USE_SYSTEM_EXTENSIONS.
111233         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
111234         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
111236 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111238         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
111239         * modules/extensions, modules/gnu-source: New files.
111240         * modules/timespec, modules/unlocked-io: Depend on extensions.
111242 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111244         * modules/restrict: New file.
111245         * MODULES.html.sh (func_all_modules): Add restrict.
111246         * modules/regex: Depend on restrict.
111248 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111250         * m4/restrict.m4: New file.
111251         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
111253 2003-08-07  Bruno Haible  <bruno@clisp.org>
111255         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
111256         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
111258 2003-08-07  Bruno Haible  <bruno@clisp.org>
111260         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
111261         makes the module 'getndelim2' compatible with the module 'getline'.
111263 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111265         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
111266         byte with "\201" to avoid glitches when editing that source file
111267         with multi-gnome-terminal.
111269 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111271         * lib/bumpalloc.h: Remove.
111273 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111275         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
111276         * modules/bumpalloc: Remove.
111278 2003-08-04  Paul Eggert  <eggert@twinsun.com>
111280         * lib/getloadavg.c: Change copyright notice and spacing to conform to
111281         GNU coding style.
111283         Merge from coreutils.
111284         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
111285         1. From glibc.
111286         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
111287         from Karl Berry, implemented by Jim Meyering.
111288         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
111289         from Dmitry V. Levin.
111290         Remove anachronistic cast of xrealloc.
111291         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
111292         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
111293         type. Otherwise, it wouldn't compile with at least /bin/cc on
111294         ymp-cray-unicos9.0.2.X.
111295         Combine two mostly-identical uses of alloca into one.
111296         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
111298 2003-08-04  Dave Love  <d.love@dl.ac.uk>
111300         [From Emacs.]
111302         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
111303         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
111304         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
111305         obsolete NLIST_NAME_UNION.
111306         [__GNU__]: Undef BSD and FSCALE.
111307         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
111309 2003-08-03  Paul Eggert  <eggert@twinsun.com>
111311         * lib/stdbool_.h (_Bool): Make it signed char, instead of
111312         an enum type, so that it's guaranteed to promote to int.  See:
111313         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
111315 2003-08-03  Karl Berry  <karl@gnu.org>
111317         * config/depcomp: update from automake.
111319 2003-07-31  Paul Eggert  <eggert@twinsun.com>
111321         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
111322         (strerror): Don't assume that a printable int fits in 14 bytes.
111324 2003-07-31  Bruno Haible  <bruno@clisp.org>
111326         * modules/getpass-gnu: New file.
111327         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
111329 2003-07-31  Bruno Haible  <bruno@clisp.org>
111331         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
111333 2003-07-24  Karl Berry  <karl@gnu.org>
111335         * config/missing: update from automake.
111337 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
111338             Bruno Haible  <bruno@clisp.org>
111340         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
111341         * lib/getline.c (getline, getdelim): Likewise.
111342         Remove _GNU_SOURCE define; now it's defined in config.h through
111343         m4/getline.m4.
111345 2003-07-23  Karl Berry  <karl@gnu.org>
111347         * config/config.sub: update from prep.
111349 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111351         * modules/xalloc (Depends-on): Add exitfail.
111352         * modules/xmemcoll: Likewise.
111354 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111356         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
111357         over-parenthesization in macros.
111359         Sync with coreutils.
111361         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
111362         required by C99.
111364         Use `exit_failure' for xalloc and xmemcoll instead of their own
111365         private exit-failure variables.
111366         * lib/xalloc.h (xalloc_exit_failure): Remove.
111367         * lib/xmalloc.c: Likewise.  Include exitfail.h.
111368         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
111369         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
111370         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
111371         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
111373 2003-07-20  Jim Meyering  <jim@meyering.net>
111375         * modules/closeout (Depends-on): Add exitfail.
111376         Suggestion from Bruno Haible.
111378 2003-07-19  Karl Berry  <karl@gnu.org>
111380         * config/config.sub: update from prep.
111382 2003-07-18  Paul Eggert  <eggert@twinsun.com>
111384         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
111385         Remove.
111386         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
111387         to test that it can stand by itself.  Include "exitfail.h".
111388         Clients should set exit_failure instead.
111389         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
111391 2003-07-18  Bruno Haible  <bruno@clisp.org>
111393         * modules/getndelim2: New file.
111394         * modules/getline: Share files with module getndelim2.
111395         * modules/getnline: Depend on getndelim2 instead of sharing files with
111396         it. Add getnline.c to lib_SOURCES.
111397         * MODULES.html.sh (func_all_modules): Add getndelim2.
111399 2003-07-18  Bruno Haible  <bruno@clisp.org>
111401         * m4/getndelim2.m4: New file.
111402         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
111403         invoke gl_PREREQ_GETNDELIM2.
111404         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
111405         gl_PREREQ_GETNDELIM2.
111406         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
111407         gl_GETNDELIM2.
111409 2003-07-18  Bruno Haible  <bruno@clisp.org>
111411         * lib/getndelim2.h: New file.
111412         * lib/getndelim2.c: Make into a module of its own. Include config.h,
111413         getndelim2.h.
111414         (getndelim2): Make non-static. Change return type to ssize_t.
111415         * lib/getline.h: Change argument names.
111416         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
111417         * lib/getnline.c: Include getndelim2.h.
111419 2003-07-18  Andreas Schwab  <schwab@suse.de>
111421         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
111423 2003-07-17  Karl Berry  <karl@gnu.org>
111425         * config/config.sub: update from prep.
111427 2003-07-17  Bruno Haible  <bruno@clisp.org>
111429         * modules/getnline: New file.
111430         * modules/getline: Add lib/getndelim2.c to source file list.
111431         * MODULES.html.sh (func_all_modules): Add getnline.
111433 2003-07-17  Bruno Haible  <bruno@clisp.org>
111435         * m4/getnline.m4: New file.
111437 2003-07-17  Bruno Haible  <bruno@clisp.org>
111439         * m4/Makefile.am.in: Remove file.
111440         * m4/Makefile.am: Remove file.
111441         * m4/Makefile.in: Remove file.
111443 2003-07-17  Bruno Haible  <bruno@clisp.org>
111445         * lib/getnline.h: New file.
111446         * lib/getnline.c: New file.
111447         * lib/getndelim2.c: New file, extracted from getline.c.
111448         (getndelim2): Renamed from getdelim2, with added nmax argument.
111449         * lib/getline.c: Include getndelim2.c.
111450         (getdelim2): Moved out to getndelim2.c.
111451         (getline, getdelim): Update.
111453 2003-07-17  Bruno Haible  <bruno@clisp.org>
111455         * lib/Makefile.am: Remove file.
111456         * lib/Makefile.in: Remove file.
111458 2003-07-17  Bruno Haible  <bruno@clisp.org>
111460         * configure.in: Remove file.
111461         * Makefile.in: Remove file.
111463 2003-07-17  Bruno Haible  <bruno@clisp.org>
111465         * MODULES.html.sh: Put the </BODY> right before </HTML>.
111467 2003-07-16  Karl Berry  <karl@gnu.org>
111469         * config/srclist-update: was running fixlicense twice, which caused
111470                 texinfo.tex to be nullified for some reason.  Simplify,
111471                 $gplsrc is no longer needed as far as I can see?
111473 2003-07-16  Jim Meyering  <jim@meyering.net>
111475         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111477 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111479         * config/srclist.txt: Get the following files from gettext-runtime/intl
111480         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111481         ref-del.sin.  From Bruno Haible.
111482         * config/srclist-update (fixfile): Change grep pattern again, since the
111483         previous fix didn't work (there was another trailing $).  Use
111484         '[$]' to escape the $s.
111486 2003-07-15  Karl Berry  <karl@gnu.org>
111488         * lib/vasnprintf.c: update from gettext.
111490 2003-07-15  Karl Berry  <karl@gnu.org>
111492         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111493         gets expanded when surrounded by '$'.
111495 2003-07-15  Jim Meyering  <jim@meyering.net>
111497         * modules/save-cwd: Don't depend on error.  From Derek Price.
111499 2003-07-15  Jim Meyering  <jim@meyering.net>
111501         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111503 2003-07-14  Simon Josefsson  <jas@extundo.com>
111505         * modules/mempcpy: New file.
111506         * MODULES.html.sh (func_all_modules): Add mempcpy.
111508 2003-07-14  Simon Josefsson  <jas@extundo.com>
111510         * m4/mempcpy.m4: New file.
111512 2003-07-14  Simon Josefsson  <jas@extundo.com>
111514         * lib/mempcpy.h: New file.
111515         * lib/mempcpy.c: New file.
111517 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111519         * modules/getdate, modules/posixtm: Depend on mktime.
111521 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111523         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111524         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111525         unicodeio.c, unicodeio.h, unlocked-io.h:
111526         Switch from LGPL to GPL.
111528 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111530         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111531         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111532         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111533         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111534         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111535         updated automatically by ../config/srclist-update.  This changes
111536         their license from LPGL to GPL.
111538 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111540         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111541         assumed to refer to the root of the most recent stable gettext version.
111542         * config/srclistvars.sh: Add defaults for eggert.
111543         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111544         Match "This program" as well as "The program".  This is needed
111545         for gettext.
111547 2003-07-14  Jim Meyering  <jim@meyering.net>
111549         Don't emit diagnostics.  Let callers do that.
111550         * lib/save-cwd.c: Don't include "error.h".
111551         (save_cwd): Don't call error.  Ensure that errno is valid
111552         when returning nonzero.
111554         * lib/save-cwd.h (restore_cwd): Update prototype.
111555         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111556         Simplify.  Don't call error upon failure.  Let callers do that.
111557         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111558         when auditing is enabled.  But don't bother updating the #if.
111560 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111562         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111563         it breaks C++ compilation.
111564         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111566 2003-07-10  Simon Josefsson  <jas@extundo.com>
111568         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111570 2003-07-10  Jim Meyering  <jim@meyering.net>
111572         * m4/clock_time.m4: Remove trailing blank.
111573         * m4/intmax_t.m4: Likewise.
111575 2003-07-10  Jim Meyering  <jim@meyering.net>
111577         * lib/vasnprintf.c: Remove trailing blanks.
111578         Make cpp indentation consistent.
111580 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111582         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111583         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111584         Switch from LGPL to GPL.
111586 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111588         * config/srclist.txt: Sort sublists.  Add
111589         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111590         that differ from gnulib for one reason or another; we'd like this list
111591         to be smaller but for now let's document what we have.
111593 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111595         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111596         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111597         and sweeter "eval x=$x".
111598         * config/srclist.txt: Get lib/argp* from glibc.
111600 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111602         * lib/mktime.c: Fix some boundary cases and remove need for floating
111603         point.
111605         Issue a compile-time diagnostic if time_t is floating point, or if
111606         two's complement arithmetic is not in effect, or if arithmetic
111607         right shift does not propagate the sign.  These assumptions were
111608         all in the original code but they weren't checked.
111610         (TIME_T_MIDPOINT, verify): New macros.
111611         (__isleap): Remove; it has integer overflow problems.
111612         (leapyear): New function, without those problems.
111613         (ydhms_tm_diff): Remove; splitting into two parts.
111614         (ydhms_diff): New function, containing the arithmetic part of
111615         the old ydhms_tm_diff function.  Issue a compile-time
111616         diagnostic if we are not using C99 integer division.
111617         Avoid casts when possible.
111618         (guess_time_tm): New function, containing the checking part of
111619         the old ydhms_tm_diff function.  Return the new value, rather than
111620         the difference between it and the old.  Accept a new argument T
111621         so that *T specifies the old value.  Check for overflow in the result.
111623         (__mktime_internal): Use a time_t offset, not a long int offset.
111624         This undoes the 2003-06-04 change, which is no longer needed now
111625         that we have better overflow checking.
111626         (localtime_offset): Likewise.
111628         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111629         and long are 64-bit but int is only 32-bit.
111630         (ydhms_diff): Use long int to store year1 and yday1.
111631         Issue a compile-time diagnostic if long int is not wide enough.
111633         (__mktime_internal): Use long int to store adjusted year and yday.
111634         Use plain C rather than preprocessor commands, if that doesn't
111635         affect efficiency.
111636         Check for overflow (and try to repair) after each probe
111637         rather than checking only at the very end.  This avoids some bugs
111638         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111639         does not equal GMT offset at maximum time).
111640         Use integer to check for overflow rather than floating point; this
111641         is more portable to non-IEEE hosts, and is a tad faster.
111642         When we detect that we are oscillating between two values,
111643         don't check whether tm_isdst has the requested value, since
111644         we already know the answer.  When tm_isdst has the wrong value,
111645         use a different heuristic to find the right one, based on the
111646         extreme values actually observed in practice in tz2003a,
111647         rather than the (overly optimistic) "previous 3 calendar quarters".
111649         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111650         "T const" to accommodate glibc style.
111651         (check_result): Use less-confusing report format.  "long" -> "long int.
111652         (main): Likewise.
111653         Don't loop if the iteration overflows time_t.
111654         Allow a negative step in the iteration.
111656 2003-07-06  Karl Berry  <karl@gnu.org>
111658         * config/depcomp: update from automake.
111659         * config/config.sub: update from prep.
111661 2003-07-03  Karl Berry  <karl@gnu.org>
111663         * config/config.guess: update from prep.
111665 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111667         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111668         xreadlink.c now includes it unconditionally.
111670 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111672         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111673         having it depend on HAVE_SYS_TYPES_H.
111675 2003-07-01  Bruno Haible  <bruno@clisp.org>
111677         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111678         <sys/types.h> should be sufficient.
111679         Reported by Paul Eggert.
111681 2003-06-26  Karl Berry  <karl@gnu.org>
111683         * config/depcomp: update from automake.
111685 2003-06-26  Bruno Haible  <bruno@clisp.org>
111687         * modules/human: Depend on module stdbool.
111689 2003-06-25  Bruno Haible  <bruno@clisp.org>
111691         * modules/readlink: New file.
111692         * modules/xreadlink: Depend on it.
111693         * MODULES.html.sh (func_all_modules): Add readlink.
111695 2003-06-25  Bruno Haible  <bruno@clisp.org>
111697         * m4/readlink.m4: New file.
111699 2003-06-25  Bruno Haible  <bruno@clisp.org>
111701         * lib/readlink.c: New file.
111703 2003-06-22  Karl Berry  <karl@gnu.org>
111705         * config/srclist.txt: update mkinstalldirs from automake.
111706         * config/mkinstalldirs: update.
111708 2003-06-22  Bruno Haible  <bruno@clisp.org>
111710         Portability to mingw32.
111711         * m4/ssize_t.m4: New file, from GNU gettext.
111712         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111713         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111715 2003-06-22  Bruno Haible  <bruno@clisp.org>
111717         * modules/safe-read: Add m4/ssize_t.m4.
111718         * modules/xreadlink: Add m4/ssize_t.m4.
111720 2003-06-20  Bruno Haible  <bruno@clisp.org>
111722         Assume C89, so PARAMS isn't needed.
111723         * lib/unicodeio.h (PARAMS): Remove.
111724         * lib/unicodeio.c: Don't use PARAMS.
111726 2003-06-18  Karl Berry  <karl@gnu.org>
111728         * config/config.{guess,sub}: update from prep.
111730 2003-06-18  Jim Meyering  <jim@meyering.net>
111732         Merge changes from coreutils.
111733         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111734         Remove explicit declarations of xmalloc and realloc.
111735         Include xalloc.h.
111736         (read_utmp): Remove anachronistic cast of xmalloc.
111738 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111740         Assume C89, so PARAMS isn't needed.
111741         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111742         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111743         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111744         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111745         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111746         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111747         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111748         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111749         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111750         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111751         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111752         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111753         no longer needed. Anyway, config.h should always be included before any
111754         other file.
111756 2003-06-11  Simon Josefsson  <jas@extundo.com>
111758         * modules/sysexits: New file.
111759         * MODULES.html.sh (func_all_modules): Add sysexits.
111761 2003-06-11  Simon Josefsson  <jas@extundo.com>
111763         * lib/sysexit_.h: New file.
111765 2003-06-11  Derek Price  <derek@ximbiot.com>
111767         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111768         necessary.
111770 2003-06-11  Bruno Haible  <bruno@clisp.org>
111772         * m4/sysexits.m4: New file.
111774 2003-06-10  Simon Josefsson  <jas@extundo.com>
111776         * lib/argp.h: New file, from glibc.
111777         * lib/argp-ba.c: New file, from glibc.
111778         * lib/argp-eexst.c: New file, from glibc.
111779         * lib/argp-fmtstream.c: New file, from glibc.
111780         * lib/argp-fmtstream.h: New file, from glibc.
111781         * lib/argp-fs-xinl.c: New file, from glibc.
111782         * lib/argp-help.c: New file, from glibc.
111783         * lib/argp-namefrob.h: New file, from glibc.
111784         * lib/argp-parse.c: New file, from glibc.
111785         * lib/argp-pv.c: New file, from glibc.
111786         * lib/argp-pvh.c: New file, from glibc.
111787         * lib/argp-xinl.c: New file, from glibc.
111789 2003-06-10  Simon Josefsson  <jas@extundo.com>
111791         * modules/strchrnul: New file.
111793 2003-06-10  Simon Josefsson  <jas@extundo.com>
111795         * modules/argp: New file.
111797 2003-06-10  Simon Josefsson  <jas@extundo.com>
111799         * m4/strchrnul.m4: New file.
111801 2003-06-10  Simon Josefsson  <jas@extundo.com>
111803         * lib/strchrnul.h: New file.
111804         * lib/strchrnul.c: New file.
111806 2003-06-10  Bruno Haible  <bruno@clisp.org>
111808         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111810 2003-06-07  Karl Berry  <karl@gnu.org>
111812         * config/config.{guess,sub}: update from prep.
111814 2003-06-07  Jim Meyering  <jim@meyering.net>
111816         * modules/strtod: Use $(...) notation, not @...@ for
111817         AC_REPLACE'd variables.
111818         * modules/localcharset: Likewise.
111820 2003-06-07  Jim Meyering  <jim@meyering.net>
111822         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111823         in place of my name in the copyright comment.
111824         Remove definition and uses of __P.
111826         From coreutils.
111827         * lib/stat.c: Don't declare xmalloc explicitly.
111828         Instead, include "xalloc.h".
111829         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111830         xrealloc, and xcalloc return values.
111831         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111832         Improve comment.
111833         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111835 2003-06-07  Bruno Haible  <bruno@clisp.org>
111837         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111838         avoid AC_CONFIG_LINKS.
111839         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111840         fnmatch.h, to avoid AC_CONFIG_LINKS.
111841         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111843 2003-06-07  Bruno Haible  <bruno@clisp.org>
111845         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111846         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111847         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111848         directory.
111849         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111850         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111851         directory.
111853 2003-06-06  Jim Meyering  <jim@meyering.net>
111855         Merge from coreutils.
111856         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111857         Consolidate declarations and initializations of *_base* locals.
111859         Merge from coreutils.
111860         This avoids a core dump on systems without GNU putenv,
111861         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111862         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111863         (unsetenv): New static function, from GNU libc.
111864         (rpl_putenv): Use it.
111866         * lib/modechange.c: Remove trailing blanks.
111868         Merge from coreutils.
111869         * lib/fsusage.c: Remove declaration of statfs.
111870         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111872         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111874 2003-06-06  Jim Meyering  <jim@meyering.net>
111876         * lib/stdbool_.h: Renamed from stdbool.h.in.
111878 2003-06-06  Jim Meyering  <jim@meyering.net>
111879             Bruno Haible  <bruno@clisp.org>
111881         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111882         Adjust Makefile.am snippet not to redirect directly to target.
111883         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111885 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111887         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111888         mismatch, look in future quarters as well as past.  This fixes a
111889         bug when processing fall-backwards gaps immediately after a long
111890         period of daylight-saving time.
111892         * lib/mktime.c: Assume freestanding C89 or better.
111893         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111894         (__P): Remove; not used.
111895         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111896         (mktime, not_equal_tm, print_tm, check_result,
111897         main): Use prototypes.  Use const * where appropriate.
111898         (main): Fix typo in testing code that uncovered by above changes.
111899         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111901 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111903         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111904         locale.h, localeconv.  This merges changes from coreutils.
111906         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111907         It can be removed after the next Autoconf is released.
111908         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111909         needed.
111911 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111913         * lib/mktime.c: Fix Debian bug 177940
111914         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111915         (localtime_offset): Now long int, not time_t, because we want it
111916         to be guaranteed to be signed.  All uses changed.
111917         (__mktime_internal): If overflow would occur when adding offset,
111918         don't add it.
111920         Merge 'human' changes from coreutils.  Rewrite to support
111921         locale-specific notations like thousands separators.
111922         * lib/human.c: Simplify authorship notice.
111923         Include human.h immediately after config.h.
111924         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111925         <limits.h>: Do not include, since human.h does.
111926         (SIZE_MAX, UINTMAX_MAX): New macros.
111927         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111928         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111929         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111930         (power_letter): Renamed from suffixes.
111931         (generate_suffix_backwards): Remove.
111932         (adjust_value): Now takes int style (because of human.h changes)
111933         and long double value (for greater precision on some platforms).
111934         (group_number): New function.
111935         (human_readable): Use it.  Use integer options, not enum.
111936         Put the options before the sizes in the arg list.
111937         Support all the new options.
111938         The old human_readable function has been removed;
111939         use inttostr.h instead.
111940         (human_readable, default_block_size, humblock):
111941         Use uintmax_t, not int, for block sizes.
111942         (human_readable_inexact, block_size_types): Remove.
111943         (block_size_opts): New constant.
111944         (human_options): Renamed from human_block_size, with new signature
111945         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111946         * lib/human.h: Add copyright and authorship notice.
111947         Include <limits.h> and <stdbool.h> unconditionally.
111948         (PARAMS): Remove.  All uses removed.
111949         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111950         (enum human_inexact_style): Remove tag; now a nameless enum.
111951         (human_floor, human_ceiling, human_round_to_even): Now have
111952         values 2, 0, 1 rather than -1, 1, 0.
111953         (human_group_digits, human_suppress_point_zero, human_autoscale,
111954         human_base_1024, human_SI, human_B): New constants.
111955         (human_readable_inexact, human_block_size): Remove.
111956         (human_readable): Size args are now uintmax_t, not int.
111957         (human_options): New decl.
111959         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111960         unnecessary now that we assume C89 or better.  This change
111961         imported from coreutils.
111963         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111964         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111965         in the 2003-05-30 sync from glibc.
111967         .h files should stand alone, but we shouldn't include <sys/types.h>
111968         if we can get away with just <stddef.h>.
111970         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111971         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111972         rather than <sys/types.h>, as we merely need size_t.
111973         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111974         to get size_t.
111975         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111976         Include <stdio.h>, to get FILE.
111977         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111978         memcasecmp.h has included <stddef.h> and all we need is size_t.
111979         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111980         our interface, instead of including <sys/types.h>
111982 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111984         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111985         now, as glibc mktime is buggy on non-glibc systems.
111987 2003-06-03  Karl Berry  <karl@gnu.org>
111989         * config/config.sub: update from prep.
111991 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111993         [from coreutils]
111994         Fix some minor time-related bugs with POSIX time arguments.
111995         Some valid time stamps were being rejected (notably -1, and
111996         time stamps before 1900 on 64-bit hosts).  And some invalid
111997         time stamps were being accepted, e.g. September 31.
111999         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
112000         that we can return (time_t) -1 successfully.
112001         * lib/posixtm.c: Likewise.
112002         [HAVE_STDBOOL_H]: Include <stdbool.h>.
112003         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
112004         (t): Remove static var.
112005         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
112006         of static var.  All uses changed.
112007         (year): Do not reject years before 1900; they can occur with
112008         64-bit time_t.
112009         (posix_time_parse): Do not check for out-of-range components;
112010         that is now the caller's responsibility, since our checks were
112011         only approximations.
112012         (posixtime): Use mktime to check for out-of-range components,
112013         since it knows them exactly.
112014         If mktime returns (time_t) -1, check whether an error actually occurred
112015         by invoking localtime on -1.
112016         (main) [TEST_POSIXTIME]: Check for input data errors, and report
112017         posixtime failures better.
112018         Improve the test data (in comments only).
112020 2003-06-02  Karl Berry  <karl@gnu.org>
112022         * config/mkinstalldirs (version): new variable.
112023         (--version): new option.
112024         (usage): improve message.
112026 2003-05-30  Karl Berry  <karl@gnu.org>
112028         * lib/mktime.c: update from libc.
112030 2003-05-30  Bruno Haible  <bruno@clisp.org>
112032         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
112033         * config/config.rpath: Upgrade to gettext-0.12.1.
112035 2003-05-30  Bruno Haible  <bruno@clisp.org>
112037         * m4/gettext.m4: Upgrade to gettext-0.12.1.
112038         * m4/nls.m4: New file, from gettext-0.12.1.
112039         * m4/po.m4: New file, from gettext-0.12.1.
112040         * m4/progtest.m4: Upgrade to gettext-0.12.1.
112042 2003-05-30  Bruno Haible  <bruno@clisp.org>
112044         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
112045         * lib/localcharset.h: Likewise.
112046         * lib/localcharset.c: Likewise.
112048 2003-05-29  Karl Berry  <karl@gnu.org>
112050         * config/config.rpath: update from gettext.
112052 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112054         Assume the headers required for C89 freestanding compilers.
112055         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
112056         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
112057         * m4/human.m4 (gl_HUMAN): Likewise.
112058         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
112059         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
112060         * m4/userspec.m4 (gl_USERSPEC): Likewise.
112061         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
112062         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
112063         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
112065 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112067         Assume the headers required for C89 freestanding compilers.
112068         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
112069         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
112070         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
112071         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
112072         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
112073         define, since <limits.h> is guaranteed to do that.
112074         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
112075         * lib/exclude.c: Include <stdbool.h> unconditionally.
112076         * lib/tempname.c: Include <stddef.h> unconditionally.
112077         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
112078         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
112079         <stddef.h> does that.
112080         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
112081         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
112082         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
112083         needed.
112084         * lib/xstrtol.c: Likewise.
112085         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
112086         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
112088         * lib/addext.c (addext): Use assignment rather than cast, to avoid
112089         warnings on some platforms.
112091         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112092         arbitrarily.
112094 2003-05-26  Jim Meyering  <jim@meyering.net>
112096         Merge in a change from coreutils:
112097         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
112098         that is guaranteed to be `no'.  Use `no_such_member' to indicate
112099         that condition, rather than `-1' which is slightly misleading.
112100         Change the name of the cache variable to have the gl_ prefix.
112101         Prompted by a patch from Richard Dawe for DJGPP.
112103 2003-05-24  Karl Berry  <karl@gnu.org>
112105         * config/config.guess: update from prep.
112107 2003-05-22  Karl Berry  <karl@gnu.org>
112109         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
112111 2003-05-20  Karl Berry  <karl@gnu.org>
112113         * config/config.guess: update from prep.
112115 2003-05-18  Karl Berry  <karl@gnu.org>
112117         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
112118         might actually be set by the user.
112120         * config/depcomp, install-sh, mdate-sh: update from automake.
112122 2003-05-17  Bruno Haible  <bruno@clisp.org>
112124         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
112125         invalid expansion for AC_EGREP_CPP.
112126         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
112127         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
112128         Suggested by Akim Demaille <akim@epita.fr> in
112129         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
112131 2003-05-12  Jim Meyering  <jim@meyering.net>
112133         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
112134         the space-padded-by-default conversion specifiers, %e, %k, %l.
112136 2003-05-12  Bruno Haible  <bruno@clisp.org>
112138         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
112139         the string is longer than 4 KB.
112141 2003-05-11  Karl Berry  <karl@gnu.org>
112143         * config/config.{guess,sub}: update from prep.
112145 2003-05-09  Bruno Haible  <bruno@clisp.org>
112147         * modules/error: Add m4/strerror_r.m4 to file list.
112149 2003-05-03  Bruno Haible  <bruno@clisp.org>
112151         Upgrade to Unicode-4.0.
112152         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
112153         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
112154         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
112155         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
112156         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
112157         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
112158         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
112159         Change width of U+E0100..U+E01EF from 1 to 0.
112161 2003-04-25  Jim Meyering  <jim@meyering.net>
112163         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
112164         of type size_t, not int.
112166 2003-04-25  Bruno Haible  <bruno@clisp.org>
112168         * lib/copy-file.c: Include <stddef.h>, for size_t.
112170 2003-04-21  Paul Eggert  <eggert@twinsun.com>
112172         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
112173         code which expansion is under static control.  Patch imported from
112174         Akim Demaille's patch to Bison; see
112175         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
112177 2003-04-14  Bruno Haible  <bruno@clisp.org>
112179         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
112181 2003-04-11  Jim Meyering  <jim@meyering.net>
112183         Merge changes from Coreutils.
112185         2003-03-22  Jim Meyering  <jim@meyering.net>
112187         * lib/strftime.c (widen): Cast alloca return value to proper type.
112189         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
112191         From GNU libc.
112192         * lib/strftime.c (my_strftime): Handle very large width
112193         specifications for numeric values correctly.  Improve checks for
112194         overflow.
112196         2003-01-19  Jim Meyering  <jim@meyering.net>
112198         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
112199         definitions.
112200         (nl_get_alt_digit) [! defined my_strftime]: Define.
112201         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
112202         _nl_get_alt_digit and _nl_get_walt_digit.
112204         * lib/strftime.c (my_strftime): Merge in locale-related changes from
112205         libc. These changes have no effect outside of _LIBC.
112207 2003-04-10  Bruno Haible  <bruno@clisp.org>
112209         * modules/findprog: New file.
112210         * MODULES.html.sh (func_all_modules): Add it.
112212 2003-04-10  Bruno Haible  <bruno@clisp.org>
112214         * m4/findprog.m4: New file.
112215         * m4/eaccess.m4: New file.
112217 2003-04-10  Bruno Haible  <bruno@clisp.org>
112219         * lib/findprog.h: New file, from GNU gettext.
112220         * lib/findprog.c: New file, from GNU gettext.
112222 2003-04-05  Jim Meyering  <jim@meyering.net>
112224         Merge changes from Coreutils.
112226         * lib/exclude.h (PARAMS): Remove definition and uses.
112227         * lib/exclude.c: Remove uses of `PARAMS'.
112229         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
112230         Add test-cases for DOS filenames. Declare program_name.
112231         (main): Set up program_name.  Patch by Rich Dawe.
112233         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
112234         error from mntctl.
112235         Use mntctl's return value to drive the entry-processing loop, since
112236         we can't rely on the value of the vmt_length member in the last
112237         entry.  On some systems doing so could result in exhausting
112238         virtual memory.  Based in part on a patch from Mike Jetzer.
112240 2003-04-04  Bruno Haible  <bruno@clisp.org>
112242         * modules/linebreak: New file.
112243         * MODULES.html.sh (func_all_modules): Add it.
112245 2003-04-04  Bruno Haible  <bruno@clisp.org>
112247         * m4/linebreak.m4: New file.
112249 2003-04-04  Bruno Haible  <bruno@clisp.org>
112251         * lib/linebreak.h: New file, from GNU gettext.
112252         * lib/linebreak.c: New file, from GNU gettext with slight
112253         modifications.
112254         * lib/lbrkprop.h: New file, from GNU gettext.
112256 2003-04-03  Bruno Haible  <bruno@clisp.org>
112258         * modules/utf8-ucs4: New file.
112259         * modules/utf16-ucs4: New file.
112260         * modules/ucs4-utf8: New file.
112261         * modules/ucs4-utf16: New file.
112262         * MODULES.html.sh (func_all_modules): Add them.
112264 2003-04-03  Bruno Haible  <bruno@clisp.org>
112266         * m4/utf-ucs4.m4: New file.
112267         * m4/ucs4-utf.m4: New file.
112269 2003-04-03  Bruno Haible  <bruno@clisp.org>
112271         * lib/utf8-ucs4.h: New file, from GNU gettext.
112272         * lib/utf16-ucs4.h: New file, from GNU gettext.
112273         * lib/ucs4-utf8.h: New file, from GNU gettext.
112274         * lib/ucs4-utf16.h: New file, from GNU gettext.
112276 2003-04-02  Bruno Haible  <bruno@clisp.org>
112278         * modules/binary-io: New file.
112279         * MODULES.html.sh (func_all_modules): Add it.
112281 2003-04-02  Bruno Haible  <bruno@clisp.org>
112283         * lib/binary-io.h: New file, from GNU gettext.
112285 2003-04-01  Bruno Haible  <bruno@clisp.org>
112287         * modules/pathname: New file.
112288         * MODULES.html.sh (func_all_modules): Add it.
112290 2003-04-01  Bruno Haible  <bruno@clisp.org>
112292         * lib/pathname.h: New file, from GNU gettext.
112293         * lib/concatpath.c: New file, from GNU gettext.
112295 2003-03-30  Bruno Haible  <bruno@clisp.org>
112297         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
112299 2003-03-30  Bruno Haible  <bruno@clisp.org>
112301         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
112302         function chown() doesn't exist.
112304 2003-03-28  Bruno Haible  <bruno@clisp.org>
112306         * modules/copy-file: New file.
112307         * MODULES.html.sh (func_all_modules): Add it.
112309 2003-03-28  Bruno Haible  <bruno@clisp.org>
112311         * m4/copy-file.m4: New file.
112313 2003-03-28  Bruno Haible  <bruno@clisp.org>
112315         * lib/copy-file.h: New file, from GNU gettext.
112316         * lib/copy-file.c: New file, from GNU gettext.
112318 2003-03-18  Jim Meyering  <jim@meyering.net>
112320         * lib/quote.c (quote_n): Fix typo in comment.
112322 2003-03-18  Bruno Haible  <bruno@clisp.org>
112324         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
112325         checking.
112326         * m4/onceonly_2_57.m4: Likewise.
112328 2003-03-17  Bruno Haible  <bruno@clisp.org>
112330         * m4/onceonly.m4: Require autoconf 2.54 or newer.
112331         (m4_quote): Remove macro.
112332         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
112334 2003-03-14  Jim Meyering  <jim@meyering.net>
112336         Merge changes from Coreutils.
112337         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
112338         to be const, in order to avoid warnings.
112339         (obstack_room): Likewise.
112340         (obstack_empty_p): Likewise.
112342 2003-03-14  Bruno Haible  <bruno@clisp.org>
112344         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
112345         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
112347 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112349         Merge changes from Bison.
112350         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
112351         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
112352         when compiling Bison 1.875's `bitset bset = obstack_alloc
112353         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
112354         * lib/hash.c: Include <stdbool.h> unconditionally.
112356 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112358         * m4/onceonly.m4 (m4_quote): New macro.
112359         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
112360         Quote AC_FOREACH variable-expansions properly.
112362 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112364         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
112366 2003-03-09  Paul Eggert  <eggert@twinsun.com>
112368         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
112369         Reported by Bruce Becker; see:
112370         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
112372 2003-03-03  Paul Eggert  <eggert@twinsun.com>
112373             Bruno Haible  <bruno@clisp.org>
112375         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
112376         Reported by John Hughes, see
112377         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
112379 2003-02-20  Bruno Haible  <bruno@clisp.org>
112381         * MODULES.html.sh (func_all_modules): Add poll.
112383 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112385         * modules/poll: New file.
112387 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112389         * lib/poll_.h: New file.
112390         * lib/poll.c: New file.
112392 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112394         * m4/poll.m4: New file.
112396 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112398         * modules/mathl: New file.
112400 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112402         * lib/mathl.h: New file.
112403         * lib/acosl.c: New file.
112404         * lib/asinl.c: New file.
112405         * lib/atanl.c: New file.
112406         * lib/ceill.c: New file.
112407         * lib/cosl.c: New file.
112408         * lib/expl.c: New file.
112409         * lib/floorl.c: New file.
112410         * lib/frexpl.c: New file.
112411         * lib/ldexpl.c: New file.
112412         * lib/logl.c: New file.
112413         * lib/sincosl.c: New file.
112414         * lib/sinl.c: New file.
112415         * lib/sqrtl.c: New file.
112416         * lib/tanl.c: New file.
112417         * lib/trigl.c: New file.
112418         * lib/trigl.h: New file.
112420 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112422         * m4/mathl.m4: New file.
112424 2003-02-18  Bruno Haible  <bruno@clisp.org>
112426         * MODULES.html.sh (func_all_modules): Add mathl.
112428 2003-02-17  Bruno Haible  <bruno@clisp.org>
112430         * modules/mkdtemp: New module.
112431         * MODULES.html.sh (func_all_modules): Add it.
112433 2003-02-17  Bruno Haible  <bruno@clisp.org>
112435         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
112437 2003-02-17  Bruno Haible  <bruno@clisp.org>
112439         * lib/mkdtemp.h: New file, from GNU gettext.
112440         * lib/mkdtemp.c: New file, from GNU gettext.
112442 2003-02-02  Jim Meyering  <jim@meyering.net>
112444         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
112445         e.g. glibc-2.2.93.
112447 2003-01-31  Bruno Haible  <bruno@clisp.org>
112449         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
112450         'rpl_rename'.
112451         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
112452         'rpl_strnlen'.
112453         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
112454         'rpl_strtod'.
112455         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
112456         'rpl_utime'.
112458 2003-01-31  Bruno Haible  <bruno@clisp.org>
112460         * lib/rename.c: #undef rename before defining rpl_rename.
112461         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
112463 2003-01-30  Bruno Haible  <bruno@clisp.org>
112465         * modules/vasnprintf, modules/vasprintf: New modules.
112466         * MODULES.html.sh (func_all_modules): Add them.
112468 2003-01-30  Bruno Haible  <bruno@clisp.org>
112470         * m4/signed.m4: New file, from GNU gettext.
112471         * m4/longdouble.m4: New file, from GNU gettext.
112472         * m4/wchar_t.m4: New file, from GNU gettext.
112473         * m4/wint_t.m4: New file, from GNU gettext.
112474         * m4/vasnprintf.m4: New file.
112475         * m4/vasprintf.m4: New file.
112477 2003-01-30  Bruno Haible  <bruno@clisp.org>
112479         * lib/printf-args.h: New file, from GNU gettext.
112480         * lib/printf-args.c: New file, from GNU gettext.
112481         * lib/printf-parse.h: New file, from GNU gettext.
112482         * lib/printf-parse.c: New file, from GNU gettext.
112483         * lib/vasnprintf.h: New file, from GNU gettext.
112484         * lib/vasnprintf.c: New file, from GNU gettext.
112485         * lib/asnprintf.c: New file, from GNU gettext.
112486         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112487         * lib/vasprintf.c: New file, from GNU gettext.
112488         * lib/asprintf.c: New file, from GNU gettext.
112490 2003-01-29  Bruno Haible  <bruno@clisp.org>
112492         * modules/stpncpy: New module.
112493         * MODULES.html.sh (func_all_modules): Add it.
112495 2003-01-29  Bruno Haible  <bruno@clisp.org>
112497         * m4/stpncpy.m4: New file.
112499 2003-01-29  Bruno Haible  <bruno@clisp.org>
112501         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112502         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112504 2003-01-28  Bruno Haible  <bruno@clisp.org>
112506         * modules/c-ctype: New module.
112507         * MODULES.html.sh (func_all_modules): Add it.
112509 2003-01-28  Bruno Haible  <bruno@clisp.org>
112511         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112512         Paul Eggert.
112513         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112514         Paul Eggert.
112516 2003-01-27  Bruno Haible  <bruno@clisp.org>
112518         * modules/xsetenv: New module.
112519         * MODULES.html.sh (func_all_modules): Add it.
112521 2003-01-27  Bruno Haible  <bruno@clisp.org>
112523         * lib/xsetenv.h: New file, from GNU gettext.
112524         * lib/xsetenv.c: New file, from GNU gettext.
112526 2003-01-23  Jim Meyering  <jim@meyering.net>
112528         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112529         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112531 2003-01-23  Bruno Haible  <bruno@clisp.org>
112533         * modules/minmax: New module.
112534         * MODULES.html.sh (func_all_modules): Add it.
112536 2003-01-23  Bruno Haible  <bruno@clisp.org>
112538         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112539         Eggert.
112541 2003-01-22  Bruno Haible  <bruno@clisp.org>
112543         * modules/exit: New module.
112544         * MODULES.html.sh (func_all_modules): Add it.
112546 2003-01-22  Bruno Haible  <bruno@clisp.org>
112548         * lib/exit.h: New file, from GNU gettext.
112550 2003-01-19  Bruno Haible  <bruno@clisp.org>
112552         * gnulib-tool: Recognize option --extract-maintainer.
112553         (func_get_maintainer): New function.
112554         * modules/*: Add Maintainer entry.
112556 2003-01-16  Jim Meyering  <jim@meyering.net>
112558         * m4/regex.m4: The `regex' struct is both input and output.
112559         Initialize it before each use.  Patch by Tim Waugh.
112561 2003-01-16  Bruno Haible  <bruno@clisp.org>
112563         * MODULES.html.sh: Add a table of contents. Add the module name as
112564         leftmost column. Add hyperlinks.
112566 2003-01-15  Bruno Haible  <bruno@clisp.org>
112568         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112570 2003-01-15  Bruno Haible  <bruno@clisp.org>
112572         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112573         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112574         suffix.
112576 2003-01-15  Bruno Haible  <bruno@clisp.org>
112578         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112580 2003-01-15  Bruno Haible  <bruno@clisp.org>
112582         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112583         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112585 2003-01-14  Jim Meyering  <jim@meyering.net>
112587         * lib/same.c (same_name): Tweak a comment.
112589 2003-01-14  Bruno Haible  <bruno@clisp.org>
112591         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112592         when a string comparison is sufficient.
112594 2003-01-14  Bruno Haible  <bruno@clisp.org>
112596         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112597         'unsigned int'.
112599 2003-01-14  Bruno Haible  <bruno@clisp.org>
112601         * lib/hash-pjw.c: Add comment about low quality of this function.
112603 2003-01-13  Bruno Haible  <bruno@clisp.org>
112605         * modules/stpcpy: Distribute lib/stpcpy.h.
112606         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112608 2003-01-13  Bruno Haible  <bruno@clisp.org>
112610         * modules/*: Add a description.
112611         * modules/strpbrk: Fix Makefile.am snippet.
112612         * modules/strtoimax: Fix dependencies.
112613         * modules/strtoumax: Likewise.
112615 2003-01-13  Bruno Haible  <bruno@clisp.org>
112617         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112618         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112619         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112621 2003-01-13  Bruno Haible  <bruno@clisp.org>
112623         * gnulib-tool (func_create_testdir): Store config/* files in the main
112624         directory.
112625         * config.rpath: Move to ...
112626         * config/config.rpath: ... here.
112627         * modules/gettext: Contains config/config.rpath, not config.rpath.
112628         * modules/iconv: Likewise.
112630 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112632         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112633         to avoid collisions with libcurses and libreadline.
112635         * m4/getstr.m4: Remove.
112636         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112638 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112640         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112641         to avoid collisions with libcurses and libreadline.
112643         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112644         * lib/getstr.h, getstr.c: Remove.
112645         * lib/getline.c: Include "getline.h", to check interface.
112646         Move body of old getstr.c here: this defines MIN_CHUNK and
112647         declares getdelim2, which is renamed from getstr.
112648         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112650         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112651         All uses changed.
112652         * lib/linebuffer.h: Likewise.
112653         (readline): Remove backward-compatibility macro.
112655 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112657         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112658         to avoid collisions with libcurses and libreadline.
112659         * getstr: Remove.
112660         * MODULES.html.sh: Remove getstr.
112661         * modules/getline: Depend on unlocked-io, not getstr.
112663 2003-01-12  Jim Meyering  <jim@meyering.net>
112665         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112667 2003-01-10  Bruno Haible  <bruno@clisp.org>
112669         * modules/alloca: Change Makefile.am requirements. Simplify Include
112670         requirements. Add lib/alloca_.h to file list.
112672 2003-01-10  Bruno Haible  <bruno@clisp.org>
112674         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112676 2003-01-10  Bruno Haible  <bruno@clisp.org>
112678         * lib/alloca_.h: New file.
112679         * lib/getdate.y: Unconditionally include alloca.h.
112680         * lib/makepath.c: Likewise.
112681         * lib/setenv.c: Likewise.
112682         * lib/userspec.c: Likewise.
112684 2003-01-09  Karl Berry  <karl@gnu.org>
112686         * MODULES.html.sh: include `dirname $0` in PATH, to find
112687         gnulib-tool.
112689 2003-01-09  Bruno Haible  <bruno@clisp.org>
112691         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112692         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112694 2003-01-09  Bruno Haible  <bruno@clisp.org>
112696         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112698 2003-01-09  Bruno Haible  <bruno@clisp.org>
112700         * lib/stdbool.h.in: New file.
112702 2003-01-09  Bruno Haible  <bruno@clisp.org>
112704         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112705         * MODULES.html.sh: Likewise.
112707 2003-01-08  Jim Meyering  <jim@meyering.net>
112709         * lib/full-write.c: Undefine and define-away `const' after inclusion
112710         of errno.h, not before.  Suggestion from Bruno Haible.
112712 2003-01-08  Bruno Haible  <bruno@clisp.org>
112714         * modules/full-read: Depend on full-write.
112716 2003-01-08  Bruno Haible  <bruno@clisp.org>
112718         * lib/safe-read.c: Include specification header first, to ensure its
112719         selfcontainedness.
112720         * lib/full-write.c: Likewise.
112722 2003-01-07  Jim Meyering  <jim@meyering.net>
112724         * lib/full-write.c: Rework so that it may serve to define full_read,
112725         too.
112726         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112728 2003-01-07  Bruno Haible  <bruno@clisp.org>
112730         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112731         <inttypes.h>.
112732         * lib/xstrtol.h: Likewise.
112733         * lib/xstrtoimax.c: Likewise.
112734         * lib/xstrtoumax.c: Likewise.
112735         * lib/human.h: Likewise.
112737         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112738         on systems that have <inttypes.h> but not <stdint.h>.
112740 2003-01-07  Bruno Haible  <bruno@clisp.org>
112742         * MODULES.html.sh: Add copyright notice.
112743         (missed_files): Omit CVS directory entries.
112744         (func_module): Make it work with sed-3.02.
112745         * MODULES.txt: Remove file.
112747 2003-01-06  Jim Meyering  <jim@meyering.net>
112749         * lib/version-etc.c: Update year in translatable copyright string.
112751 2003-01-03  Karl Berry  <karl@gnu.org>
112753         * config/config.{guess,sub}: update from prep.
112755 2003-01-02  Karl Berry  <karl@gnu.org>
112757         * doc/COPYING.DOC: belatedly updated to 1.2.
112759 2003-01-01  Karl Berry  <karl@gnu.org>
112761         * gnulib-tool (func_verify_module): report module name $module in
112762         error message, not $1.
112763         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112764         be created, only if it doesn't exist.
112765         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112767 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112769         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112771 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112773         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112774         memcmp if strcoll doesn't work.
112776 2002-12-31  Bruno Haible  <bruno@clisp.org>
112778         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112779         nonempty.
112781 2002-12-31  Bruno Haible  <bruno@clisp.org>
112783         * lib/memcoll.c (STRCOLL): New macro.
112784         (memcoll): Use it.
112786 2002-12-31  Bruno Haible  <bruno@clisp.org>
112788         * lib/localcharset.h: New file.
112789         * lib/localcharset.c: Include it.
112790         * lib/unicodeio.c: Likewise.
112792 2002-12-31  Bruno Haible  <bruno@clisp.org>
112794         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112795         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112797 2002-12-31  Bruno Haible  <bruno@clisp.org>
112799         * lib/getline.h: Include <stddef.h>, for size_t.
112801         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112802         * lib/unicodeio.c: Don't include <stddef.h>.
112804 2002-12-31  Bruno Haible  <bruno@clisp.org>
112806         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112807         HAVE_TM_ZONE.
112809 2002-12-24  Karl Berry  <karl@gnu.org>
112811         * config/config.guess: update from prep.
112813 2002-12-24  Bruno Haible  <bruno@clisp.org>
112815         General infrasructure.
112816         * m4/README: Rewritten.
112817         * m4/onceonly.m4: New file.
112818         * m4/onceonly_2_57.m4: New file.
112820         Module atexit.
112821         * m4/atexit.m4: New file.
112823         Module strtod.
112824         * m4/strtod.m4: New file.
112826         Module strtol.
112827         * m4/strtol.m4: New file.
112829         Module strtoul.
112830         * m4/strtoul.m4: New file.
112832         Module memchr.
112833         * m4/memchr.m4: New file.
112835         Module memcmp.
112836         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112837         (jm_FUNC_MEMCMP): Invoke it.
112839         Module memcpy.
112840         * m4/memcpy.m4: New file.
112842         Module memmove.
112843         * m4/memmove.m4: New file.
112845         Module memset.
112846         * m4/memset.m4: New file.
112848         Module strcspn.
112849         * m4/strcspn.m4: New file.
112851         Module strpbrk.
112852         * m4/strpbrk.m4: New file.
112854         Module strstr.
112855         * m4/strstr.m4: New file.
112857         Module strerror.
112858         * m4/strerror.m4: New file.
112860         Module mktime.
112861         * m4/mktime.m4: Renamed from jm-mktime.m4.
112862         (gl_PREREQ_MKTIME): New macro.
112863         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112865         Module malloc.
112866         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112867         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112868         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112870         Module realloc.
112871         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112872         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112873         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112875         Module strftime.
112876         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112877         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112878         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112879         gl_TM_GMTOFF.
112880         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112882         Module xalloc.
112883         * m4/xalloc.m4: New file.
112885         Module alloca.
112886         * m4/alloca.m4: New file.
112888         Module putenv.
112889         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112890         (jm_FUNC_PUTENV): Invoke it.
112892         Module setenv.
112893         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112894         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112895         when invoked twice.
112896         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112897         gt_FUNC_SETENV.
112899         Module memrchr.
112900         * m4/memrchr.m4: New file.
112902         Module stpcpy.
112903         * m4/stpcpy.m4: New file.
112905         Module strcase.
112906         * m4/strcase.m4: New file.
112908         Module strdup.
112909         * m4/strdup.m4: New file.
112911         Module strnlen.
112912         * m4/strnlen.m4: New file.
112914         Module strndup.
112915         * m4/strndup.m4: New file.
112917         Module xstrtod.
112918         * m4/xstrtod.m4: New file.
112920         Module xstrtol.
112921         * m4/xstrtol.m4: New file.
112923         Module getdate.
112924         * m4/getdate.m4: New file.
112926         Module unlocked-io.
112927         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112928         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112929         * m4/jm-glibc-io.m4n: Remove file.
112931         Module long-options.
112932         * m4/long-options.m4: New file.
112934         Module md5.
112935         * m4/md5.m4: New file.
112937         Module sha.
112938         * m4/sha.m4: New file.
112940         Module getstr.
112941         * m4/getstr.m4: New file.
112943         Module getline.
112944         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112945         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112946         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112947         simply getline. Infoke gl_PREREQ_GETLINE.
112949         Module obstack.
112950         * m4/obstack.m4: New file.
112952         Module hash.
112953         * m4/hash.m4: New file.
112955         Module readtokens.
112956         * m4/readtokens.m4: New file.
112958         Module strverscmp.
112959         * m4/strverscmp.m4: New file.
112961         Module stdbool.
112962         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112963         OSF/1.
112965         Module strtoll.
112966         * m4/strtoll.m4: New file.
112968         Module strtoull.
112969         * m4/strtoull.m4: New file.
112971         Module strtoimax.
112972         * m4/strtoimax.m4: New file.
112974         Module strtoumax.
112975         * m4/strtoumax.m4: New file.
112977         Module xstrtoimax.
112978         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112979         jm_AC_PREREQ_XSTRTOIMAX.
112980         Moved the strtol prerequisites to strtol.m4.
112981         Moved the strtoll prerequisites to strtoll.m4.
112982         Moved the strtoimax prerequisites to strtoimax.m4.
112984         Module xstrtoumax.
112985         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112986         jm_AC_PREREQ_XSTRTOUMAX.
112987         Moved the strtoul prerequisites to strtoul.m4.
112988         Moved the strtoull prerequisites to strtoull.m4.
112989         Moved the strtoumax prerequisites to strtoumax.m4.
112991         Module chown.
112992         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112993         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112995         Module dup2.
112996         * m4/dup2.m4: New file.
112998         Module ftruncate.
112999         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
113000         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
113002         Module getgroups.
113003         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
113004         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
113006         Module gettimeofday.
113007         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
113008         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
113009         gl_PREREQ_GETTIMEOFDAY.
113011         Module mkdir.
113012         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
113013         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
113015         Module mkstemp.
113016         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
113017         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
113018         jm_AC_TYPE_UINTMAX_T.
113019         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
113021         Module stat.
113022         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
113023         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
113025         Module lstat.
113026         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
113027         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
113029         Module timespec.
113030         * m4/timespec.m4 (gl_TIMESPEC): New macro.
113031         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
113032         * m4/st_mtim.m4: Indentation.
113034         Module nanosleep.
113035         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
113036         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
113037         gl_PREREQ_NANOSLEEP.
113039         Module regex.
113040         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
113041         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
113042         (gl_REGEX): New macro.
113044         Module rename.
113045         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
113046         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
113048         Module rmdir.
113049         * m4/rmdir.m4: New file.
113051         Module utime.
113052         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
113053         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
113054         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
113056         Module dirname.
113057         * m4/dirname.m4: New file.
113059         Module getopt.
113060         * m4/getopt.m4: New file.
113062         Module unistd-safer.
113063         * m4/unistd-safer.m4: New file.
113065         Module fnmatch.
113066         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
113067         declaration.
113068         (gl_PREREQ_FNMATCH_EXTRA): New macro.
113069         (gl_FUNC_FNMATCH_POSIX): New macro.
113070         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
113071         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
113072         simply fnmatch.
113074         Module exclude.
113075         * m4/exclude.m4: New file.
113077         Module human.
113078         * m4/human.m4: New file.
113080         Module acl.
113081         * m4/acl.m4: Nop.
113083         Module backupfile.
113084         * m4/backupfile.m4: New file.
113085         * m4/d-ino.m4: Indentation.
113087         Module fsusage.
113088         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
113089         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
113090         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
113092         Module dirfd.
113093         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
113094         requirements.
113096         Module euidaccess.
113097         * m4/euidaccess.m4: New file.
113099         Module file-type.
113100         * m4/file-type.m4: New file.
113102         Module fileblocks.
113103         * m4/fileblocks.m4: New file.
113105         Module filemode.
113106         * m4/filemode.m4: New file.
113108         Module isdir.
113109         * m4/isdir.m4: New file.
113111         Module lchown.
113112         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
113113         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
113115         Module makepath.
113116         * m4/makepath.m4: New file.
113118         Module modechange.
113119         * m4/modechange.m4: New file.
113121         Module mountlist.
113122         * m4/mountlist.m4: New file.
113123         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
113124         Indentation.
113126         Module path-concat.
113127         * m4/path-concat.m4: New file.
113129         Module pathmax.
113130         * m4/pathmax.m4: New file.
113132         Module same.
113133         * m4/same.m4: New file.
113135         Module save-cwd.
113136         * m4/save-cwd.m4: New file.
113138         Module savedir.
113139         * m4/savedir.m4: New file.
113141         Module xgetcwd.
113142         * m4/xgetcwd.m4: New file.
113143         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
113145         Module xreadlink.
113146         * m4/xreadlink.m4: New file.
113148         Module safe-read.
113149         * m4/safe-read.m4: New file.
113151         Module safe-write.
113152         * m4/safe-write.m4: New file.
113154         Module closeout.
113155         * m4/closeout.m4: New file.
113157         Module stdio-safer.
113158         * m4/stdio-safer.m4: New file.
113160         Module getpass.
113161         * m4/getpass.m4: New file.
113163         Module getugroups.
113164         * m4/getugroups.m4: New file.
113166         Module group-member.
113167         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
113168         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
113170         Module idcache.
113171         * m4/idcache.m4: New file.
113173         Module userspec.
113174         * m4/userspec.m4: New file.
113176         Module gettime.
113177         * m4/clock_time.m4: New file.
113178         * m4/gettime.m4: New file.
113180         Module settime.
113181         * m4/settime.m4: New file.
113183         Module posixtm.
113184         * m4/posixtm.m4: New file.
113186         Module gethostname.
113187         * m4/gethostname.m4: New file.
113189         Module canon-host.
113190         * m4/canon-host.m4: New file.
113192         Module gettext.
113193         * m4/codeset.m4: New file, from gettext-0.11.5.
113194         * m4/gettext.m4: New file, from gettext-0.11.5.
113195         * m4/glibc21.m4: New file, from gettext-0.11.5.
113196         * m4/iconv.m4: New file, from gettext-0.11.5.
113197         * m4/intdiv0.m4: New file, from gettext-0.11.5.
113198         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
113199         * m4/inttypes.m4: New file, from gettext-0.11.5.
113200         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
113201         * m4/isc-posix.m4: New file, from gettext-0.11.5.
113202         * m4/lcmessage.m4: New file, from gettext-0.11.5.
113203         * m4/lib-ld.m4: New file, from gettext-0.11.5.
113204         * m4/lib-link.m4: New file, from gettext-0.11.5.
113205         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
113206         * m4/progtest.m4: New file, from gettext-0.11.5.
113207         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
113208         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
113209         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
113211         Module localcharset.
113212         * m4/localcharset.m4: New file.
113214         Module hard-locale.
113215         * m4/hard-locale.m4: New file.
113217         Module mbswidth.
113218         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
113219         onceonly macros.
113220         * m4/mbrtowc.m4: Add comment.
113222         Module memcasecmp.
113223         * m4/memcasecmp.m4: New file.
113225         Module memcoll.
113226         * m4/memcoll.m4: New file.
113228         Module unicodeio.
113229         * m4/unicodeio.m4: New file.
113231         Module rpmatch.
113232         * m4/rpmatch.m4: New file.
113234         Module yesno.
113235         * m4/yesno.m4: New file.
113237         Module exitfail.
113238         * m4/exitfail.m4: New file.
113240         Module c-stack.
113241         * m4/c-stack.m4 (gl_C_STACK): New macro.
113242         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
113244         Module error.
113245         * m4/error.m4 (gl_ERROR): New macro.
113246         (jm_PREREQ_ERROR): Use onceonly macros.
113248         Module fatal.
113249         * m4/fatal.m4: New file.
113251         Module getloadavg.
113252         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
113253         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
113255         Module getpagesize.
113256         * m4/getpagesize.m4: New file.
113258         Module getusershell.
113259         * m4/getusershell.m4: New file.
113261         Module physmem.
113262         * m4/physmem.m4: New file.
113264         Module posixver.
113265         * m4/posixver.m4: New file.
113267         Module quotearg.
113268         * m4/quotearg.m4: New file.
113270         Module quote.
113271         * m4/quote.m4: New file.
113273         Module readutmp.
113274         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
113276         Module sig2str.
113277         * m4/sig2str.m4: New file.
113279         Other.
113280         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
113281         ulonglong.m4.
113282         * m4/intmax_t.m4: New file.
113283         * m4/d-type.m4: Indentation.
113284         * m4/jm-macros.m4: Update.
113285         * m4/prereq.m4 (jm_PREREQ): Update.
113286         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
113287         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
113288         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
113289         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
113290         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
113291         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
113292         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
113293         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
113294         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
113295         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
113296         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
113297         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
113298         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
113299         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
113300         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
113301         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
113302         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
113303         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
113304         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
113306 2002-12-24  Bruno Haible  <bruno@clisp.org>
113308         * MODULES.txt: Update according to m4/ changes.
113310         Module gettext.
113311         * config.rpath: New file, from gettext-0.11.5.
113313         * modules/*: New module descriptions.
113314         * gnulib-tool: New file.
113315         * MODULES.html.sh: New file.
113317 2002-12-21  Karl Berry  <karl@gnu.org>
113319         * doc/fdl.texi: update to version 1.2.
113321 2002-12-19  Karl Berry  <karl@gnu.org>
113323         * config/config.guess: update from prep.
113325 2002-12-18  Bruno Haible  <bruno@clisp.org>
113327         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
113328         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
113330 2002-12-17  Bruno Haible  <bruno@clisp.org>
113332         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
113333         stdlib.h, string.h.
113335 2002-12-17  Bruno Haible  <bruno@clisp.org>
113337         * lib/canon-host.c (strdup): Remove unused declaration.
113339         * lib/fsusage.c: Include full_read.h.
113340         (get_fs_usage): Use full_read instead of safe_read.
113342         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
113344 2002-12-12  Karl Berry  <karl@gnu.org>
113346         * config/config.guess: update from prep.
113348 2002-12-11  Bruno Haible  <bruno@clisp.org>
113350         * m4/setenv.m4: New file, from gettext-0.11.5.
113352 2002-12-11  Bruno Haible  <bruno@clisp.org>
113354         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
113355         not unsetenv().
113356         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
113357         modifications:
113359         2002-12-11  Bruno Haible  <bruno@clisp.org>
113361                 * setenv.c (alloca): Fall back to malloc.
113362                 (freea): New macro.
113363                 (setenv): Use freea() to free memory allocated with alloca().
113365         2002-11-13  Bruno Haible  <bruno@clisp.org>
113367                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
113368                 function declarations.
113369                 * unsetenv.c (unsetenv): Likewise.
113371         2002-03-04  Bruno Haible  <bruno@clisp.org>
113373                 Portability to AIX 4.3.3.
113374                 * unsetenv.c: New file, extracted from setenv.c.
113375                 * setenv.c: Move the unsetenv() function to unsetenv.c.
113377         2001-12-20  Bruno Haible  <bruno@clisp.org>
113379                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
113380                 use malloc instead. For SunOS 4.
113382         2001-12-11  Bruno Haible  <bruno@clisp.org>
113384                 * setenv.c: Declare alloca.
113385                 (compar_fn_t): New typedef.
113386                 (KNOWN_VALUE, STORE_VALUE): Use it.
113388         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
113389         setenv.h.
113391 2002-12-10  Paul Eggert  <eggert@twinsun.com>
113393         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
113394         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
113395         Choose values that are less likely to collide with system fnmatch
113396         options.
113397         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
113398         defined (e.g., a pure POSIX system).
113399         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
113400         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
113402 2002-12-06  Paul Eggert  <eggert@twinsun.com>
113404         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
113405         a pain in practice to deal with generated m4 files.  This change
113406         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
113408         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
113409         and jm-glibc-io.m4, as they are no longer a special case.
113410         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
113411         kludge and the auto-generation stuff.  Check only whether the
113412         functions are declared, not whether they exist, since older hosts
113413         that don't declare the functions can't use the optimization anyway.
113415 2002-12-06  Jim Meyering  <jim@meyering.net>
113417         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
113419         Merge in changes from libc's misc/error.c, in preparation
113420         for the merge of gnulib's changes back into libc.
113422         * lib/error.c (_): Define only if not already defined.
113423         Move definition to follow all #include directives.
113424         Include unlocked-io.h only if !_LIBC.
113425         [_LIBC]: Include <libio/libioP.h>.
113426         [USE_IN_LIBIO]: Include <libio/iolibio.h>
113427         (fflush): Tweak definition to use INTUSE.
113428         (putc): Define.
113430 2002-12-05  Paul Eggert  <eggert@twinsun.com>
113432         * lib/alloca.c [defined emacs]: Include "lisp.h".
113433         (xalloc_die) [defined emacs]: New macro.
113434         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
113435         [! defined emacs]: Include <xalloc.h>.
113436         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
113437         (pointer): Typedef to POINTER_TYPE *.
113438         (malloc): Remove decl; we now always use xmalloc.
113439         (alloca): Use old-style definition, since Emacs needs this.
113440         Check for arithmetic overflow when computing combined size.
113442 2002-12-04  Paul Eggert  <eggert@twinsun.com>
113444         Do not generate unlocked-io.h automatically, since it's easier to
113445         maintain it by hand.
113447         * lib/unlocked-io.h: New file, from GNU diffutils,
113448         but with proper copyright notice and attribution.
113449         * lib/gen-uio: Remove.
113450         * lib/Makefile.am: Add copyright notice.
113451         (libfetish_a_SOURCES): Add unlocked-io.h.
113452         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
113453         (DISTCLEANFILES, io_functions): Remove macros.
113454         (EXTRA_DIST): Remove gen_uio.
113455         (unlocked-io.h): Remove rule.
113457 2002-12-04  Jim Meyering  <jim@meyering.net>
113459         Reflect the fact that stat.c and lstat.c are no longer generated.
113460         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
113461         (DISTCLEANFILES): Likewise.
113462         (EXTRA_DIST): Likewise.
113463         (all_local): Don't depend on stat.c or lstat.c.
113464         (stat.c, lstat.c): Remove rules.
113465         (EXTRA_DIST): Remove xstat.in.
113467         * lib/xstat.in: Remove file.  Contents moved into stat.c.
113468         * lib/stat.c: New file.  Contents mostly from xstat.in.
113469         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
113470         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113472         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113473         too.
113474         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113476 2002-12-03  Jim Meyering  <jim@meyering.net>
113478         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113479         but not semantics, to minimize the differences between these two files.
113480         (safe_read): Change comment to mention SAFE_READ_ERROR.
113482         * lib/safe-read.c (IS_EINTR): Define.
113483         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113485 2002-12-02  Jim Meyering  <jim@meyering.net>
113487         * lib/safe-read.c (EINTR): Define.
113488         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113489         (INT_MAX): Provide fallback.
113490         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113492         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113494 2002-12-02  Bruno Haible  <bruno@clisp.org>
113496         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113497         Define, taken from safe-read.c.
113498         (INT_MAX): Provide fallback.
113499         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113500         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113502         * lib/safe-read.c (EINTR): Remove definition.
113503         (safe_read): Don't use EINTR if it is absent.
113505 2002-12-01  Jim Meyering  <jim@meyering.net>
113507         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113508         zero.
113509         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113511 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113513         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113514         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113515         with `if (! (value < limit)) abort ();', for readability.
113517 2002-11-26  Karl Berry  <karl@gnu.org>
113519         * lib/strdup.c: copy from libc again, with jim's ok.
113520         * lib/.cppi-disable: re-add strdup.c
113522 2002-11-25  Karl Berry  <karl@gnu.org>
113524         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113525         instead of "strtol.c".
113527 2002-11-25  Karl Berry  <karl@gnu.org>
113529         * config/install-sh: update from automake for variable quoting, $0 in
113530         error msgs, etc.
113532         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113533         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113534         entry.
113536 2002-11-25  Jim Meyering  <jim@meyering.net>
113538         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113540 2002-11-24  Karl Berry  <karl@gnu.org>
113542         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113543         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113545 2002-11-24  Jim Meyering  <jim@meyering.net>
113547         Update from coreutils:
113549         * lib/mktime.c: Merge in changes from libc.
113551         Avoid a link-time failure on some Linux systems.
113552         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113553         (otherwise).
113554         (__mon_yday): Declare with the STATIC attribute.
113555         (__mktime_internal): Likewise.
113556         Based on a report from Greg Schafer.
113558 2002-11-23  Jim Meyering  <jim@meyering.net>
113560         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113561         Use `unsigned', not `int', as type of index.
113563         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113565         * lib/fsusage.c: Remove unneeded parentheses around operands of
113566         `defined'.
113568 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113570         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113571         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113572         so that we can be included first.
113573         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113574         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113575         No need to include stddef.h or sys/types.h any more.
113576         Surround local include files with "", not "<>".
113577         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113578         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113579         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113580         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113581         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113582         (ISPRINT): Remove; no longer needed now that we assume C89.
113584         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113585         Preserve errno.
113587         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113588         quotearg_char): Use SIZE_MAX rather than
113589         (size_t) -1 when we are talking about "infinity".
113591         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113593 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113595         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113596         hint that one should use `if (! x) abort ();' rather than `assert
113597         (x);', and anyway it's one less thing to worry about configuring.
113598         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113599         hash_rehash, hash_insert): Use abort rather than assert.
113601 2002-11-22  Bruno Haible  <bruno@clisp.org>
113603         * lib/safe-read.h: Assume C89. Add comments.
113604         (safe_read): Change return type to size_t.
113605         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113606         byte counts > SSIZE_MAX correctly.
113607         * lib/safe-write.h: New file.
113608         * lib/safe-write.c: New file.
113609         * lib/full-read.h: New file.
113610         * lib/full-read.c: New file.
113611         * lib/full-write.h: Assume C89. Add comments.
113612         * lib/full-write.c: Include safe-write.h.
113613         (full_write): Rewritten to use safe_write.
113614         Suggested by Jim Meyering and Paul Eggert.
113616 2002-11-21  Jim Meyering  <jim@meyering.net>
113618         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113620         Merge in changes from the coreutils.
113622         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113623         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113624         <stdint.h>.
113625         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113626         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113627         int.  Work more efficiently if X is the same width as uintmax_t.
113628         Do not compare X to -1, to avoid bogus compiler warning.
113629         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113630         Don't assume that f_frsize and f_bsize are the same type.
113632         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113633         warning on FreeBSD.
113635         * lib/makepath.c (make_path): Restore umask *before* creating the final
113636         component.
113637         (make_path): Minor reformatting.
113639         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113640         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113641         HAVE_MALLOC/HAVE_REALLOC.
113643         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113644         dummy ones.  At least on GNU/Linux systems, `auto' means something
113645         else.
113646         From Michael Stone.
113648 2002-11-21  Bruno Haible  <bruno@clisp.org>
113650         Remove case insensitive option matching.
113651         * lib/argmatch.h (argcasematch): Remove declaration.
113652         (ARGCASEMATCH): Remove macro.
113653         (__xargmatch_internal): Remove case_sensitive argument.
113654         (XARGMATCH): Update.
113655         (XARGCASEMATCH): Remove macro.
113656         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113657         case_sensitive argument.
113658         (argcasematch): Remove function.
113659         (__xargmatch_internal): Remove case_sensitive argument.
113660         (main): Use XARGMATCH instead of XARGCASEMATCH.
113662         * lib/xmalloc.c: Change compile-time error message. Add comment about
113663         required autoconf version.
113665 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113667         Merge argmatch cleanups from Bison.  Assume C89.
113669         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113670         Include stdlib.h, for EXIT_FAILURE.
113671         Always include <string.h>, since we assume C89.
113672         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113673         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113674         Include <stddef.h> instead, since it's all we need for size_t.
113675         (PARAMS): Remove.  All uses removed.
113676         (ARRAY_CARDINALITY): Do not bother to #undef.
113677         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113678         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113679         Remove unnecessary parentheses.
113680         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113681         Insert necessary parentheses.
113682         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113683         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113685 2002-11-19  Bruno Haible  <bruno@clisp.org>
113687         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113688         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113690         * lib/mbswidth.h (PARAMS): Remove macro.
113691         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113692         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113694         * lib/gcd.h (PARAMS): Remove macro.
113695         (gcd): Use ANSI C function declarations.
113696         * lib/gcd.c (gcd): Likewise.
113698 2002-11-15  Bruno Haible  <bruno@clisp.org>
113700         * lib/strcspn.c: Include <stddef.h>.
113701         (strcspn): Use ANSI C function declaration. Change return type to
113702         size_t. Use NULL.
113703         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113704         (strpbrk): Use NULL.
113705         * lib/strpbrk.h (PARAMS): Remove macro.
113706         (strpbrk): Use ANSI C function declaration.
113707         * lib/strstr.c: Don't include <sys/types.h>.
113708         * lib/strstr.h (PARAMS): Remove macro.
113709         (strstr): Use ANSI C function declarations.
113711 2002-11-14  Karl Berry  <karl@gnu.org>
113713         * config/mkinstalldirs: `do' on separate line, instead of
113714         `for var; do'.
113716 2002-11-06  Bruno Haible  <bruno@clisp.org>
113718         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113719         * lib/gcd.c (gcd): Likewise.
113721 2002-11-05  Bruno Haible  <bruno@clisp.org>
113723         * lib/gcd.h: New file, from gettext-0.11.5.
113724         * lib/gcd.c: New file, from gettext-0.11.5.
113726 2002-11-05  Bruno Haible  <bruno@clisp.org>
113728         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113729         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113730         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113731         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113733         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113734         <libintl.h>.
113735         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113736         <libintl.h>.
113738         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113739         * lib/human.c: Include gettext.h instead of <libintl.h>.
113740         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113741         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113742         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113743         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113744         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113745         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113746         (textdomain): Remove definition.
113747         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113749         * lib/long-options.c: Remove include of <libintl.h> and definition of
113750         _.
113751         * lib/same.c: Remove include of <libintl.h> and definition of _.
113753 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113755         * lib/config.charset: A few additions for Solaris.
113757 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113759         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113760         * lib/localcharset.c (locale_charset): Declare as extern "C".
113762 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113764         * lib/config.charset: msdos in uk_UA uses CP1125.
113766 2002-11-04  Bruno Haible  <bruno@clisp.org>
113768         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113769         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113770         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113771         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113772         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113774 2002-11-04  Bruno Haible  <bruno@clisp.org>
113776         * lib/localcharset.c (locale_charset): Don't return an empty string.
113778 2002-11-04  Bruno Haible  <bruno@clisp.org>
113780         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113781         aliases.
113783 2002-11-04  Bruno Haible  <bruno@clisp.org>
113785         * lib/config.charset: Update for newest glibc. Add canonical names
113786         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113788 2002-11-04  Bruno Haible  <bruno@clisp.org>
113790         * lib/config.charset: Add support for NetBSD.
113792 2002-11-04  Bruno Haible  <bruno@clisp.org>
113794         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113796 2002-11-01  Bruno Haible  <bruno@clisp.org>
113798         * configure.in: Add AC_CONFIG_AUX_DIR call.
113799         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113800         test/Makefile.
113801         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113803 2002-09-28  Karl Berry  <karl@gnu.org>
113805         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113806         installed automake until the next release, since changes have been
113807         made.
113809 2002-09-25  Karl Berry  <karl@gnu.org>
113811         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113812         * lib/getopt*: copy from libc/posix.
113813         * lib/gettext.h: copy from gettext.
113814         * lib/.cppi-disable: add strdup.c, gettext.h.
113816 2002-09-25  Karl Berry  <karl@gnu.org>
113818         * config/srclist.txt: enable gettext.h check.
113819         * config/config.{guess,sub}: update from prep.
113820         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113821                 from automake 1.6.3.
113822         See srclist*.
113824 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113826         * regex.c (PATFETCH): Remove the translating fetch.
113827         (PATFETCH_RAW): Rename to PATFETCH.
113828         (set_image_of_range): New fun.
113829         (SET_RANGE_TABLE_WORK_AREA): Use it.
113830         (regex_compile): Don't translate the pattern chars so eagerly.
113831         Only do it when inserting an `exactn' bytecode or when handling
113832         a char-range.
113833         (mutually_exclusive_p): Avoid empty statement.
113835 2002-07-06  Jim Meyering  <meyering@lucent.com>
113837         * m4/README: Don't mention Makefile.am.in.
113838         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113840 2002-07-01  Jim Meyering  <meyering@lucent.com>
113842         * lib/c-stack.c: Include sys/time.h.
113843         From Volker Borchert.
113845 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113847         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113849 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113851         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113852         New macro.  Use it uniformly instead of
113853         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113854         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113855         reported by Vin Shelton.
113857 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113859         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113860         Do not assume SA_SIGINFO behavior.
113861         Bug reported by Jim Meyering on NetBSD 1.5.2.
113863 2002-06-22  Jim Meyering  <meyering@lucent.com>
113865         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113866         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113868         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113869         now that configure.ac uses AC_GNU_SOURCE.
113870         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113871         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113873         Update to latest tools.  Suggestions from Paul Eggert.
113874         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113875         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113876         * m4/fnmatch.m4: Likewise.
113877         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113878         to AC_HEADER_STDBOOL
113880 2002-06-22  Jim Meyering  <meyering@lucent.com>
113882         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113883         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113885 2002-06-22  Jim Meyering  <meyering@lucent.com>
113887         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113889         * lib/exitfail.c, exitfail.h: Likewise.
113890         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113892         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113893         of fnmatch.h.
113894         (EXTRA_DIST): Add fnmatch_loop.c.
113895         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113897         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113898         * lib/fnmatch.c: Update from diffutils-2.8.2.
113899         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113900         * lib/fnmatch.h: Remove file.
113902 2002-06-21  Jim Meyering  <meyering@lucent.com>
113904         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113905         * m4/mbrtowc.m4: Likewise.
113907         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113908         * m4/mbswidth.m4: Reflect name change:
113909         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113910         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113912         * m4/lib-link.m4: Update from gettext-0.11.2.
113913         * m4/gettext.m4: Likewise.
113915         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113916         From Alfred M. Szmidt.
113918 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113920         * lib/file-type.h: Report an error if neither S_ISREG nor
113921         S_IFREG is defined, instead of using a test specific to glibc
113922         2.2.  This should be safe, since POSIX requires S_ISREG and
113923         Unix Version 7 had S_IFREG.  We don't need to check for
113924         <sys/types.h> since we don't use any symbols that it defines.
113926 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113928         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113929         $@-t, so that each temporary file name is unique and valid in the first
113930         8 characters, for operation under DOS.
113932 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113934         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113936 2002-06-15  Jim Meyering  <meyering@lucent.com>
113938         Work even with DJGPP 2.03, which lacks support for symlinks.
113939         From Richard Dawe.
113940         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113941         is defined.
113942         * lib/lchown.c (S_ISLNK): Likewise.
113944 2002-06-15  Jim Meyering  <meyering@lucent.com>
113946         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113947         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113948         have been included before this file.
113950 2002-06-14  Jim Meyering  <meyering@lucent.com>
113952         * lib/file-type.h: Use the version from diffutils-2.8.2.
113953         * lib/file-type.c: Likewise.
113955 2002-06-07  Jim Meyering  <meyering@lucent.com>
113957         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113958         They're needed at least for NetBSD 1.5.2.
113959         ($statxfs_includes): Include those same headers.
113960         ($statxfs_includes): Include sys/vfs.h if available.
113961         ($statxfs_includes): Likewise for sys/statvfs.h.
113962         Check for the following members in both structs statfs and statvfs:
113963         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113965 2002-06-01  Jim Meyering  <meyering@lucent.com>
113967         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113968         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113970 2002-05-28  Jim Meyering  <meyering@lucent.com>
113972         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113973         Reported by Volker Borchert.
113975 2002-05-27  Jim Meyering  <meyering@lucent.com>
113977         Fix a problem seen only on nonconforming systems whereby ls.c's
113978         use of localtime, and then of gettimeofday would cause trouble:
113979         the localtime call used to initialize rpl_gettimeofday's save
113980         mechanism would clobber ls's current local time information so
113981         that in any long listing the first file would always be listed
113982         with date 1970-01-01.  Analysis by Volker Borchert.
113984         * lib/gettimeofday.c (localtime): Undefine.
113985         (rpl_localtime): New function.
113987 2002-05-27  Jim Meyering  <meyering@lucent.com>
113989         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113990         localtime.
113992         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113993         use the replacement function; it wouldn't resolve at link time.
113994         Reported by Volker Borchert.
113996 2002-05-22  Jim Meyering  <meyering@lucent.com>
113998         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113999         file-type.h.
114000         * lib/file-type.h: New file.
114001         * lib/file-type.c (file_type): New file/function.  Extracted from
114002         diffutils.
114004 2002-04-30  Jim Meyering  <meyering@lucent.com>
114006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
114008 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114010         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
114012 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114014         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
114015         Do not check for alloca.h (no longer used) or stdbool.h (was never
114016         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
114018 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114020         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
114022 2002-04-29  Jim Meyering  <meyering@lucent.com>
114024         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
114025         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
114026         Use AC_FUNC_STRNLEN here instead.
114028         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
114029         With autoconf-2.53a, it's part of AC_PROG_CC.
114031 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114033         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
114034         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
114036 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114038         * lib/sig2str.h, lib/sig2str.c: New files.
114039         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
114041 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114043         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
114044         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
114045         of 127, since 64 is the largest conceivable number for ancient
114046         nonstandard hosts.
114047         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
114049 2002-04-28  Jim Meyering  <meyering@lucent.com>
114051         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
114053 2002-04-24  Jim Meyering  <meyering@lucent.com>
114055         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
114056         (jm_PREREQ): Use it.
114058         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
114059         mach/mach.h fcntl.h.
114060         Check for this function: setlocale.
114062 2002-04-24  Jim Meyering  <meyering@lucent.com>
114064         * lib/gettext.h: New file, from Gettext.
114065         * lib/Makefile.am (INCLUDES): Remove -I../intl.
114066         (libfetish_a_SOURCES): Add gettext.h.
114068 2002-04-16  Jim Meyering  <meyering@lucent.com>
114070         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
114071         ut_pid, ut_id, ut_exit.
114073 2002-04-16  Jim Meyering  <meyering@lucent.com>
114075         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
114076         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
114077         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
114079 2002-04-12  Jim Meyering  <meyering@lucent.com>
114081         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
114082         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
114083         existence of the getmntinfo function.  Needed for Darwin 5.3.
114085         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
114086         This is necessary at least on Darwin 5.3.
114088         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
114089         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
114090         strnlen.o in the library, and that makes some versions of ranlib
114091         object.
114093 2002-04-12  Jim Meyering  <meyering@lucent.com>
114095         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
114097 2002-04-09  Jim Meyering  <meyering@lucent.com>
114099         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
114100         to be more precise.  Rather than saying we're checking whether the
114101         function `works', say what we're testing.
114102         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
114103         Reported by Bruno Haible.
114105 2002-03-10  Jim Meyering  <meyering@lucent.com>
114107         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
114108         Suggestion from Santiago Vila.
114110 2002-03-08  Jim Meyering  <meyering@lucent.com>
114112         * lib/rename.c: Mention that this wrapper is needed also on
114113         mips-dec-ultrix4.4 systems.
114115 2002-03-02  Jim Meyering  <meyering@lucent.com>
114117         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
114118         not HAVE_CLOCK_SETTIME.
114120 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114122         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
114123         Check for clock_settime.
114125 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114127         * lib/nanosleep.h: Rename to....
114128         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
114130         * lib/gettime.c: New file.
114131         * lib/settime.c: New file.
114132         * lib/stime.c: Remove.
114134         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
114135         timespec.h.  Remove nanosleep.h.
114137 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114139         * m4/acl.m4: New file.
114140         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
114141         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
114143 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114145         * lib/acl.c, lib/acl.h: New files.
114146         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
114148 2002-02-24  Jim Meyering  <meyering@lucent.com>
114150         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
114151         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
114152         cause trouble.  Reported by Nelson Beebe.
114154 2002-02-23  Paul Eggert  <eggert@twinsun.com>
114156         * lib/path-concat.c (xpath_concat): Reorder code to pacify
114157         compilers that don't know that xalloc_die never returns.
114159 2002-02-20  Jim Meyering  <meyering@lucent.com>
114161         * lib/getdate.c: Regenerate using bison-1.33.
114163 2002-02-17  Jim Meyering  <meyering@lucent.com>
114165         * config/config.guess (main): Don't use `head -1'; it's no longer
114166         portable. Use `sed 1q' instead.
114168 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
114170         * m4/codeset.m4: Upgrade to gettext-0.11.
114171         * m4/gettext.m4: Upgrade to gettext-0.11.
114172         * m4/glibc21.m4: Upgrade to gettext-0.11.
114173         * m4/iconv.m4: Upgrade to gettext-0.11.
114174         * m4/isc-posix.m4: Upgrade to gettext-0.11.
114175         * m4/lcmessage.m4: Upgrade to gettext-0.11.
114176         * m4/lib-ld.m4: New file, from gettext-0.11.
114177         * m4/lib-link.m4: New file, from gettext-0.11.
114178         * m4/lib-prefix.m4: New file, from gettext-0.11.
114179         * m4/progtest.m4: Upgrade to gettext-0.11.
114181 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114183         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
114184         (jm_PREREQ): Use it.
114186 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114188         * lib/posixver.c, lib/posixver.h: New files.
114189         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114191 2002-02-02  Paul Eggert  <eggert@twinsun.com>
114192             Bruno Haible  <bruno@clisp.org>
114194         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
114195         (fwrite_success_callback): New declaration.
114196         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
114197         print_unicode_char. Call failure callback instead of error.
114198         (fwrite_success_callback): New function.
114199         (exit_failure_callback): New function.
114200         (fallback_failure_callback): New function.
114201         (print_unicode_char): Call unicode_to_mb.
114203 2002-01-26  Jim Meyering  <meyering@lucent.com>
114205         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
114206         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
114208 2002-01-26  Jim Meyering  <meyering@lucent.com>
114210         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
114212 2002-01-22  Paul Eggert  <eggert@twinsun.com>
114214         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
114216 2002-01-22  Jim Meyering  <meyering@lucent.com>
114218         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
114219         Otherwise, some versions of automake would omit the rule that makes
114220         Makefile from Makefile.in.
114222 2002-01-21  Paul Eggert  <eggert@twinsun.com>
114224         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
114225         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114226         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
114227         (memcoll): Set errno to zero if there is no error.
114229         * lib/quotearg.c (quotearg_buffer_restyled):
114230         Fix bug with quoting buffers containing NUL when backslashing escapes.
114231         This bug was exposed by the other changes in this patch.
114232         (quotearg_n_options): New arg ARGSIZE.
114233         All callers changed.
114234         (quoting_options_from_style): New function.
114235         (quotearg_n_style): Use it.
114236         (quotearg_n_style_mem): New function.
114238         * lib/quotearg.h (quotearg_n_style_mem): New function.
114240 2002-01-19  Jim Meyering  <meyering@lucent.com>
114242         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
114243         Remove useless quotes: DF_PROG="df".
114244         * m4/strnlen.m4: New file.
114246 2002-01-16  Paul Eggert  <eggert@twinsun.com>
114248         * lib/backupfile.c (ISDIGIT): Comment fix.
114249         * lib/getdate.y (ISDIGIT): Likewise.
114250         * lib/posixtm.c (ISDIGIT, year): Likewise.
114251         * lib/strverscmp.c (ISDIGIT): Likewise.
114252         * lib/userspec.c (ISDIGIT): Likewise.
114254 2002-01-16  Jim Meyering  <meyering@lucent.com>
114256         * lib/getdate.y: Add three semicolons, each just before a closing
114257         brace. Bison (as of version 1.31) no longer papers over that mistake.
114259 2002-01-05  Jim Meyering  <meyering@lucent.com>
114261         * lib/version-etc.c (version_etc_copyright): Update copyright year.
114263 2001-12-19  Paul Eggert  <eggert@twinsun.com>
114265         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
114266         not silently exit merely because the output buffer happens to
114267         have nothing pending.
114269 2001-12-18  Paul Eggert  <eggert@twinsun.com>
114271         See the big note in ../ChangeLog.
114272         * lib/human.c (suffixes): Prefer K to k for 1024.
114273         (generate_suffix_backwards): New function.
114274         (human_readable_inexact): Use it.
114275         * lib/xstrtol.c (__xstrtol): If there is no number but there
114276         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
114277         Accept 'K' as well as 'k'.
114279 2001-12-15  Jim Meyering  <meyering@lucent.com>
114281         * lib/regex.h (__restrict_arr): Update from libc.
114283         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
114284         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
114285         (STREQ): Define.
114287 2001-12-14  Jim Meyering  <meyering@lucent.com>
114289         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
114290         Suggestion from Bruno Haible.
114292 2001-12-10  Jim Meyering  <meyering@lucent.com>
114294         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
114295         xrealloc, Instead, include "xalloc.h".
114296         (initbuffer): Don't cast xmalloc return value to char*.
114297         (readline): Reword comment.
114298         Don't cast xrealloc return value to char*
114299         Return NULL, not 0.
114301 2001-12-09  Jim Meyering  <meyering@lucent.com>
114303         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
114304         about `signed and unsigned type in conditional expression'.
114305         * lib/posixtm.c (posix_time_parse): Likewise.
114307         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
114309         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
114310         to avoid a pedantic warning.
114312         * lib/getstr.c: Don't include assert.h.
114313         (getstr): Remove warning-evoking assertions.
114314         Return -1 if offset parameter is out of bounds.
114315         Change the type of a local from int to size_t.
114317         * lib/strftime.c (my_strftime_localtime_r): Include this function
114318         definition in the `#if ! HAVE_TM_GMTOFF' block.
114320         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
114321         Include xalloc.h instead.
114323 2001-12-02  Jim Meyering  <meyering@lucent.com>
114325         * lib/tempname.c: Don't declare getenv, thus reverting the change of
114326         2001-11-18.  It's no longer necessary, now that stdlib.h is always
114327         included.
114329         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
114330         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
114332 2001-11-30  Akim Demaille  <akim@epita.fr>
114334         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
114335         before being defined.
114337 2001-11-27  Paul Eggert  <eggert@twinsun.com>
114339         * lib/quotearg.h (quotearg_n, quotearg_n_style):
114340         First arg is int, not unsigned.
114341         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
114342         (SIZE_MAX, UINT_MAX): New macros.
114343         (quotearg_n_options): Abort if N is negative.
114344         Avoid overflow check on hosts where size_t is 64 bits and int
114345         is 32 bits, as overflow is impossible there.
114346         Fix off-by-one typo that caused unnecessary reallocation.
114348 2001-11-27  Jim Meyering  <meyering@lucent.com>
114350         * lib/tempname.c: Merge with version from libc.
114351         * lib/regex.c: Likewise.
114353         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
114354         systems for which STDC_HEADERS is 0, it was not included, resulting in
114355         a warning about an integer-to-pointer conversion problem with getenv.
114356         Reported by Volker Borchert.
114358 2001-11-26  Jim Meyering  <meyering@lucent.com>
114360         * lib/gtod.h: Remove file.
114361         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
114362         * lib/gettimeofday.c: Don't include gtod.h.
114363         (GTOD_init): Remove function.
114364         (rpl_gettimeofday): Do its job here instead, rather than aborting.
114365         Suggestion from Volker Borchert.
114367 2001-11-23  Jim Meyering  <meyering@lucent.com>
114369         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
114370         it.
114371         * lib/hash.c (struct hash_table): Define it here instead.
114373 2001-11-22  Jim Meyering  <meyering@lucent.com>
114375         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
114377 2001-11-20  Jim Meyering  <meyering@lucent.com>
114379         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
114380         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
114382 2001-11-19  Jim Meyering  <meyering@lucent.com>
114384         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
114385         directory.  Use "conftestXXXXXX" as the template.
114386         Suggestion from Paul Eggert.
114388         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
114389         immediately, so the test doesn't mistakenly hit the max-open-files
114390         limit.
114392 2001-11-18  Paul Eggert  <eggert@twinsun.com>
114394         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
114395         (TEMPORARIES): New macro.
114396         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
114397         removes an artificial limitation (e.g. HP-UX 10.20, where
114398         TMP_MAX is 17576).
114400 2001-11-18  Jim Meyering  <meyering@lucent.com>
114402         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
114404 2001-11-18  Jim Meyering  <meyering@lucent.com>
114406         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
114407         on SunOS 4.
114409         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
114410         files will be created before anything else.
114412 2001-11-17  Paul Eggert  <eggert@twinsun.com>
114414         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
114415         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
114417 2001-11-17  Jim Meyering  <meyering@lucent.com>
114419         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
114420         Prompted by a report from Bob Proulx.
114422         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
114423         Instead, require UTILS_FUNC_MKSTEMP.
114425 2001-11-17  Jim Meyering  <meyering@lucent.com>
114427         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
114428         Now, that's done as part of AC_FUNC_STRTOD.
114430 2001-11-17  Jim Meyering  <meyering@lucent.com>
114432         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
114433         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
114434         rather than group writable.  Patch by Juan F. Codagnone.
114436         * lib/readtokens.c: Remove explicit declarations of xmalloc and
114437         xrealloc, Instead, include "xalloc.h".
114439         * lib/mountlist.c: Include unlocked-io.h after all system headers.
114440         Remove explicit declarations of xmalloc, xrealloc,
114441         and xstrdup.  Instead, include "xalloc.h".
114443         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
114444         unlocked-io.h.
114445         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
114446         Likewise.
114447         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
114449         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
114450         Reported by Padraig Brady.
114452         * lib/mkstemp.c: #undef mkstemp.
114453         Include config.h.
114454         (rpl_mkstemp): Rename from mkstemp.
114455         Protoize.
114457 2001-11-16  Jim Meyering  <meyering@lucent.com>
114459         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
114460         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
114461         determine the amount of total physical memory, use pstat_getstatic.
114462         HPUX-11 doesn't define _SC_PHYS_PAGES.
114463         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
114464         If sysconf couldn't be used to determine the amount of available
114465         physical memory, use both pstat_getstatic and pstat_getdynamic.
114466         Based on a patch from Bob Proulx.
114468 2001-11-10  Jim Meyering  <meyering@lucent.com>
114470         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114471         (jm_PREREQ): Use it.
114473 2001-11-09  Jim Meyering  <meyering@lucent.com>
114475         * m4/jm-macros.m4: Require autoconf-2.52f.
114476         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114477         Use these AC_-prefixed names, not the AM_-prefixed ones.
114479         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114481 2001-11-05  Jim Meyering  <meyering@lucent.com>
114483         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114485 2001-11-04  Jim Meyering  <meyering@lucent.com>
114487         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114488         $DEFS.
114490 2001-11-03  Jim Meyering  <meyering@lucent.com>
114492         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114493         of AC_DEFUN.
114495         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114496         know the name of the variable in the macro definition.
114498 2001-11-03  Jim Meyering  <meyering@lucent.com>
114500         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114501         in argmatch_to_argument call.
114503         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114504         argument.
114506         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114507         e.g., a fault due to an attempt to free a NULL pointer.
114509 2001-11-01  Jim Meyering  <meyering@lucent.com>
114511         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114512         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114514 2001-11-01  Jim Meyering  <meyering@lucent.com>
114516         * lib/dirfd.c, lib/dirfd.h: New files.
114517         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114519         * lib/hash.c (hash_print) [TESTING]: Clean up.
114521 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114523         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114524         to avoid a warning if -Wall.
114526 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114528         * README: New file
114529         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114530         (per RMS's instructions, this is now the canonical source)
114531         * lgpl/, gpl/: New directories.
114533 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114535         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114537 2001-10-21  Jim Meyering  <meyering@lucent.com>
114539         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114540         this code would end up calling gettext even in packages built
114541         with --disable-nls.
114542         * lib/getopt.c (_): Likewise.
114543         * lib/regex.c (_): Likewise.
114545 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114547         * m4/error.m4 (jm_PREREQ_ERROR):
114548         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114549         AC_FUNC_STRERROR_R does that.
114550         Check for strerror declaration.
114552         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114553         are supposed to have them these days.
114554         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114555         Merge changes from latest Autoconf CVS.
114556         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114557         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114558         POSIX decided to standardize on the int flavor of strerror_r.
114560 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114562         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114563         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114564         Use strerror_r that is only a macro, even if it is not a function.
114565         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114566         (private_strerror): Use prototypes, not old-style function definition.
114567         (print_errno_message): New function.
114568         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114569         char*-flavored one.
114570         (error_tail, error, error_at_line): Use it.
114572 2001-10-11  Jim Meyering  <meyering@lucent.com>
114574         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114575         and quote_n (1, ... to avoid clobbering a buffer.
114577 2001-10-05  Jim Meyering  <meyering@lucent.com>
114579         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114580         hash-pjw.h.
114581         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114582         * lib/hash-pjw.h: New file.
114584 2001-09-30  Jim Meyering  <meyering@lucent.com>
114586         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114587         `struct fsstat' has the `f_fstypename' member.
114588         Use that to define FS_TYPE, which is now used to make
114589         the getfsstat link test tighter.
114591 2001-09-30  Jim Meyering  <meyering@lucent.com>
114593         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114594         Include <sys/ucred.h>, for Apple Darwin.
114595         Include sys/mount.h and sys/fs_types.h only if available.
114596         (FS_TYPE): Define.
114597         (read_filesystem_list): Use FS_TYPE.
114599 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114601         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114602         a boolean context.
114604 2001-09-29  Jim Meyering  <meyering@lucent.com>
114606         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114607         [one-argument getmntent function]): Include stdio.h before mntent.h.
114608         SunOS 4.1.x needs it for the declaration of `FILE'.
114609         Patch by Volker Borchert.
114611         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114612         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114613         sys/fs_types.h, and make the link-test for getfsstat guard #include
114614         directives with appropriate #if HAVE_*_H tests so that we can
114615         detect getfsstat on Apple Darwin1.3.7 systems.
114616         Reported by Nelson Beebe.
114617         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114619 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114621         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114622         #defines strtoimax.  Also treat the other strto* functions
114623         like strtoimax.
114625         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114626         Check for strtoul and strtoumax,
114627         as those declarations are made even in the signed case.
114628         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114629         Likewise, for strtol and strtoimax.
114631 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114633         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114634         #defines strtoimax.  Also treat the other strto* functions
114635         like strtoimax.
114637         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114638         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114639         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114641 2001-09-26  Jim Meyering  <meyering@lucent.com>
114643         Most macros in unlocked-io.h had the wrong number of arguments.
114644         * lib/gen-uio: New script.
114645         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114646         * lib/unlocked-io.hin: Remove file.
114647         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114648         rather than trying to embed it here.
114649         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114650         Reported by Padraig Brady.
114652 2001-09-25  Volker Borchert  <bt@teknon.de>
114654         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114655         `result'.
114657 2001-09-24  Jim Meyering  <meyering@lucent.com>
114659         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114661 2001-09-23  Jim Meyering  <meyering@lucent.com>
114663         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114664         instead of the mere test for existence of mntent.h.  The latter
114665         would get a false-positive on AIX 3.4 systems.
114666         In the outer getmntent if-block, don't die if neither of the getmntent
114667         tests succeeds.  Instead, just fall through and continue with the
114668         remaining tests.
114670 2001-09-23  Jim Meyering  <meyering@lucent.com>
114672         * lib/mountlist.c: Remove useless parentheses in #if directives.
114673         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114674         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114676 2001-09-22  Jim Meyering  <meyering@lucent.com>
114678         * m4/gettext.m4: New file.  From gettext.
114679         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114680         * m4/progtest.m4: Likewise
114681         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114682         * m4/glibc21.m4: Likewise.
114684         * m4/libintl.m4: Remove.  No longer used.
114686 2001-09-22  Jim Meyering  <meyering@lucent.com>
114688         * lib/localcharset.c: Update from latest gettext.
114689         * lib/config.charset: Likewise.
114691 2001-09-20  Jim Meyering  <meyering@lucent.com>
114693         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114694         strtoimax.
114695         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114696         strtoumax.
114698 2001-09-20  Jim Meyering  <meyering@lucent.com>
114700         * lib/xstrtol.c (strtoimax): Guard declaration with
114701         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114702         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114703         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114704         (strtoumax): Likewise, for completeness (it wasn't necessary).
114706 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114708         * lib/strtoimax.c (HAVE_LONG_LONG):
114709         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114710         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114711         to work around bug in IBM C compiler.
114713 2001-09-17  Jim Meyering  <meyering@lucent.com>
114715         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114716         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114717         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114718         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114719         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114720         whenever the right hand side need not be expanded by the shell.
114722 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114724         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114725         library.  It's not correct, as some older glibcs are buggy.
114726         fnmatch wasn't fixed until glibc 2.2.
114728         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114729         special shell magic here.
114731 2001-09-16  Jim Meyering  <meyering@lucent.com>
114733         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114734         * m4/jm-macros.m4: Require it.
114736 2001-09-16  Jim Meyering  <meyering@lucent.com>
114738         * lib/mkdir.c: New file.
114740 2001-09-15  Jim Meyering  <meyering@lucent.com>
114742         * m4/jm-macros.m4: Check for help2man.
114744 2001-09-11  Jim Meyering  <meyering@lucent.com>
114746         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114747         The body, by Paul Eggert, was moved here from configure.in.
114748         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114750 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114752         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114753         (jm_PREREQ): Use it.
114755 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114757         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114758         Use ssize_t, not int, to store result of readlink.
114759         Check for ssize_t overflow as well as size_t overflow,
114760         as POSIX says the result of readlink is implementation-defined
114761         when ssize_t overflows.
114762         Remove unnecessary cast to char*.
114763         Use free+malloc instead of realloc, as the storage doesn't need
114764         to be preserved and it's clearer and can be more efficient that way.
114765         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114766         * lib/xreadlink.h (xreadlink): Update prototype.
114768 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114770         * lib/xgetcwd.c: Revert some of the previous change; intead,
114771         fix the HAVE_GETCWD_NULL code to behave more like the
114772         !HAVE_GETCWD_NULL code used to.
114774         Include "xalloc.h".
114775         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114776         invoke xalloc_die.
114778 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114780         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114781         sys/param.h, as pathmax.h includes them.
114783 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114785         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114786         (jm_PREREQ_XGETCWD): New macro.
114788         * m4/getcwd.m4: New file.
114790 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114792         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114793         like the HAVE_GETCWD_NULL code.
114794         Include pathmax.h if not HAVE_GETCWD.
114795         Do not include xalloc.h.
114796         (INITIAL_BUFFER_SIZE): New symbol.
114797         Do not use xmalloc / xrealloc, since the caller is responsible for
114798         handling errors.  Preserve errno around `free' during failure.
114799         Do not overrun buffer when using getwd.
114801 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114803         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114804         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114805         getcwd (NULL, 0).
114807 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114809         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114810         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114811         spotted by Jim Meyering.
114813 2001-09-03  Jim Meyering  <meyering@lucent.com>
114815         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114816         failure.
114818 2001-09-02  Jim Meyering  <meyering@lucent.com>
114820         * lib/error.c: Update from GNU libc.
114822 2001-09-01  Jim Meyering  <meyering@lucent.com>
114824         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114825         Used by df.
114827 2001-09-01  Jim Meyering  <meyering@lucent.com>
114829         * lib/xreadlink.c: New file.
114830         * lib/xreadlink.h: New file.
114831         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114832         xreadlink.h.
114834         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114835         doesn't conflict with sparc Solaris 7's definition in
114836         /usr/include/sys/int_types.h.
114838         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114839         files.
114840         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114841         and strncasecmp as r-values.  Unixware didn't have declarations.
114843 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114845         * lib/xstrtol.h: Add copyright notice.
114846         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114847         LONGINT_INVALID_SUFFIX_CHAR.
114849 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114851         * lib/xstrtol.c (strtoimax): New decl.
114853 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114855         * lib/xgetcwd.c: Don't include pathmax.h.
114856         Include stdlib.h and unistd.h if available.
114857         Include xalloc.h.
114858         (xmalloc, xstrdup, free): Remove decls.
114859         (xgetcwd): Don't assume sizes fit in unsigned.
114860         Check for overflow when computing sizes.
114861         Simplify reallocation code.
114863 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114865         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114866         a directory's st_size can have an arbitrary value, so the old
114867         usage could waste an arbitrary amount of memory.  All uses
114868         changed.
114869         * lib/savedir.h: Update prototype.
114871 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114873         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114875         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114876         old strtoimax.c.
114878         Also, make the following further changes to make this file's
114879         configuration more similar to that of strtol.c:
114880         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114881         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114882         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114883         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114884         changed to signed values.
114886         And make the following changes as well:
114887         Fix copyright notice, as 1999 was missing.
114888         (verify): New macro.
114889         (strtoimax): Check sizes at compile-time, not run-time.
114890         Prefer strtol to strtoll if both work.
114891         (main): Remove; it was not that useful and was a pain to maintain.
114893         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114895 2001-08-31  Jim Meyering  <meyering@lucent.com>
114897         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114898         Use an initial, malloc'd, buffer of length 128 rather than
114899         a statically allocated one of length 1024.
114901 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114903         Simplify code, partly by assuming autoconf 2.52 semantics.
114905         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114907         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114908         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114909         All uses removed.
114910         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114911         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114912         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114913         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114914         jm_AC_HEADER_INTTYPES_H.
114915         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114917         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114919         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114920         Quote first arg of AC_DEFUN.
114921         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114922         since they are needed to parse the include file even if we need
114923         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114924         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114925         but with opposite signedness.
114927 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114929         Merge 'exclude' changes from tar 1.13.22.
114930         This fixes one or two unlikely storage allocation overflow bugs,
114931         but doesn't change user-visible behavior otherwise.
114933 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114935         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114936         (jm_PREREQ_EXCLUDE): New macro.
114938 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114940         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114941         tm to be declared.
114943 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114945         * lib/hash.c: Remove '2001' from copyright notice.
114947 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114949         * lib/full-write.h: New file.
114950         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114951         * lib/full-write.c: Correct credits, as cccp.c no longer
114952         exists and anyway it was so heavily changed from the old cccp
114953         code as to be unrecognizable.  Include full-write.h.
114954         (full_write): Return size_t, with short writes meaning failure.
114955         All callers changed.  This fixes a bug with large buffers
114956         on 64-bit hosts.
114957         * lib/utime.c: Include full-write.h.
114959 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114961         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114962         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114963         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114964         Include if available.
114965         (<xalloc.h>): Include
114966         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114967         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114968         collide with FNM macros.
114969         (struct patopts): New struct.
114970         (struct exclude): Use it, as exclude patterns now come with options.
114971         (new_exclude): Support above changes.
114972         (new_exclude, add_exclude_file):
114973         Initial size must now be a power of two to simplify overflow checking.
114974         (free_exclude, fnmatch_no_wildcards): New function.
114975         (excluded_filename): No longer requires options arg, as the options
114976         are determined by add_exclude.  Now returns bool, not int.
114977         (excluded_filename, add_exclude):
114978         Add support for the fancy new exclusion options.
114979         (add_exclude, add_exclude_file): Now takes int options arg.
114980         Check for arithmetic overflow when computing sizes.
114981         (add_exclude_file): xrealloc might modify errno, so don't
114982         realloc until after errno might be used.
114984         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114985         New macros.
114986         (free_exclude): New decl.
114987         (add_exclude, add_exclude_file): Now takes int options arg.
114988         (excluded_filename): No longer requires options arg, as the options
114989         are determined by add_exclude.  Now returns bool, not int.
114991 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114993         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114995 2001-08-27  Jim Meyering  <meyering@lucent.com>
114997         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114999         * lib/version-etc.c (N_): Remove definition.
115000         Revert most of last change.
115001         Instead, simply don't mark the `Copyright...' string for translation.
115002         Based on advice from Paul Eggert.
115004         * lib/strtoxmax.c: Tweak comment.
115006 2001-08-26  Jim Meyering  <meyering@lucent.com>
115008         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
115010         * m4/xstrtoimax.m4: New file.
115011         * m4/xstrtoumax.m4: Add comments explaining why we
115012         AC_REPLACE_FUNCS(strtol).
115014 2001-08-26  Jim Meyering  <meyering@lucent.com>
115016         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
115017         of copyright with `%s' so translators don't get an untranslated
115018         message in 2002.
115019         (COPYRIGHT_YEAR): Define.
115020         (version_etc): Use fprintf rather than fputs.
115021         Suggestion from Ulrich Drepper.
115023         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
115025         * lib/strtoll.c: New file, from GNU libc.
115026         * lib/xstrtoimax.c: New file.
115028         * lib/xstrtol.h: Add xstrtoimax.
115029         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
115030         * lib/strtoimax.c: New file.  Likewise, but first define
115031         STRTOUXMAX_SIGNED.
115033         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
115034         ...
115035         * lib/strtoxmax.c: ... then renamed to this.
115037 2001-08-18  Paul Eggert  <eggert@twinsun.com>
115039         * m4/inttypes.m4: Add AC_PREREQ(2.13).
115040         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
115041         (jm_AC_TYPE_INTMAX_T): New macro.
115042         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
115044         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
115046         * m4/longlong.m4: Renamed from ulonglong.m4.
115047         * m4/inttypes.m4: Renamed from inttypes_h.m4.
115048         * m4/uintmax_t.m4: Removed.
115050 2001-08-13  Paul Eggert  <eggert@twinsun.com>
115052         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
115053         Port to Solaris 8, where 'sed' requires a space after the 'r'
115054         command, and where sh dislikes "$/".  Clean up the spacing a bit.
115055         Redirect output to $tmp just once.
115057 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
115059         * lib/addext.c (<errno.h>): Include.
115060         (errno): Declare if not defined.
115061         (addext): Work correctly when pathconf returns -1 and leaves
115062         errno alone because there is no limit.  Also, work even if
115063         pathconf returns a value greater than SIZE_MAX.
115065 2001-08-12  Jim Meyering  <meyering@lucent.com>
115067         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
115068         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
115069         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
115070         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
115071         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
115072         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
115073         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
115074         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
115075         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
115076         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
115077         utime.m4, utimes.m4, xstrtoumax.m4:
115078         Quote the first argument in each use of AC_DEFUN.
115080 2001-08-12  Jim Meyering  <meyering@lucent.com>
115082         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
115083         Simply `return getcwd (NULL, 0);'.
115084         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
115085         Use 1300 as initial value for length, not PATH_MAX.
115087         * lib/pathmax.h: Clean up cpp syntax.
115089 2001-08-12  Jim Meyering  <meyering@lucent.com>
115091         * lib/gettimeofday.c: New file.
115092         * lib/gtod.h: New file.
115093         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
115095 2001-08-05  Jim Meyering  <meyering@lucent.com>
115097         * m4/jm-macros.m4: Require autoconf-2.52.
115099 2001-08-04  Jim Meyering  <meyering@lucent.com>
115101         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
115102         stmt, to get in sync with glibc.
115104 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115106         The following changes are from gettext 0.10.39 as maintained by
115107         Bruno Haible.
115109         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
115110         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
115111         with inverted sense.  All uses changed.
115113         * lib/mbswidth.c: Don't include <limits.h>.
115114         Include <stdlib.h> and <string.h> unconditionally.
115115         (iswcntrl, mbsinit, ISCNTRL): New macros.
115116         (mbsnwidth): Use K&R style function declarations.
115117         Don't bother checking for MB_LEN_MAX == 1, since the compiler
115118         can optimize it when MB_CUR_MAX == 1.
115119         The width of control characters is zero, not 1.
115121 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115123         The following changes are from gettext 0.10.39 as maintained by
115124         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
115126         * m4/codeset.m4: Upgrade to serial AM1.
115127         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
115128         all uses changed.  Quote first arg of AC_DEFUN.
115129         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
115131         * m4/iconv.m4: Upgrade to serial AM2.
115132         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
115133         Add --with-libconv-prefix.
115134         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
115135         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
115136         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
115137         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
115138         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
115140         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
115141         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
115142         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
115143         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
115144         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
115145         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
115146         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
115147         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
115148         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115150         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
115151         string.h any more.
115153         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
115154         not the default value.
115156         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
115157         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
115158         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
115159         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
115160         Also check for iswcntrl, used for wcwidth fallback.
115161         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
115162         to Autoconf 2.13.
115164 2001-08-03  Jim Meyering  <meyering@lucent.com>
115166         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
115167         as it was in the original.  Reported by Paul Eggert.
115169 2001-07-16  Jim Meyering  <meyering@lucent.com>
115171         * m4/gettimeofday.m4: New file.
115172         Prompted by a report from Bernhard Baehr.
115174 2001-07-15  Jim Meyering  <meyering@lucent.com>
115176         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
115177         stuff. Now it's in ../Makefile.cfg.
115179 2001-07-15  Jim Meyering  <meyering@lucent.com>
115181         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
115182         (BUILT_SOURCES): Add unlocked-io.h.
115183         (io_functions): Define.
115184         (unlocked-io.h): New rule.
115185         (DISTCLEANFILES): Add unlocked-io.h.
115186         (all-local): Depend on unlocked-io.h, to ensure it is created.
115188         * lib/unlocked-io.hin: New file
115190         * lib/regex.c: Update from glibc.
115192 2001-07-05  Jim Meyering  <meyering@lucent.com>
115194         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
115195         recommendation.
115196         (libfetish_a_SOURCES): Put all .h files here instead.
115197         Remove a thus-exposed (better checks in automake) duplicate and
115198         two unnecessary .h files.
115200 2001-07-04  Jim Meyering  <meyering@lucent.com>
115202         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
115203         that generates jm-glibc-io.m4 so that it doesn't trigger any make
115204         distcheck failure.
115206 2001-07-02  Jim Meyering  <meyering@lucent.com>
115208         The following changes were prompted by suggestions from Bruno Haible.
115210         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
115211         is now generated.
115212         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
115213         definition of EXTRA_DIST.
115214         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
115215         ensure that the generated file is created/updated whenever the list
115216         of $(unlocked_functions) is changed.
115217         (jm-glibc-io.m4): New rule.
115218         (unlocked-io.h): New rule -- currently unused.
115220 2001-06-24  Jim Meyering  <meyering@lucent.com>
115222         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
115223         unmatched right bracket, rather than kludging it with an extra,
115224         falsely-matching quote in a comment.  Patch by Akim Demaille.
115226 2001-06-11  Jim Meyering  <meyering@lucent.com>
115228         * lib/regex.c: Update from GNU libc.
115230 2001-05-27  Jim Meyering  <meyering@lucent.com>
115232         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
115233         Check for ut_type in struct utmp.
115235 2001-05-27  Jim Meyering  <meyering@lucent.com>
115237         * lib/readutmp.h (UT_TYPE): Define.
115239 2001-05-24  Jim Meyering  <meyering@lucent.com>
115241         * lib/argmatch.c: Include "quote.h".
115242         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
115243         quote function.  Reported by Göran Uddeborg.
115245 2001-05-22  Jim Meyering  <meyering@lucent.com>
115247         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
115248         now that we use the package-supplied version unconditionally.
115249         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
115251 2001-05-21  Jim Meyering  <meyering@lucent.com>
115253         * m4/regex.m4: Change a couple backticks to single quotes to avoid
115254         shell syntax errors.
115256 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115258         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
115260 2001-05-20  Paul Eggert  <eggert@twinsun.com>
115262         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
115263         Don't bother to check library strftime, since
115264         we'll be using our own my_strftime function anyway.
115265         Define my_strftime instead of strftime.
115267 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
115269         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
115270         which is not yet declared.
115272 2001-05-15  Jim Meyering  <meyering@lucent.com>
115274         * m4/regex.m4: Use proper quoting so brackets appear in the test
115275         program.
115276         Reported by, and with help from, Bruno Haible.
115278 2001-05-13  Jim Meyering  <meyering@lucent.com>
115280         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
115281         undefined.
115283 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115285         dirname code cleanup.  base_name now behaves more compatibly
115286         with POSIX basename when given file names that have trailing
115287         slashes, and similarly for dir_name.  Add new primitives
115288         base_len and dir_len.  Put the directory-name-related decls
115289         into dirname.h.
115291         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
115292         * lib/backupfile.c (base_name): Likewise.
115293         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
115294         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
115295         * lib/makepath.c (strip_trailing_slashes): Likewise.
115296         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
115297         ISSLASH): Likewise.
115298         * lib/rename.c (strip_trailing_slashes): Likewise.
115299         * lib/same.c (base_name): Likewise.
115300         * lib/stripslash.c (ISSLASH): Likewise.
115302         * lib/addext.c: Include <dirname.h> after size_t is defined.
115303         * lib/backupfile.c: Likewise.
115305         * lib/addext.c (addext): Use base_len to trim redundant
115306         trailing slashes instead of doing it ourselves.
115307         But do not trim the last slash if it is not redundant.
115309         * lib/backupfile.c (find_backup_file_name,
115310         max_backup_version): Use base_len instead of rolling it ourselves.
115311         Handle the case of "" and (on DOS) "C:" correctly.
115313         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
115314         needed. Include <string.h>, <dirname.h>.
115315         (base_name): Allow file names ending in slashes, other than names
115316         that are all slashes.  In this case, return the basename followed
115317         by the slashes.  This is more general, and can be used in places
115318         where the original base_name purposely had an assertion failure.
115319         (base_len): New function.
115321         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
115322         Do not include <assert.h>; no longer needed.
115323         Include xalloc.h.
115324         (memrchr): Remove decl.
115325         (dir_name_r): Remove.
115326         (dir_len): Renamed from dirlen.  All callers changed.
115327         Rewrite in terms of base_name, for simplicity and consistency.
115328         (dir_name): Never return NULL.  All callers changed.
115329         Do not include <stdlib.h> in test program; no longer needed.
115330         return 0; is fine for test program.
115332         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
115333         New macros.
115334         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
115336         * lib/path-concat.c (path_concat): Use base_len to compute
115337         base length, not strlen; this means we cannot rely on memcpy
115338         to null-terminate.
115340         * lib/same.c (STREQ): Remove.
115341         (same_name): Handle the case where the basename ends in trailing '/'.
115343         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
115344         a slash was stripped.  Do not strip the last slash after a
115345         file system prefix.
115347 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115349         * lib/Makefile.am (libfetish_a_SOURCES):
115350         Add strftime.c, since we now compile it on all hosts.
115352         * lib/strftime.c (my_strftime):
115353         Define to nstrftime if emacs, but only if my_strftime is not defined.
115354         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
115355         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
115356         Add one more extra argument: a nanoseconds value.
115357         All uses changed.
115358         (ns): New macro.
115359         (my_strftime function): Add %N format.
115360         (emacs_strftimeu): Renamed from emacs_strftime,
115361         with extra ut argument.
115363 2001-05-09  Paul Eggert  <eggert@twinsun.com>
115365         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
115367 2001-04-21  Jim Meyering  <meyering@lucent.com>
115369         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
115370         doesn't interfere.
115372 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115374         * m4/ftruncate.m4: Check for chsize.
115375         Link with ftruncate.o unconditionally if ftruncate is missing.
115376         This was required when cross-compiling to i586-mingw32msvc.
115378 2001-04-08  Jim Meyering  <meyering@lucent.com>
115380         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
115381         recomputed; that's necessary when the offset spans a DST transition.
115382         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
115384 2001-04-02  Jim Meyering  <meyering@lucent.com>
115386         * lib/regex.h, regex.c: Update from GNU libc.
115388 2001-03-24  Jim Meyering  <meyering@lucent.com>
115390         * m4/jm-macros.m4: Require autoconf-2.49d.
115392 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
115394         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
115396 2001-03-19  Paul Eggert  <eggert@twinsun.com>
115398         * lib/version-etc.c (version_etc_copyright): Update to 2001.
115400 2001-03-17  Jim Meyering  <meyering@lucent.com>
115402         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
115403         now that the version in autoconf is equivalent.
115404         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
115406         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
115407         Suggestion from Akim Demaille.
115409         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
115410         (jm_PREREQ_TEMPNAME): New function.
115412 2001-03-16  Paul Eggert  <eggert@twinsun.com>
115414         * lib/tempname.c (uint64_t): Define to uintmax_t if
115415         not defined, and if UINT64_MAX is not defined.
115416         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
115417         Reported by John David Anglin.
115419 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
115421         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
115422         resolve alias if codeset is empty.
115423         * lib/config.charset (BeOS): Use wildcard syntax.
115425 2001-03-13  Jim Meyering  <meyering@lucent.com>
115427         * lib/path-concat.c (path_concat)
115428         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
115429         concatenating e.g., `C:' and `foo'.
115430         From Bruno Haible.
115432 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115434         * lib/localcharset.c (locale_charset): Don't use
115435         setlocale(LC_CTYPE,NULL). Don't return NULL.
115436         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
115438 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115440         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
115441         support for DOS/DJGPP.
115443 2001-03-01  Paul Eggert  <eggert@twinsun.com>
115445         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
115446         lacks mkstemp.  Compile our own tempname.c if we compile our own
115447         mkstemp.c, as mkstemp relies on tempname.
115449 2001-03-01  Jim Meyering  <meyering@lucent.com>
115451         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
115452         AH_VERBATIM really does output its argument verbatim.
115454 2001-02-28  Paul Eggert  <eggert@twinsun.com>
115456         * lib/Makefile.am (libfetish_a_SOURCES):
115457         Add dup-safer.c, fopen-safer.c.
115458         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115460         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
115461         * lib/unistd-safer.h: New files.
115463 2001-02-25  Paul Eggert  <eggert@twinsun.com>
115465         The mkstemp replacement is taken from glibc 2.2.2, with some
115466         portability fixes for use outside glibc, as follows:
115468         * lib/tempname.c (struct_stat64): New macro.
115469         (direxists, __gen_tempname): Use it.
115470         This avoids a portability problem with Solaris 8.
115472         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115473         (<stddef.h>, <stdint.h>, <string.h>):
115474         Include only if STDC_HEADERS || _LIBC.
115475         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115476         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115477         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115478         (__set_errno): Define this macro if <errno.h> doesn't.
115479         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115480         Define these macros if <stdio.h> doesn't.
115481         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115482         Define these macros if <sys/stat.h>
115483         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115484         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115485         __xstat64): Define if not _LIBC.
115486         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115487         (__gen_tempname): Invoke gettimeofday only if
115488         HAVE_GETTIMEOFDAY || _LIBC;
115489         otherwise, fall back on plain "time".
115490         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115492         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115494         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115496 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115498         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115500 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115502         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115503         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115504         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115505         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115507 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115509         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115510         Remove workaround macros for hosts that have mbrtowc but not
115511         mbstate_t, as we now insist on proper declarations for both
115512         before using mbrtowc.
115514 2001-02-17  Jim Meyering  <meyering@lucent.com>
115516         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115517         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115518         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115519         UnixWare 7.1.1.
115521         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115522         rather than AC_CACHE_VAL.
115524 2001-02-17  Jim Meyering  <meyering@lucent.com>
115526         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115527         around included file name.
115529         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115531         * lib/strftime.c: Update from GNU libc (the only changes were to
115532         comments).
115534 2001-02-17  Jim Meyering  <meyering@lucent.com>
115536         * lib/regex.c: Update from libc.
115538 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115540         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115541         clash.
115543 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115545         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115546         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115547         Reported by Mark Hounschell via Paul Eggert.
115549 2001-02-07  Jim Meyering  <meyering@lucent.com>
115551         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115553 2001-02-05  Jim Meyering  <meyering@lucent.com>
115555         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115556         it includes the patch required for `large file' support with at least
115557         HP-UX's 10.20 /bin/cc.
115559 2001-02-03  Jim Meyering  <meyering@lucent.com>
115561         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115562         AS_IF, now that it works once again (mysteriously).
115563         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115565 2001-01-30  Jim Meyering  <meyering@lucent.com>
115567         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115568         * m4/chown.m4: Rename conftestchown to conftest.chown.
115569         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115570         s/conftestdir2/conftest.d2/.
115571         * m4/utimes.m4: s/conftestdata/conftest.data/
115572         Inspired by Pavel Roskin's change in autoconf.
115574 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115576         * lib/config.charset: Update for FreeBSD 4.2.
115578 2001-01-27  Jim Meyering  <meyering@lucent.com>
115580         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115581         a use of AS_IF.
115582         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115584 2001-01-26  Jim Meyering  <meyering@lucent.com>
115586         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115587         quotearg.c includes it.
115589 2001-01-26  Jim Meyering  <meyering@lucent.com>
115591         * lib/quotearg.c: Include stddef.h.
115592         * lib/quote.c: Include stddef.h.
115593         Reported by Axel Kittenberger.
115595         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115596         line in double quotes so that it evokes a better diagnostic.
115597         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115598         Reported by Axel Kittenberger.
115600 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115602         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115603         as if it was a `charset'.
115605 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115607         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115608         has const.
115610 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115612         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115613         to avoid a warning.  Add back 'const' to inptr.
115615 2001-01-20  Jim Meyering  <meyering@lucent.com>
115617         Be sure that headers are checked before used in code compiled
115618         for the type checks.
115619         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115620         In place of that, invoke jm_CHECK_ALL_TYPES.
115621         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115622         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115623         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115624         The check for ssize_t was mistakenly run before the test for unistd.h.
115626         The configure-time check for stdbool.h was missing.
115627         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115628         (jm_PREREQ_HASH): New function.
115630 2001-01-17  Jim Meyering  <meyering@lucent.com>
115632         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115633         for autoconf-2.49c.
115634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115636 2001-01-16  Jim Meyering  <meyering@lucent.com>
115638         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115639         From Bruno Haible.
115641 2001-01-14  Jim Meyering  <meyering@lucent.com>
115643         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115644         foo and bar.  Create conftestdir/ in the script, not in the C code.
115645         Remove directories in the script, not in the C code.
115646         Remove conftestdir{,2} before trying to create the directory.
115647         Make the entire configure script fail if the mkdir fails.
115649 2001-01-14  Jim Meyering  <meyering@lucent.com>
115651         * lib/rename.c: New file.  From Volker Borchert.
115652         Include stdlib.h, string.h or strings.h, and xalloc.h.
115653         Use strip_trailing_slashes rather than open-coding it.
115655 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115657         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115659 2001-01-03  Jim Meyering  <meyering@lucent.com>
115661         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115662         of local `inptr' to avoid warning with some system declarations of
115663         iconv.
115665 2001-01-02  Volker Borchert  <bt@teknon.de>
115667         * m4/rename.m4: New file.
115668         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115670 2001-01-01  Jim Meyering  <meyering@lucent.com>
115672         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115673         even on systems with utmpx.h.  It's necessary for the declaration of
115674         utmp's ut_user member.  Reported by Andreas Jaeger.
115676         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115677         available. They are required for the declarations of getgrgid and
115678         getpwuid resp.
115679         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115680         Reported by Andreas Jaeger.
115682 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115684         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115685         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115686         so `make install' also works in VPATH builds.
115688 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115690         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115691         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115692         can be used in subdirectories.
115694 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115696         * lib/modechange.c: Do not assume that mode_t uses the
115697         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115698         the other-execute bit of FOO even if S_IXOTH != 1.
115700         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115701         WOTH, XOTH, ALLM): New macros.
115702         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115703          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115704         Use them.
115705         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115706         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115707         (mode_compile):
115708         No need to use uintmax_t; unsigned long is long enough.
115709         Don't bother to get suffix since we don't use it.
115711 2000-12-26  Jim Meyering  <meyering@lucent.com>
115713         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115714         better with autoheader.
115716 2000-12-24  Jim Meyering  <meyering@lucent.com>
115718         * lib/hash.c (is_prime): Return explicit boolean values.
115719         (hash_get_first): Return NULL to appease Irix5.6's 89.
115720         Reported by Nelson Beebe.
115722 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115724         * lib/localcharset.c (locale_charset): Add support for Win32.
115726 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115728         * lib/physmem.h, lib/physmem.c: New files.
115730         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115731         (noinst_HEADERS): Add physmem.h.
115733         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115734         't' for compatibility with Solaris 8 sort.
115736 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115738         * lib/config.charset: Add support for BeOS.
115740 2000-12-17  Jim Meyering  <meyering@lucent.com>
115742         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115743         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115745 2000-12-16  Jim Meyering  <meyering@lucent.com>
115747         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115748         N and M) would have treated it like `chown N:N FILE'.
115750         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115752 2000-12-16  Jim Meyering  <meyering@lucent.com>
115754         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115755         SHELLS_FILE to a file name that's useful on djgpp systems.
115756         Include stdlib.h.
115757         (ADDITIONAL_DEFAULT_SHELLS): Define.
115758         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115759         Based mostly on a patch from Prashant TR.
115761 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115763         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115764         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115765         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115767 2000-12-08  Andreas Schwab  <schwab@suse.de>
115769         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115770         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115772 2000-12-07  Jim Meyering  <meyering@lucent.com>
115774         * lib/stripslash.c (ISSLASH): Define.
115775         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115776         `/'.
115777         From Prashant TR.
115779         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115780         (dir_name_r): Declare this function as static.
115781         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115782         manifest itself on a name containing a mix of slashes and
115783         backslashes.
115784         Make this function work with names starting with a DOS-style
115785         drive letter and colon prefix.
115786         (dir_name): Append `.' if necessary.
115787         Based mostly on patches from Prashant TR and Eli Zaretskii.
115789         * lib/dirname.h (dir_name_r): Remove prototype.
115791 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115793         * m4/off_t-format.m4: Remove this file.
115794         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115796 2000-12-06  Jim Meyering  <meyering@lucent.com>
115798         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115799         replacement strtoull, we may well need the replacement strtoul, too.
115800         Check for declarations of strtoul and strtoull.
115801         Check for strtol.  Mainly as a cue to cause automake to include
115802         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115803         Check for limits.h -- strtol.c needs it.
115805 2000-12-05  Jim Meyering  <meyering@lucent.com>
115807         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115809 2000-12-04  Jim Meyering  <meyering@lucent.com>
115811         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115812         Also include memory.h, stdlib.h, unistd.h if appropriate.
115813         Reported by Andreas Jaeger (conflicting declaration of malloc).
115815 2000-12-02  Jim Meyering  <meyering@lucent.com>
115817         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115818         * m4/jm-macros.m4 (jm_MACROS): require it.
115820 2000-12-02  Jim Meyering  <meyering@lucent.com>
115822         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115824 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115826         * lib/memrchr.c: Include <config.h> before any system include file.
115828 2000-11-30  Jim Meyering  <meyering@lucent.com>
115830         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115832 2000-11-30  Jim Meyering  <meyering@lucent.com>
115834         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115836 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115838         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115840 2000-11-26  Jim Meyering  <meyering@lucent.com>
115842         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115844 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115846         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115847         size of (size_t) -1; it's not portable.
115849 2000-11-17  Jim Meyering  <meyering@lucent.com>
115851         * lib/strstr.c: Update from GNU libc.
115853 2000-11-17  Akim Demaille  <akim@epita.fr>
115855         * lib/obstack.h: Formatting changes.
115856         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115857         prevent type checking.
115858         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115859         cast the value to (void *): assigning a `foo *' to a `void *'
115860         variable is valid.
115861         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115863 2000-11-16  Jim Meyering  <meyering@lucent.com>
115865         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115867 2000-11-11  Jim Meyering  <meyering@lucent.com>
115869         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115871 2000-11-10  Jim Meyering  <meyering@lucent.com>
115873         * lib/obstack.h: Update from GNU libc.
115874         * lib/obstack.c: Likewise.
115876 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115878         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115880 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115882         * lib/getusershell.c (setusershell): Use rewind rather than
115883         fseek/fseeko, to avoid configuration hassles with fseeko.
115884         Don't bother opening SHELLS_FILE if shellstream is NULL;
115885         it's not necessary.
115887 2000-11-05  Jim Meyering  <meyering@lucent.com>
115889         * lib/makepath.h (make_dir): Declare.
115890         * lib/makepath.c (make_dir): Remove `static' attribute.
115891         Tweak a comment.
115893 2000-11-04  Jim Meyering  <meyering@lucent.com>
115895         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115897 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115899         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115900         last one in a bucket, advance to the next bucket.
115902 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115904         * lib/fnmatch.c: Do not comment out all the code if we are using
115905         the GNU C library, because in some cases we are replacing buggy
115906         code in the GNU C library itself.
115908 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115910         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115911         (regex_compile): Catch bogus \(\1\).
115913 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115915         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115916         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115917         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115919 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115921         * lib/error.h, getline.h, modechange.h:
115922         Remove "2000" from Copyright line, as the file hasn't been
115923         changed this year other than in the copyright notice.
115925         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115926         was changed this year.
115928 2000-10-29  Jim Meyering  <meyering@lucent.com>
115930         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115931         renaming.
115932         * m4/ls-mntd-fs.m4: Likewise
115934 2000-10-29  Jim Meyering  <meyering@lucent.com>
115936         * lib/xstat.in: Fix grammar in comment.
115938 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115940         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115941         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115942         doesn't define __restrict_arr.
115944 2000-10-28  Jim Meyering  <meyering@lucent.com>
115946         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115947         (jm_PREREQ_MEMCHR): New function.
115949 2000-10-28  Jim Meyering  <meyering@lucent.com>
115951         * lib/memchr.c: Update from libc.
115952         Adjust for portability:
115953         [HAVE_STDLIB_H]: Include stdlib.h.
115954         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115955         Undef __memchr, too.
115956         [!weak_alias]: Define __memchr to memchr.
115958         * lib/regex.c: Update from libc.
115959         * lib/regex.h: Likewise.
115960         * lib/getopt1.c: Likewise.
115961         * lib/memcmp.c: Likewise.
115963         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115964         Avoid using fseek, when possible -- it's broken by design.
115965         Patch by Ulrich Drepper.
115967 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115969         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115970         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115971         Giving in to popular pressure to shut up the compiler with casts.
115973 2000-10-26  Jim Meyering  <meyering@lucent.com>
115975         * lib/strftime.c: Update from libc.
115977 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115979         * regex.c: More `unsigned char' -> `re_char' changes.
115980         Also change several `int' into `re_wchar_t'.
115981         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115982         (PUSH_FAILURE_POINTER): Don't cast any more.
115983         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115984         We want GCC to complain, since this piece of code makes
115985         re_match non-reentrant, which *should* be fixed.
115986         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115987         (EXTEND_BUFFER): Use RETALLOC.
115988         (SET_LIST_BIT): Don't cast.
115989         (re_wchar_t): New type.
115990         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115991         that those two functions will always properly return.
115992         (IMMEDIATE_QUIT_CHECK): Cast to void.
115993         (analyse_first): Use recursion rather than an explicit stack.
115994         (re_compile_fastmap): Can't fail anymore.
115995         (re_search_2): Don't check re_compile_fastmap for failure.
115996         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115997         Now also sets the new value (passed in a new argument).
115998         (re_match_2_internal): Use it.
115999         Also, use a new var `reg' of type size_t when looping through regs
116000         rather than reuse the inappropriate `mcnt'.
116002 2000-10-25  Jim Meyering  <meyering@lucent.com>
116004         * lib/obstack.c: Update from libc.
116006 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
116008         * regex.c (regex_compile): Change the way of handling a range from
116009         a char less than 256 to a char not less than 256.
116011 2000-10-24  Andrew Innes  <andrewi@gnu.org>
116013         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
116014         NT-Emacs only.
116015         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
116016         so that re_search functions only quit when callers expect them to.
116018 2000-10-23  Jim Meyering  <meyering@lucent.com>
116020         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
116021         wrong.  That set_locale call must not have any side effects.
116022         From Paul Eggert.
116024 2000-10-22  Jim Meyering  <meyering@lucent.com>
116026         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
116027         [CYCLIC]: Remove now-unused definition.
116029         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
116030         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
116031         Suggestion from Ulrich Drepper.
116033 2000-10-21  Jim Meyering  <meyering@lucent.com>
116035         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
116036         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
116037         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
116039 2000-10-21  Jim Meyering  <meyering@lucent.com>
116041         * lib/dirname.c (memrchr): Declare if necessary.
116042         (dir_name): Remove the restriction that there be no
116043         trailing slashes.  Now, this code skips past them, effectively
116044         ignoring them.
116045         [TEST_DIRNAME] (main): New unit tests.
116047         * lib/memrchr.c: New file from GNU libc.
116048         Undef __memrchr, too.
116049         [!weak_alias]: Define __memrchr to memrchr.
116050         Guard weak_alias use with `#ifdef weak_alias'.
116052 2000-10-21  Jim Meyering  <meyering@lucent.com>
116054         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
116055         (dir_name): Use dir_name_r.
116056         * lib/dirname.h (dir_name_r): Declare it.
116058 2000-10-17  Jim Meyering  <meyering@lucent.com>
116060         * lib/quote.h (PARAMS): Define and use.
116061         Reported by Akim Demaille.
116063         * lib/getopt.c: Update from libc.
116065 2000-10-16  Jim Meyering  <meyering@lucent.com>
116067         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
116068         setlocale.
116069         From Jan Fedak.
116071 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
116073         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
116075 2000-09-25  Jim Meyering  <meyering@lucent.com>
116077         * lib/md5.h (rol): Define (from GnuPG).
116079         * lib/sha.c: Give credit (GnuPG) where due.
116080         (M): Use rol rather than open-coding it.
116081         Add a FIXME comment.
116083 2000-09-21  Jim Meyering  <meyering@lucent.com>
116085         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
116086         Reported by Michael Stone.
116088 2000-09-20  Jim Meyering  <meyering@lucent.com>
116090         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
116091         (noinst_HEADERS): Add sha.h.
116092         Based on code from Scott G. Miller and from GnuPG.
116094 2000-09-18  Jim Meyering  <meyering@lucent.com>
116096         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
116097         LIBS. Otherwise, everyone ends up linking with -lelf for some
116098         configurations.
116099         Reported by Mike Stone.
116101 2000-09-15  Jim Meyering  <meyering@lucent.com>
116103         * lib/regex.c: Update from libc.
116105 2000-09-10  Jim Meyering  <meyering@lucent.com>
116107         * lib/getopt.c (_getopt_internal): Update from glibc.
116109 2000-09-09  Jim Meyering  <meyering@lucent.com>
116111         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
116112         think it should be used as a general replacement for isascii.
116113         * lib/fnmatch.c: Likewise.
116114         * lib/mbswidth.c: Likewise
116115         * lib/regex.c: Likewise.
116117         Don't use atoi.
116118         * lib/userspec.c: Include sys/param.h and limits.h.
116119         Include xstrtol.h.
116120         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
116121         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116122         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
116123         UID, GID.  Check range.
116125 2000-09-06  Jim Meyering  <meyering@lucent.com>
116127         * lib/getopt.c (_getopt_internal): Update from glibc.
116129 2000-08-30  Jim Meyering  <meyering@lucent.com>
116131         * lib/strftime.c: Merge in changes from GNU libc.
116133 2000-08-26  Jim Meyering  <meyering@lucent.com>
116135         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
116136         * m4/fpending.m4: New file.
116138 2000-08-26  Jim Meyering  <meyering@lucent.com>
116140         * lib/closeout.c: Include "__fpending.h".
116141         (close_stdout_status): Return right away if there's nothing to flush.
116143         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
116144         * lib/__fpending.c: New file.
116145         * lib/__fpending.h: New file.
116147 2000-08-20  Jim Meyering  <meyering@lucent.com>
116149         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
116150         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
116151         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
116153 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
116155         Improve fileutils installation on systems where running
116156         programs (like install) can't be unlinked.
116157         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
116158         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
116160 2000-08-07  Paul Eggert  <eggert@twinsun.com>
116162         Standardize on "memory exhausted" instead of "Memory exhausted"
116163         or "virtual memory exhausted".
116164         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
116165         "virtual memory exhausted".
116166         * lib/same.c (same_name): Invoke xalloc_die instead of printing
116167         our own message.
116168         * lib/userspec.c (parse_user_spec): Likewise.
116169         * lib/bumpalloc.h: comment fix
116170         * lib/same.c, userspec.c: Include xalloc.h.
116172         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
116173         not char *const and pointing to a constant array.
116174         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
116175         (xrealloc): Comment fix.
116177         * lib/userspec.c (parse_user_spec):
116178         Don't translate a message until just before returning,
116179         to avoid unnecessary translation.
116181 2000-08-07  Jim Meyering  <meyering@lucent.com>
116183         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
116184         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
116185         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
116186         getgroups.c, gethostname.c, getopt.h, group-member.c,
116187         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
116188         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
116189         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
116190         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
116191         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
116192         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
116193         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
116194         yesno.c: Back out Copyright date changes for each file with no change
116195         this year.  This eases coordination with other programs using the same
116196         source code modules.  From Paul Eggert.
116198 2000-08-06  Paul Eggert  <eggert@twinsun.com>
116200         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
116201         not char, for compatibility with glibc 2.1.3 strftime.c.
116203 2000-08-03  Greg McGary  <greg@mcgary.org>
116205         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
116206         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
116207         (EXTEND_BUFFER): Use them.
116209 2000-08-01  Jim Meyering  <meyering@lucent.com>
116211         * lib/dirname.c (ISSLASH): Define.
116212         (BACKSLASH_IS_PATH_SEPARATOR): Define.
116213         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
116214         both `\' and `/' may be use as path separators.
116215         Based on a patch from Prashant TR.
116217 2000-07-31  Paul Eggert  <eggert@twinsun.com>
116219         * lib/quotearg.c (quotearg_n_options): Don't make the initial
116220         slot vector a constant, since it might get modified.
116222 2000-07-31  Jim Meyering  <meyering@lucent.com>
116224         * lib/xmalloc.c: Use `virtual memory exhausted', not
116225         `Memory exhausted'.
116226         * lib/obstack.c (print_and_abort): Likewise.
116228 2000-07-30  Paul Eggert  <eggert@twinsun.com>
116230         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
116231         buffer, so that the caller can always quote one small
116232         component of a "memory exhausted" message in slot 0.
116233         From a suggestion by Jim Meyering.
116235 2000-07-30  Jim Meyering  <meyering@lucent.com>
116237         * lib/makepath.c (make_path): Quote the other instance, too.
116239         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
116240         (STATIC_BUF_SIZE): Define.
116241         (quotearg_n_options): Use only statically allocated storage when
116242         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
116243         than STATIC_BUF_SIZE.
116245 2000-07-29  Jim Meyering  <meyering@lucent.com>
116247         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
116248         * lib/dirname.c (dir_name): Likewise.
116250         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
116251         `/'.
116253         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
116254         (dir_name): Assert that there are no trailing slashes.
116256 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
116258         * lib/mbswidth.h (mbswidth): Add a flags argument.
116259         (mbswidth): New declaration.
116260         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
116261         * lib/mbswidth.c (mbswidth): Add a flags argument.
116262         (mbsnwidth): New function.
116264 2000-07-24  Jim Meyering  <meyering@lucent.com>
116266         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
116268 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116270         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
116272 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116274         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
116275         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
116276         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
116277         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
116278         invoke multibyte primitives.
116280 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116282         * lib/quotearg.c:
116283         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
116284         so that mbstate_t is always defined.
116286         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
116287         be 1 in at least one GCC installation, and this configuration
116288         error is likely to be common.  Ignoring MB_LEN_MAX hurts
116289         performance on hosts that have mbrtowc but have only unibyte
116290         locales, but I assume these hosts are rare.
116292 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116294         * lib/mbswidth.c (_XOPEN_SOURCE):
116295         Don't define; this causes problems on Solaris 7.
116296         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
116298 2000-07-23  Jim Meyering  <meyering@lucent.com>
116300         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
116301         too: getgrgid, getpwuid, getuid.
116303 2000-07-23  Jim Meyering  <meyering@lucent.com>
116305         * lib/basename.c (base_name): Add an assertion.
116307 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
116309         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
116310         shadow its mbsinit function.
116312 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116314         * lib/mbswidth.h: New file.
116315         * lib/mbswidth.c: New file.
116316         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
116317         (noinst_HEADERS): Add mbswidth.h.
116319 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116321         * lib/config.charset: Add support for FreeBSD. Improve support for
116322         HP-UX and IRIX 6.
116324 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
116326         * m4/mbswidth.m4: New file.
116327         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
116329 2000-07-15  Jim Meyering  <meyering@lucent.com>
116331         * lib/makepath.c: Include quote.h.
116332         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
116333         corresponding argument in a `quote (...)' call.
116334         Give better diagnostics.
116336         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
116337         (noinst_HEADERS): Add quote.h.
116339         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
116340         from tar's src/misc.c.
116341         * lib/quote.h: New file.  Prototypes for same.
116343 2000-07-14  Paul Eggert  <eggert@twinsun.com>
116345         From a suggestion by Bruno Haible.
116346         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
116347         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
116348         to decide whether to define the BeOS workaround macro;
116349         this adjusts to the change to AC_MBSTATE_T.
116351 2000-07-14  Jim Meyering  <meyering@lucent.com>
116353         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
116354         jm_AC_TYPE_UINTMAX_T.
116356 2000-07-13  Paul Eggert  <eggert@twinsun.com>
116358         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
116360         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
116361         quotearg_buffer_restyled): Add support for
116362         clocale_quoting_style.  Undo previous change to
116363         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
116364         and "{RIGHT QUOTATION MARK}" msgids.
116366 2000-07-10  Paul Eggert  <eggert@twinsun.com>
116368         From a suggestion by Bruno Haible.
116369         * m4/mbstate_t.m4 (AC_MBSTATE_T):
116370         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
116371         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
116372         and mbstate_t, to a single-part test that simply defines mbstate_t.
116373         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
116374         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
116376 2000-07-10  Jim Meyering  <meyering@lucent.com>
116378         * m4/strerror_r.m4: Mirror the correction made in autoconf.
116380         * m4/gnu-source.m4: Output to confdefs.h directly.
116381         Suggestion from Akim Demaille.
116383 2000-07-09  Paul Eggert  <eggert@twinsun.com>
116385         The old behavior of quoting `like this' doesn't look good with
116386         newer, ISO-style fonts.  See:
116387         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
116389         Instead, quote "like this" by default.  Let the translator
116390         tailor the locale-specific quoting behavior by providing
116391         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
116393         * lib/quotearg.c (N_): New macro.
116394         (gettext_default): New function.
116395         (quotearg_buffer_restyled): Use
116396         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
116397         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
116399 2000-07-09  Jim Meyering  <meyering@lucent.com>
116401         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
116402         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
116404         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
116405         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
116407 2000-07-09  Jim Meyering  <meyering@lucent.com>
116409         * lib/Most files: Update copyright dates to include 2000.
116411 2000-07-08  Jim Meyering  <meyering@lucent.com>
116413         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
116414         if not defined.
116415         (xgethostname): Remove now-unnecessary #ifdef.
116416         Move declaration of `err' into loop where it's used.
116418 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116419         and Bruno Haible  <haible@clisp.cons.org>
116421         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
116422         only if the test for an object-type mbstate_t fails.  This
116423         prevents us from mistakenly reporting that mbstate_t is a
116424         system object type after we "#define mbstate_t int" to work
116425         around its lack.
116427 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116428         and Bruno Haible  <haible@clisp.cons.org>
116430         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
116432 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116434         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
116435         to strerror_r.
116436         Include <ctype.h> for use of isalpha.
116438 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116440         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
116441         by allocating a larger buffer. Test the gethostname return value for
116442         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
116443         returns an error and ENAMETOOLONG isn't defined.
116445 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116447         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
116448         dimension.
116450 2000-07-04  Jim Meyering  <meyering@lucent.com>
116452         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
116453         of the deprecated AC_CHECKING.
116455 2000-07-04  Jim Meyering  <meyering@lucent.com>
116457         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
116458         Reported by Bruno Haible.
116460 2000-07-04  Jim Meyering  <meyering@lucent.com>
116462         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
116463         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
116464         lacks mbrtowc.
116466 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116468         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
116469         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116471 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116472         and Bruno Haible  <haible@clisp.cons.org>
116474         * lib/quotearg.c (mbrtowc):
116475         Assign to *pwc, and return 1 only if result is nonzero.
116476         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116478 2000-07-03  Jim Meyering  <meyering@lucent.com>
116480         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116482 2000-07-03  Jim Meyering  <meyering@lucent.com>
116484         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116485         This is necessary to get a definition of e.g., UTMP_FILE on
116486         HP-UX 10.20.
116487         From Bob Proulx.
116489 2000-07-02  Jim Meyering  <meyering@lucent.com>
116491         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116493         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116494         AC_LIBOBJ(function_name).
116495         * m4/chown.m4: Likewise.
116496         * m4/fnmatch.m4: Likewise.
116497         * m4/ftruncate.m4: Likewise.
116498         * m4/getgroups.m4: Likewise.
116499         * m4/getline.m4: Likewise.
116500         * m4/group-member.m4: Likewise.
116501         * m4/jm-macros.m4: Likewise.
116502         * m4/lstat.m4: Likewise.
116503         * m4/malloc.m4: Likewise.
116504         * m4/memcmp.m4: Likewise.
116505         * m4/nanosleep.m4: Likewise.
116506         * m4/putenv.m4: Likewise.
116507         * m4/realloc.m4: Likewise.
116508         * m4/regex.m4: Likewise.
116509         * m4/stat.m4: Likewise.
116510         * m4/strftime.m4: Likewise.
116512 2000-07-02  Jim Meyering  <meyering@lucent.com>
116514         * lib/quotearg.c (mbstate_t): Don't define here.
116516 2000-07-02  Jim Meyering  <meyering@lucent.com>
116518         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116520 2000-07-01  Jim Meyering  <meyering@lucent.com>
116522         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116524 2000-07-01  Jim Meyering  <meyering@lucent.com>
116526         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116527         problem.
116529 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116531         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116532         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116534 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116536         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116537         per change in ../m4/ls-mntd-fs.m4.
116538         (read_filesystem_list): Ignore symbolic links.
116540 2000-06-29  Jim Meyering  <meyering@lucent.com>
116542         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116543         for declaration of strcmp.
116545         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116547         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116548         Avoid warning by casting result to `char *' to remove `const'.
116550 2000-06-28  Jim Meyering  <meyering@lucent.com>
116552         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116553         included by quotearg.c, for which we perform this test.  From
116554         Bruno Haible.
116556 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116558         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116559         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116560         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116562 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116564         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116566 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116568         savedir now sets errno on failure and invokes xmalloc to get memory.
116569         Fix a couple of other minor bugs while we're at it.
116571         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116572         (NAMLEN): Remove macro.
116573         (malloc, realloc): Remove decls.
116574         (stpcpy): Likewise.
116575         ("xalloc.h"): Include.
116576         (NAME_SIZE_DEFAULT): New macro.
116577         (savedir): Use xmalloc / xrealloc to allocate memory.
116578         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116579         Skip "" directory entries.
116580         Use strlen to calculate directory entry length, since the old method
116581         is rarely used these days and isn't worth supporting.
116582         Don't use a pointer after freeing it.
116583         Check for integer overflow when calculating allocation size.
116584         Use memcpy to copy entries, instead of stpcpy.
116585         Set errno properly when returning NULL.
116586         Check for readdir error.
116588 2000-06-26  Jim Meyering  <meyering@lucent.com>
116590         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116592 2000-06-25  Jim Meyering  <meyering@lucent.com>
116594         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116595         Linux header bug when _XOPEN_SOURCE is defined to 500.
116597 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116599         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116600         deficiency.
116602 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116604         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116605         Include xalloc.h.
116606         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116608 2000-06-24  Jim Meyering  <meyering@lucent.com>
116610         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116611         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116612         for which strerror does return char*, but which lacks a conveniently
116613         accessible declaration of the function.  If the compile-test says
116614         strerror_r doesn't work, then resort to a `run'-test that works on
116615         BeOS and segfaults on DEC Unix.
116617 2000-06-24  Jim Meyering  <meyering@lucent.com>
116619         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116621 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116623         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116624         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116626 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116628         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116629         (mbrtowc, mbstate_t): Define substitutes if
116630         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116631         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116632         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116634 2000-06-23  Jim Meyering  <meyering@lucent.com>
116636         * m4/afs.m4: Add missing AC_MSG_RESULT.
116637         Reported by Bruno Haible.
116639         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116640         Suggestion from Bruno Haible.
116642 2000-06-23  Jim Meyering  <meyering@lucent.com>
116644         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116646 2000-06-21  Jim Meyering  <meyering@lucent.com>
116648         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116650 2000-06-21  Jim Meyering  <meyering@lucent.com>
116652         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116653         (noinst_HEADERS): Add getstr.h.
116655         * lib/getline.c (getstr): Move into a separate file.
116656         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116657         the following changes: new parameter, delim2; both delim[12]
116658         parameters have type `int', not `char'.  The latter would lose
116659         with 8-bit delimiters.
116660         * lib/getstr.h: New file.
116662 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116664         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116665         than 1024, return a memory chunk of least possible size, instead
116666         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116667         Use free/xmalloc instead of xrealloc to avoid copying for very long
116668         paths.
116670 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116672         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116673         the empty string.
116675 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116677         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116678         address, not strdup.  Include <stdlib.h> and don't declare free().
116680 2000-06-19  Jim Meyering  <meyering@lucent.com>
116682         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116684 2000-06-18  Jim Meyering  <meyering@lucent.com>
116686         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116688         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116689         `checking whether...' message to be consistent with that of the
116690         lstat test.
116692 2000-06-18  Jim Meyering  <meyering@lucent.com>
116694         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116695         Besides, these days every porting target provides a mkdir function.
116697         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116698         needed. (this snippet comes from src/system.h).
116700 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116702         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116704 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116706         * lib/human.c (adjust_value): New function.
116707         (human_readable_inexact): Apply rounding style even when
116708         printing approximate values.
116710 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116712         * lib/human.c (human_readable_inexact): Allow an input block
116713         size that is not a multiple of the output block size, and vice versa.
116714         Reported by Piergiorgio Sartor.
116716 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116718         * lib/getdate.y (get_date): Apply relative times after time
116719         zone indicator, not before.  Reported by Todd A. Jacobs.
116721 2000-06-13  Jim Meyering  <meyering@lucent.com>
116723         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116725         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116727 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116729         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116731 2000-06-12  Jim Meyering  <meyering@lucent.com>
116733         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116734         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116735         optional argument.
116736         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116737         the optional argument, `lib'.
116739 2000-06-08  Jim Meyering  <meyering@lucent.com>
116741         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116743 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116745         Rewrite largefile configuration so that we don't need to run
116746         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116747         AC_CANONICAL_HOST in configure.in -- jmm]
116749         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116750         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116751         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116752         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116753         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116754         All uses changed.
116755         Instead of inspecting the output of getconf, try to compile the
116756         test program without and with the macro definition.
116757         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116758         for getconf.  Instead, check for the needed flags by compiling
116759         test programs.
116761 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116763         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116765 2000-06-04  Jim Meyering  <meyering@lucent.com>
116767         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116768         SunOS 4.1.4 for which gid_t is an unsigned type.
116770 2000-06-03  Jim Meyering  <meyering@lucent.com>
116772         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116773         now that autoconf requires that.
116775         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116776         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116777         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116779 2000-06-03  Jim Meyering  <meyering@lucent.com>
116781         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116783 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116785         * m4/glibc21.m4: New file.
116786         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116788 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116790         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116791         newer, don't install charset.alias.
116792         * lib/config.charset: Change the Linux/glibc rules so they become empty
116793         on glibc-2.1 or newer.
116795 2000-06-02  Jim Meyering  <meyering@lucent.com>
116797         * lib/mountlist.c: Back out last change.  Instead, do this...
116798         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116799         me_dummy member using the same `ignore'-testing code.
116800         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116801         fs_type strings.
116802         From Mark D. Roth.
116804 2000-05-29  Jim Meyering  <meyering@lucent.com>
116806         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116807         mounts with the `ignore' attribute.  Based on a patch from
116808         Mark D. Roth.
116810 2000-05-28  Jim Meyering  <meyering@lucent.com>
116812         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116813         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116814         * m4/stat.m4: Likewise.
116815         * m4/lstat.m4: Likewise.
116816         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116818         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116819         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116821 2000-05-26  Jim Meyering  <meyering@lucent.com>
116823         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116825 2000-05-24  Jim Meyering  <meyering@lucent.com>
116827         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116828         autoconf requires that.
116829         * m4/lib-check.m4: Likewise.
116830         * m4/jm-macros.m4: Likewise.
116831         * m4/strftime.m4: Likewise.
116833         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116834         AC_CHECK_DECLS, now that autoconf requires that.
116836 2000-05-22  Jim Meyering  <meyering@lucent.com>
116838         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116839         * m4/lstat.m4: Likewise.
116841 2000-05-22  Jim Meyering  <meyering@lucent.com>
116843         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116845 2000-05-20  Jim Meyering  <meyering@lucent.com>
116847         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116848         (jm_PREREQ): Use it.
116850 2000-05-18  Jim Meyering  <meyering@lucent.com>
116852         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116853         back, too, since it may have been modified by allocate_entry.
116854         (hash_delete): Rewrite to use neither the assignment operator
116855         nor the comma operator in an if-expression.
116857 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116859         * lib/closeout.c:
116860         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116861         Remove; no longer needed.
116862         "quotearg.h": Add include.
116863         (file_name): Do not bother to explicitly initialize to NULL; it's less
116864         efficient on some hosts.
116865         (close_stdout_status): Remove test as to whether stdout was already
116866         closed; it breaks for the case "echo x | sort >&-".
116867         Quote file name colons.
116868         Do not assume that _("write error") lacks format strings.
116870 2000-05-15  Jim Meyering  <meyering@lucent.com>
116872         * lib/version-etc.c (version_etc_copyright): Update the copyright
116873         string used in all --version output.
116875 2000-05-14  Jim Meyering  <meyering@lucent.com>
116877         * lib/closeout.c (close_stdout_set_file_name): New function.
116878         (close_stdout_status): Use new file-scoped global.
116879         Return right away if fstat says the stdout file descriptor is invalid.
116880         * lib/closeout.h (close_stdout_set_file_name): Declare.
116882 2000-05-10  Jim Meyering  <meyering@lucent.com>
116884         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116885         (close_stdout_set_status): New function.
116886         * lib/closeout.h (close_stdout_set_status): Declare.
116888 2000-05-09  Jim Meyering  <meyering@lucent.com>
116890         * m4/gettext.m4: Rename this...
116891         * m4/libintl.m4: ...to this.
116893 2000-05-08  Jim Meyering  <meyering@lucent.com>
116895         * lib/long-options.c: Don't include closeout.h.
116896         (parse_long_options): Don't call close_stdout for --version.
116898 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116900         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116901         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116902         2.1.3 bug.  This avoids a clash when files like regex.c define
116903         _GNU_SOURCE.
116905 2000-05-06  Jim Meyering  <meyering@lucent.com>
116907         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116908         (AC_REPLACE_FUNCS): Add strnlen.
116910         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116911         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116913         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116914         AC_SEARCH_LIBS call for nanosleep.
116915         (LIB_NANOSLEEP): Set and AC_SUBST.
116917 2000-05-06  Jim Meyering  <meyering@lucent.com>
116919         * lib/strnlen.c: Undefine __strnlen and strnlen.
116920         [!weak_alias]: Define __strnlen to strnlen.
116922         * lib/atexit.c: New file, from libiberty.
116924 2000-05-06  Jim Meyering  <meyering@lucent.com>
116926         * lib/closeout.c (close_stdout_status): Also check for errors on the
116927         stderr stream.
116929 2000-05-05  Jim Meyering  <meyering@lucent.com>
116931         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116932         AC_SEARCH_LIBS call for clock_gettime.
116933         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116935         * m4/search-libs.m4: Update from autoconf.
116937         su doesn't work on Solaris 2.6.
116938         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116939         <shadow.h>.  Reported by Dragos Harabor.
116941 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116943         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116944         memcpy instead of xmalloc, xrealloc, path_concat.
116945         (locale_charset): Treat empty environment variables as absent.
116946         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116948 2000-05-04  Jim Meyering  <meyering@lucent.com>
116950         * lib/getopt.c: Update from glibc.
116951         * lib/obstack.c: Likewise.
116952         * lib/obstack.h: Likewise.
116953         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116954         file
116956         * lib/regex.h: Likewise.
116957         * lib/strndup.c: Likewise.
116958         * lib/strnlen.c: New file, from glibc.
116960 2000-05-03  Jim Meyering  <meyering@lucent.com>
116962         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116964 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116966         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116967         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116968         compile-time test, rather than inspecting host and OS, to
116969         decide whether to define _LARGEFILE_SOURCE.
116971 2000-05-01  Jim Meyering  <meyering@lucent.com>
116973         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116975         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116976         Based on a patch from Bruno Haible.
116978 2000-05-01  Jim Meyering  <meyering@lucent.com>
116980         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116982 2000-04-29  Jim Meyering  <meyering@lucent.com>
116984         * lib/path-concat.c: Declare strdup only if it's not defined.
116985         * lib/canon-host.c: Likewise.
116987 2000-04-28  Jim Meyering  <meyering@lucent.com>
116989         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116990         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116991         is included first, then limits.h is included by locale.h by libintl.h.
116992         From John David Anglin.
116994 2000-04-25  Jim Meyering  <meyering@lucent.com>
116996         * lib/makepath.c (S_IRWXUGO): Define.
116997         (make_path): Always perform explicit chmod if MODE specifies any
116998         of the `special' permission bits.  Prompted by a bug report against
116999         install from Mate Wierdl and Joost van Baal.
117001 2000-04-18  Jim Meyering  <meyering@lucent.com>
117003         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
117004         (jm_PREREQ): Use it.
117006 2000-04-18  Jim Meyering  <meyering@lucent.com>
117008         * lib/README: New file.
117010         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
117011         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
117013 2000-04-17  Jim Meyering  <meyering@lucent.com>
117015         Get it right :-)
117016         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
117017         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
117018         Suggestion from Akim Demaille.
117020 2000-04-17  Jim Meyering  <meyering@lucent.com>
117022         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
117023         the definition of it to rpl_strftime also defined-away the system's
117024         declaration.
117026 2000-04-15  Jim Meyering  <meyering@lucent.com>
117028         Use `C' to denote so-called `contiguous' files, the same way
117029         that tar does.
117030         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
117031         (ftypelet): Use S_ISCTG.
117032         From Michael Deutschmann.
117034 2000-04-14  Jim Meyering  <meyering@lucent.com>
117036         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
117037         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
117038         clobbered.
117040 2000-04-14  Jim Meyering  <meyering@lucent.com>
117042         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
117044 2000-04-13  Jim Meyering  <meyering@lucent.com>
117046         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
117047         AH_VERBATIM to insert required #ifndef into config.h.in.
117048         Suggestion from Akim Demaille.
117050 2000-04-12  Jim Meyering  <meyering@lucent.com>
117052         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
117053         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
117054         Christian Krackowizer.
117056         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
117057         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
117058         (AC_SYS_LARGEFILE): Require.
117059         (AM_C_PROTOTYPES): Require.
117061 2000-04-08  Jim Meyering  <meyering@lucent.com>
117063         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
117064         names don't conflict.  Reported by Eli Zaretskii.
117066 2000-04-07  Jim Meyering  <meyering@lucent.com>
117068         * lib/putenv.c: Move inclusion of errno.h so it follows that of
117069         sys/types.h, to work around system header problems on AIX 3.2.5.
117070         From Bruno Haible.
117072 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
117074         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
117075         bug.  Deal with the different error behavior of Irix iconv.
117077 2000-04-05  Paul Eggert  <eggert@twinsun.com>
117079         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
117080         IRIX if the installer said otherwise.
117082 2000-04-05  Jim Meyering  <meyering@lucent.com>
117084         Portability tweaks required for ultrix4.3.
117085         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
117086         (jm_CHECK_DECLS): Add getutent to the list of functions.
117087         (_jm_DECL_HEADERS): Add utmpx.h.
117088         From John David Anglin.
117090         * m4/strftime.m4: Back out the 2000-04-02 change.
117091         Instead of that change, simply undefine putenv in the test program.
117093 2000-04-05  Jim Meyering  <meyering@lucent.com>
117095         Portability tweaks required for ultrix4.3.
117096         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
117097         getutent.
117098         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
117099         * lib/canon-host.c: Declare strdup.
117100         * lib/path-concat.c: Likewise.
117101         From John David Anglin.
117103 2000-04-04  Jim Meyering  <meyering@lucent.com>
117105         Be more DOS 8.3-friendly.
117106         * lib/ref-add.sin: Renamed from ref-add.sed.in.
117107         * lib/ref-del.sin: Renamed from ref-del.sed.in.
117108         * lib/Makefile.am: Reflect renaming.
117109         Reported by Eli Zaretskii.
117111         Use a temporary file name that won't clash with `charset.alias'
117112         in the DOS 8.3 name space.
117113         * lib/Makefile.am (charset_tmp): Define.
117114         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
117115         (uninstall-local): Likewise.
117116         Reported by Eli Zaretskii.
117118 2000-04-03  Jim Meyering  <meyering@lucent.com>
117120         * m4/gettext.m4: Fix typo in comment.
117122         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
117123         textutils/configure.in).  Suggestion from Paul Eggert.
117124         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
117126 2000-04-02  Paul Eggert  <eggert@twinsun.com>
117128         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
117129         variable in the shell rather than using putenv, which isn't
117130         portable.  This avoids the configure-time inter-test dependency
117131         on the potentially-renamed putenv function.
117133 2000-03-30  Paul Eggert  <eggert@twinsun.com>
117135         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
117136         before checking struct stat.st_blksize, so that
117137         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
117139 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117141         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
117142         since strftime.c uses HAVE_STRFTIME to decide whether to use
117143         the underlying strftime.
117145 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117147         * lib/time/strftime.c (my_strftime): Make sure we call the system
117148         strftime, not ourselves, when invoking the underlying strftime.
117150 2000-03-24  Jim Meyering  <meyering@lucent.com>
117152         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
117153         (charset_alias): Define.
117154         (install-exec-local): Factor out common code.
117155         (uninstall-local): Split lines longer than 80.
117156         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
117157         (SUFFIXES): Define.
117158         (.sed.in.sed): New rule.  Don't redirect directly to $@.
117159         (CLEANFILES): Add ref-add.sed and ref-del.sed.
117161 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
117163         * lib/config.charset: Output a line containing "Packages using this
117164         file".
117165         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
117166         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
117167         ref-del.sed): New rules.
117169 2000-03-17  Jim Meyering  <meyering@lucent.com>
117171         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
117172         Otherwise, include <strings.h>
117174 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
117176         * lib/unicodeio.c (utf8_wctomb): New function.
117177         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
117178         format instead of in UCS-4 with platform dependent endianness.
117180 2000-03-10  Jim Meyering  <meyering@lucent.com>
117182         * m4/lib-check.m4: Look for getspnam in -lgen, too.
117183         From Marco Franzen.
117185 2000-03-07  Paul Eggert  <eggert@twinsun.com>
117187         * lib/savedir.c (savedir): Work even if directory size is
117188         negative; this can happen with some screwy NFS configurations.
117190 2000-03-06  Jim Meyering  <meyering@lucent.com>
117192         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
117193         if it's NULL (because we ran out of memory).  From Bruno Haible.
117195 2000-03-05  Jim Meyering  <meyering@lucent.com>
117197         * lib/localcharset.c ("path-concat.h"): Include.
117198         (get_charset_aliases): Use path_concat instead of ANSI string
117199         concatenation.
117201         * lib/unicodeio.h (PARAMS): Define.
117202         Use it to guard prototype.
117204 2000-03-04  Jim Meyering  <meyering@lucent.com>
117206         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
117207         for lib/localcharset.c.
117209 2000-03-04  Jim Meyering  <meyering@lucent.com>
117211         * lib/Makefile.am (install-exec-local): Create $(libdir) before
117212         installing into it.
117213         (uninstall-local): Uncomment this rule so `make distcheck' works
117214         once again.
117216         * lib/unicodeio.c (<errno.h>): Include it.
117217         (errno): Declare if not defined.
117219         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
117221         * lib/config.charset: New version, incorporating remarks from a linux
117222         i18n mailing list.  From Bruno Haible.
117224 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
117226         * m4/codeset.m4: New file.
117227         * m4/iconv.m4: New file.
117228         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
117230 2000-03-03  Jim Meyering  <meyering@lucent.com>
117232         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
117234 2000-03-02  Jim Meyering  <meyering@lucent.com>
117236         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
117237         the messages come out on separate lines.
117239         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
117240         rather than jm_CHECK_DECLARATIONS.
117241         * m4/decl.m4: Remove now-unused file.
117243         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
117244         geteuid.
117246 2000-03-02  Jim Meyering  <meyering@lucent.com>
117248         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
117250 2000-03-01  Jim Meyering  <meyering@lucent.com>
117252         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
117253         * lib/unicodeio.c: Likewise.
117255 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
117257         * lib/config.charset: New file.
117258         * lib/localcharset.c: New file.
117259         * lib/unicodeio.h, lib/unicodeio.c: New files.
117260         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
117261         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
117262         (noinst_HEADERS): Add unicodeio.h.
117263         (all-local, install-exec-local, charset.alias): New targets.
117265 2000-02-28  Paul Eggert  <eggert@twinsun.com>
117267         * lib/quotearg.c (ALERT_CHAR): New macro.
117268         (quotearg_buffer_restyled): Use it.
117270 2000-02-27  Jim Meyering  <meyering@lucent.com>
117272         * m4/check-decl.m4: Add getenv to the list.
117274 2000-02-27  Jim Meyering  <meyering@lucent.com>
117276         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
117277         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
117279         * lib/backupfile.c: Guard inclusion of stdlib.h with
117280         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
117281         Declare malloc if needed.
117283         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
117284         `#ifndef HAVE_DECL..'
117285         now that autoconf always defines the HAVE_DECL_ symbols.
117286         * lib/human.c: Likewise.
117287         * lib/same.c: Likewise.
117288         * lib/strtoumax.c: Likewise.
117290         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
117291         declaration check was not run.
117292         * lib/hash.c: Likewise.
117293         * lib/human.c: Likewise.
117294         * lib/same.c: Likewise.
117295         * lib/strtoumax.c: Likewise.
117297         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
117298         `.', then first look up the entire `.'-containing string as a login
117299         name.
117301 2000-02-23  Jim Meyering  <meyering@lucent.com>
117303         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
117304         in place of my hack.
117306 2000-02-18  Paul Eggert  <eggert@twinsun.com>
117308         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
117309         (textint): New typedef.
117310         (parser_control): Member year changed from int to textint.
117311         All uses changed.
117312         (YYSTYPE): Removed; replaced by %union with int and textint members.
117313         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
117314         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
117315         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
117316         (tSNUMBER, tUNUMBER): Now of type <textintval>.
117317         (date, number, to_year): Use width of number in digits, not its value,
117318         to determine whether it's a 2-digit year, or a 2-digit time.
117319         (yylex): Store number of digits of numeric tokens.
117320         Reported by John Kendall.
117322         (parser_control): Changed from struct parser_control to typedef (for
117323         consistency).  All uses changed.
117325         (tID): Removed; not used.
117326         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
117328 2000-02-14  Paul Eggert  <eggert@twinsun.com>
117330         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
117331         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
117333 2000-02-12  Jim Meyering  <meyering@lucent.com>
117335         * lib/userspec.c (ISDIGIT): Define it.
117336         (isdigit): Remove definition.
117337         (is_number): Use ISDIGIT, not isdigit.
117338         <libintl.h>: Include.
117339         (_ and N_): Define.
117340         (parse_user_spec): Mark translatable strings.
117342 2000-02-10  Jim Meyering  <meyering@lucent.com>
117344         With these changes, nanosleep.[ch] are finally enough like the other
117345         lib/* replacement files to compile on a few more losing systems.
117347         * lib/nanosleep.h: Don't include config.h.
117348         Remove prototype from declaration of nanosleep.
117349         (PARAMS): Remove now-unneeded definition.
117350         * lib/nanosleep.c: #undef nanosleep.
117351         (rpl_nanosleep): Rename from nanosleep.
117353 2000-02-10  Jim Meyering  <meyering@lucent.com>
117355         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
117356         gnu_nanosleep to rpl_nanosleep.
117358 2000-02-09  Jim Meyering  <meyering@lucent.com>
117360         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
117361         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
117363 2000-02-08  Akim Demaille  <akim@epita.fr>
117365         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
117366         `[' and `]' and remove uses of `changequote'.
117367         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
117368         (AC_SYS_LARGEFILE): Likewise.
117369         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
117370         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
117371         of changequote.
117372         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
117373         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
117374         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
117375         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
117377 2000-02-05  Jim Meyering  <meyering@lucent.com>
117379         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
117380         Remove explicit use of AC_HEADER_TIME.  It is required by
117381         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
117382         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
117383         in autoconf whereby the expansion of the latter ended up preceding
117384         the expansion of its prerequisite, AC_HEADER_TIME.
117385         Reported by Volker Borchert.
117387 2000-02-03  Jim Meyering  <meyering@lucent.com>
117389         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
117391 2000-02-03  Jim Meyering  <meyering@lucent.com>
117393         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
117394         rather than with `#if HAVE_UTMPNAME'.
117396 2000-02-02  Jim Meyering  <meyering@lucent.com>
117398         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
117399         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
117400         Reported by Eli Zaretskii.
117402 2000-02-01  Jim Meyering  <meyering@lucent.com>
117404         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
117406 2000-01-31  Jim Meyering  <meyering@lucent.com>
117408         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
117409         functions.  Add the time.h and sys/time.h headers along with the
117410         AC_REQUIRE'ment of AC_HEADER_TIME.
117412 2000-01-31  Jim Meyering  <meyering@lucent.com>
117414         * lib/nanosleep.h (nanosleep): Guard declaration with
117415         `#if ! HAVE_DECL_NANOSLEEP'.
117416         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
117417         the declaration in that vendor's sys/timers.h.
117418         Reported by Christian Krackowizer.
117420         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
117421         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
117422         (ISPRINT): Likewise.
117423         Reported by Tom Tromey.
117425 2000-01-30  Jim Meyering  <meyering@lucent.com>
117427         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
117429         * m4/prereq.m4 (utmp_includes): Define.
117430         Check for ut_user and ut_name members in both struct utmpx
117431         and struct utmp.
117433 2000-01-30  Jim Meyering  <meyering@lucent.com>
117435         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
117436         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
117437         header files where only utmpx.ut_user is declared.
117439         * lib/readutmp.h (UT_USER): Define.
117441 2000-01-29  Jim Meyering  <meyering@lucent.com>
117443         * m4/lib-check.m4: New file containing library-related checks from
117444         fileutils and sh-utils (textutils had none).
117446 2000-01-28  Jim Meyering  <meyering@lucent.com>
117448         * m4/perl.m4: Change format of warning message to look more like that
117449         from the missing script.  Suggestion from François Pinard.
117451 2000-01-25  Jim Meyering  <meyering@lucent.com>
117453         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
117454         well as time.h in the compile check.
117455         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
117456         Fix typo in cross-compiling case: s/yes/no/.
117458 2000-01-23  Jim Meyering  <meyering@lucent.com>
117460         * m4/jm-macros.m4: Move df-related tests here from
117461         fileutils/configure.in
117463         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
117464         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
117466         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
117467         s/space/ac_fsusage_space/.
117468         (jm_FILE_SYSTEM_USAGE): Take two parameters.
117470         * m4/ftruncate.m4: New file (derived from part of
117471         fileutils/configure.in).
117472         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117473         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117475         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117476         AC_SUBST these here, rather than just in sh-util/configure.in, so
117477         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117478         all the same.
117479         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117480         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117481         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117482         (AC_SUBST(POW_LIBM)): Likewise.
117483         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117485 2000-01-23  Jim Meyering  <meyering@lucent.com>
117487         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117488         obstack.c.
117490 2000-01-22  Jim Meyering  <meyering@lucent.com>
117492         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117494         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117496         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117497         configure.in
117498         (AC_CHECK_HEADERS): Likewise for sh-utils.
117499         (AC_CHECK_HEADERS): Likewise for textutils.
117500         Merge the three lists of headers.
117502         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117503         from fileutils' configure.in.
117505         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117506         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117507         check-decl.m4.
117509         * m4/check-decl.m4: Use #if rather than #ifdef.
117510         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117511         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117512         (_jm_DECL_HEADERS): Define new function.
117513         (jm_CHECK_DECLARATIONS): Require it.
117515 2000-01-22  Jim Meyering  <meyering@lucent.com>
117517         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117518         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117519         Required for some AIX systems.  Reported by Christian Krackowizer.
117520         [TESTING] (main): New function.
117522         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117523         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117524         letters.
117526         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117527         iswprint.
117529         * lib/strverscmp.c (ISDIGIT): Define.
117530         (strverscmp): Use ISDIGIT, not isdigit.
117532 2000-01-19  Jim Meyering  <meyering@lucent.com>
117534         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117535         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117536         defines `struct timespec' in <sys/time.h>
117538         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117539         Thanks to Akim for explaining.
117541 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117543         * lib/nanosleep.c (nanosleep):
117544         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117545         POSIX.1 doesn't require SA_INTERRUPT and some systems
117546         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117547         it's been part of POSIX.1 since day 1 (in 1988).
117549 2000-01-17  Jim Meyering  <meyering@lucent.com>
117551         * lib/interlock: Remove unused file.  Reported by François Pinard.
117553 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117555         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117556         alert, backslash, formfeed, and vertical tab unnecessarily in
117557         shell quoting style.
117559 2000-01-16  Jim Meyering  <meyering@lucent.com>
117561         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117562         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117563         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117564         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117566 2000-01-16  Jim Meyering  <meyering@lucent.com>
117568         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117569         because the latter didn't work.
117571 2000-01-15  Jim Meyering  <meyering@lucent.com>
117573         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117574         (AC_REPLACE_FUNCS): Add memcpy and memset.
117575         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117576         Add strpbrk.
117577         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117579 2000-01-12  Jim Meyering  <meyering@lucent.com>
117581         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117582         (jm_PREREQ): Use it.
117583         (jm_PREREQ_READUTMP): New macro.
117584         (jm_PREREQ): Use it.
117586 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117588         Quote multibyte characters correctly.
117589         * m4/c-bs-a.m4: New file.
117590         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117591         (jm_PREREQ): Use it.
117593 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117595         * m4/uintmax_t.m4: Port to autoconf 2.13.
117597 2000-01-08  Jim Meyering  <meyering@ascend.com>
117599         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117600         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117602 2000-01-04  Jim Meyering  <meyering@ascend.com>
117604         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117605         jm_STRUCT_DIRENT_D_TYPE.
117606         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117607         jm_STRUCT_DIRENT_D_INO.
117608         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117609         jm_STRUCT_UTIMBUF.
117610         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117611         renamings.
117612         * m4/utime.m4: Likewise.
117614         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117615         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117617 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117619         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117620         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117622 2000-01-02  Jim Meyering  <meyering@ascend.com>
117624         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117625         remember if this is necessary.
117627 1999-12-26  Jim Meyering  <meyering@ascend.com>
117629         * m4/jm-macros.m4: Use it here.
117630         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117632 1999-12-23  Jim Meyering  <meyering@ascend.com>
117634         * m4/jm-macros.m4: Check for clock_gettime (moved from
117635         fileutils/configure.in)
117636         Check for gettimeofday.
117638 1999-12-20  Jim Meyering  <meyering@ascend.com>
117640         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117641         autoconf-2.14a-1999-12-20.
117643 1999-12-19  Jim Meyering  <meyering@ascend.com>
117645         * m4/lstat-slash.m4: New file.
117646         * m4/jm-macros.m4: Use the new macro:
117647         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117649 1999-12-07  Jim Meyering  <meyering@ascend.com>
117651         * m4/perl.m4: Require that File::Compare be available, too.
117652         Too many systems seem to lack it.
117654         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117655         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117657 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117659         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117660         problem with the QNX 4.25 shell, which doesn't propagate exit
117661         status of failed commands inside shell assignments.
117663 1999-11-17  Jim Meyering  <meyering@ascend.com>
117665         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117667 1999-11-07  Jim Meyering  <meyering@ascend.com>
117669         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117671 1999-11-06  Jim Meyering  <meyering@ascend.com>
117673         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117674         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117676 1999-11-05  Jim Meyering  <meyering@ascend.com>
117678         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117679         configure.in of textutils, fileutils, and sh-utils into this one
117680         (shared between those packages) file.
117681         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117682         AC_STRUCT_ST_BLKSIZE.
117684 1999-11-03  Jim Meyering  <meyering@ascend.com>
117686         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117687         of AC_CHECK_TYPE checks includes unistd.h.
117688         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117689         Suggestion from Akim Demaille.
117691 1999-10-30  Jim Meyering  <meyering@ascend.com>
117693         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117694         m4-quoted string.
117695         * m4/ls-mntd-fs.m4: Likewise.
117696         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117697         * m4/jm-winsz1.m4: Likewise.
117699         * m4/const.m4: Remove file, since the fix made it into the experimental
117700         version of autoconf.
117701         * m4/mktime.m4: Likewise.
117703         * m4/check-type.m4: Remove file, now that the latest version of
117704         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117706         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117707         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117708         AC_CHECK_TYPE.
117710 1999-10-04  Jim Meyering  <meyering@ascend.com>
117712         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117714 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117716         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117717         2.95.1 bug with HP-UX 10.20.
117719 1999-09-17  Jim Meyering  <meyering@ascend.com>
117721         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117722         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117723         due to missing strdup (against sh-utils-2.0).
117725 1999-08-29  Jim Meyering  <meyering@ascend.com>
117727         * m4/jm-macros.m4: Require jm_BISON.
117728         * m4/bison.m4: New file.
117730 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117732         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117733         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117735 1999-08-05  Jim Meyering  <meyering@ascend.com>
117737         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117738         to avoid conflicts with `conftest' on 8+3 filesystems.
117739         Suggestion from Eli Zaretskii.
117741 1999-08-04  Jim Meyering  <meyering@ascend.com>
117743         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117744         fileutils and sh-utils (textutils's getline test was inadequate).
117745         (AM_FUNC_GETLINE): Run this test.
117746         (AC_CHECK_FUNCS): Check for getdelim.
117747         Reported by Bob Proulx.
117749 1999-08-02  Jim Meyering  <meyering@ascend.com>
117751         * m4/jm-macros.m4: Add a comment.
117753 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117755         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117756         <inttypes.h> defines strtoumax as a macro (and not as a
117757         function).
117759 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117761         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117762         that we can shift, multiply and divide unsigned long long
117763         values; Ultrix cc can't do it.
117765 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117767         * m4/mktime.m4: New file, which is a preview of what should appear
117768         in the next public autoconf release.
117770 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117772         * m4/lfs.m4: Remove this file.
117773         * m4/largefile.m4: New file.  It contains the old contents of
117774         lfs.m4, except that all names with prefix AC_LFS have been
117775         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117776         compatible with future autoconf versions.  Also, some minor m4
117777         quoting problems have been fixed.
117779 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117781         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117782         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117783         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117784         and simplify the shell code.
117786 1999-08-01  Jim Meyering  <meyering@ascend.com>
117788         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117789         m4.
117791 1999-07-20  Jim Meyering  <meyering@ascend.com>
117793         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117795 1999-07-15  Jim Meyering  <meyering@ascend.com>
117797         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117799 1999-05-22  Jim Meyering  <meyering@ascend.com>
117801         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117803 1999-05-20  Jim Meyering  <meyering@ascend.com>
117805         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117806         Add a colon after each `then' in case $4 is empty.
117808 1999-05-16  Jim Meyering  <meyering@ascend.com>
117810         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117812 1999-05-10  Jim Meyering  <meyering@ascend.com>
117814         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117816         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117817         AC_FUNC_MKTIME.
117819 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117821         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117823 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117825         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117826         not CPPFLAGS, so that linking works correctly in IRIX.
117828 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117830         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117832 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117834         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117835         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117836         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117837         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117838         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117840         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117842 1999-04-20  Jim Meyering  <meyering@ascend.com>
117844         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117845         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117846         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117848 1999-04-18  Jim Meyering  <meyering@ascend.com>
117850         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117851         * m4/jm-macros.m4: Use it.
117853 1999-04-06  Jim Meyering  <meyering@ascend.com>
117855         * m4/strftime.m4: Remove test for %f.
117857 1999-03-29  Jim Meyering  <meyering@ascend.com>
117859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117860         superset of the AC_TYPE_* checks in the textutils, fileutils,
117861         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117862         AC_TYPE_PID_T.
117864 1999-03-28  Jim Meyering  <meyering@ascend.com>
117866         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117867         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117868         replaced e.g., in the *.sh files of the sh-utils.
117870 1999-03-20  Jim Meyering  <meyering@ascend.com>
117872         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117873         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117874         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117876 1999-03-19  Jim Meyering  <meyering@ascend.com>
117878         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117880 1999-03-12  Jim Meyering  <meyering@ascend.com>
117882         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117884 1999-03-07  Jim Meyering  <meyering@ascend.com>
117886         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117887         declared.
117889 1999-02-17  Jim Meyering  <meyering@ascend.com>
117891         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117892         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117894 1999-02-07  Jim Meyering  <meyering@ascend.com>
117896         * m4/group-member.m4: New file -- extracted from sh-utils'
117897         configure.in.
117899         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117900         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117902 1999-02-06  Jim Meyering  <meyering@ascend.com>
117904         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117905         * m4/fnmatch.m4: Likewise.
117906         * m4/getgroups.m4: Likewise.
117907         * m4/lstat.m4: Likewise.
117908         * m4/malloc.m4: Likewise.
117909         * m4/putenv.m4: Likewise.
117910         * m4/realloc.m4: Likewise.
117911         * m4/regex.m4: Likewise.
117912         * m4/stat.m4: Likewise.
117913         * m4/strftime.m4: Likewise.
117914         Suggestion from Alain Magloire.
117916         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117917         * m4/fnmatch.m4: Likewise.
117918         * m4/getgroups.m4: Likewise.
117919         * m4/getline.m4: Likewise.
117920         * m4/lstat.m4: Likewise.
117921         * m4/malloc.m4: Likewise.
117922         * m4/memcmp.m4: Likewise.
117923         * m4/putenv.m4: Likewise.
117924         * m4/realloc.m4: Likewise.
117925         * m4/regex.m4: Likewise.
117926         * m4/stat.m4: Likewise.
117927         * m4/strftime.m4: Likewise.
117928         Suggestion from Alain Magloire.
117930         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117931         an argument.
117933         * m4/regex.m4: Add a run-time Test for proper operation of
117934         re_compile_pattern.
117936 1999-01-31  Jim Meyering  <meyering@ascend.com>
117938         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117940 1999-01-30  Jim Meyering  <meyering@ascend.com>
117942         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117944         * m4/jm-mktime.m4: Make this a wrapper around the official
117945         AM_FUNC_MKTIME rather than my private copy, now that the official one
117946         is up to date.
117947         * m4/mktime.m4: Remove file.
117949         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117950         * m4/uptime.m4: Likewise.
117951         * m4/uintmax_t.m4: Likewise.
117953 1999-01-28  Jim Meyering  <meyering@ascend.com>
117955         * m4/jm-macros.m4: Use jm_AFS.
117956         * m4/afs.m4: New file (from fileutils' configure.in).
117958         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117959         * m4/chown.m4: Likewise.
117960         * m4/d-ino.m4: Likewise.
117961         * m4/d-type.m4: Likewise.
117962         * m4/fnmatch.m4: Likewise.
117963         * m4/getgroups.m4: Likewise.
117964         * m4/gettext.m4: Likewise.
117965         * m4/jm-mktime.m4: Likewise.
117966         * m4/jm-winsz2.m4: Likewise.
117967         * m4/lcmessage.m4: Likewise.
117968         * m4/ls-mntd-fs.m4: Likewise.
117969         * m4/malloc.m4: Likewise.
117970         * m4/memcmp.m4: Likewise.
117971         * m4/putenv.m4: Likewise.
117972         * m4/realloc.m4: Likewise.
117973         * m4/st_mtim.m4: Likewise.
117974         * m4/strftime.m4: Likewise.
117976 1999-01-16  Jim Meyering  <meyering@ascend.com>
117978         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117979         (ARGMATCH_DIE_DECL): Define.
117981 1999-01-12  Jim Meyering  <meyering@ascend.com>
117983         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117984         Reported by Lars Hecking.
117986 1999-01-10  Jim Meyering  <meyering@ascend.com>
117988         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117989         gross kludge.
117990         * m4/inttypes_h.m4: Likewise.
117991         * m4/lstat.m4: Likewise.
117992         * m4/malloc.m4: Likewise.
117993         * m4/readdir.m4: Likewise.
117994         * m4/realloc.m4: Likewise.
117995         * m4/st_dm_mode.m4: Likewise.
117996         * m4/stat.m4: Likewise.
117997         * m4/utimbuf.m4: Likewise.
117998         * m4/utimes.m4: Likewise.
118000         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
118001         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
118002         comments in config.h.in are meaningful.
118004         * m4/jm-macros.m4: Require autoconf-2.13 here.
118006         * m4/regex.m4: By default, don't use the included regex.c on systems
118007         with glibc 2.  Suggestion from Uli Drepper.
118009 1999-01-02  Jim Meyering  <meyering@ascend.com>
118011         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
118013 1998-12-18  Jim Meyering  <meyering@ascend.com>
118015         * m4/Makefile.am.in (Makefile.am): Simplify rule.
118016         Based on a suggestion from Lars Hecking.
118018 1998-11-16  Paul Eggert  <eggert@twinsun.com>
118020         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
118022 1998-11-16  Jim Meyering  <meyering@ascend.com>
118024         * m4/lfs.m4: Double-quote the `uname...` expression.
118026 1998-11-14  Jim Meyering  <meyering@ascend.com>
118028         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
118029         * m4/stat.m4: Likewise.
118031 1998-11-03  Jim Meyering  <meyering@ascend.com>
118033         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
118034         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
118036 1998-10-18  Jim Meyering  <meyering@ascend.com>
118038         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
118040 1998-10-17  Jim Meyering  <meyering@ascend.com>
118042         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
118043         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
118044         calls for those previously hard-coded headers.  Instead, take a new
118045         parameter.
118046         (jm_CHECK_DECLARATIONS): Reflect interface change.
118047         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
118048         (jm_CHECK_DECL_LOCALTIME_R): New macro.
118050         * m4/mktime.m4: Test for spring-forward gap before long-running test.
118052 1998-10-14  Jim Meyering  <meyering@ascend.com>
118054         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
118055         instead of "TZ=America/Vancouver".  From Paul Eggert.
118057 1998-10-11  Jim Meyering  <meyering@ascend.com>
118059         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
118060         This adds a test for a recently added compatibility fix for mktime.c.
118061         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
118063 1998-09-27  Jim Meyering  <meyering@ascend.com>
118065         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
118067         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
118068         ../configure.in, including a change from Gordon Matzigkeit to allow
118069         cross-compiling for the Hurd.
118071         * m4/glibc.m4: New file/macro to test for the GNU C Library
118072         versions 1 and 2.  From Gordon Matzigkeit.
118073         Indent.
118075 1998-09-21  Jim Meyering  <meyering@ascend.com>
118077         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
118079 1998-08-18  Paul Eggert  <eggert@twinsun.com>
118081         Port nanosecond-resolution times to UnixWare 2.1.2 and
118082         pedantic Solaris 2.6.
118084         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
118085         AC_STRUCT_ST_MTIM.
118086         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
118087         Generate name of ns member, instead of just 1 or undef.
118088         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
118090 1998-08-15  Jim Meyering  <meyering@ascend.com>
118092         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
118093         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
118094         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
118095         instead of jm_TYPE_SSIZE_T.
118097 1998-08-12  Jim Meyering  <meyering@ascend.com>
118099         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
118101 1998-08-02  Jim Meyering  <meyering@ascend.com>
118103         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
118104         in acconfig.h manually.
118106 1998-07-31  Paul Eggert  <eggert@twinsun.com>
118108         * m4/st_mtim.m4: New file.
118110 1998-07-28  Jim Meyering  <meyering@ascend.com>
118112         * m4/utimes.m4: Undef stat.
118114 1998-07-25  Jim Meyering  <meyering@ascend.com>
118116         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
118117         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
118119 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
118121         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
118122         uid and gid actually remain unchanged.
118124 1998-07-07  Jim Meyering  <meyering@ascend.com>
118126         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
118128 1998-07-04  Jim Meyering  <meyering@ascend.com>
118130         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
118131         to prove that this macro can be used in packages without regex.c.
118133 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
118135         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
118136         is to be used.
118138 1998-07-03  Jim Meyering  <meyering@ascend.com>
118140         * m4/gettext.m4: Add -lintl if it's found to be necessary.
118142         * m4/gettext.m4: New file -- from gettext-0.10.35.
118143         * m4/lcmessage.m4: Likewise.
118144         * m4/progtest.m4: Likewise.
118146         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
118147         * m4/jm-macros.m4: Require the new macro.
118149 1998-06-29  Jim Meyering  <meyering@ascend.com>
118151         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
118152         for the definition of NGROUPS (used in a system header included
118153         by sys/mount.h).
118155 1998-06-28  Jim Meyering  <meyering@ascend.com>
118157         * m4/ls-mntd-fs.m4: New file.
118158         * m4/fstypename.m4: New file.
118160         * m4/jm-macros.m4: Require the new macro.
118161         * m4/jm-glibc-io.m4: New file.
118163 1998-05-19  Jim Meyering  <meyering@ascend.com>
118165         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
118166         * m4/lchown.m4: New file.
118168         * m4/Makefile.am.in: New file.
118169         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
118171 1998-05-14  Jim Meyering  <meyering@ascend.com>
118173         * m4/Makefile.am (EXTRA_DIST): Add them.
118174         * m4/jm-macros.m4: New file.
118175         * m4/utimbuf.m4: New file.
118177 1998-05-12  Jim Meyering  <meyering@ascend.com>
118179         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
118181 1998-05-11  Jim Meyering  <meyering@ascend.com>
118183         * m4/isc-posix.m4: New file.
118185 1998-05-10  Jim Meyering  <meyering@ascend.com>
118187         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
118189 1998-05-09  Jim Meyering  <meyering@ascend.com>
118191         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
118192         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
118193         with automake.
118195         * m4/ssize_t.m4: New file.
118196         * m4/mktime.m4: Remove file -- the new automake has this now.
118198 1998-04-26  Jim Meyering  <meyering@ascend.com>
118200         * m4/assert.m4: New file.
118201         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
118203 1998-04-05  Jim Meyering  <meyering@ascend.com>
118205         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
118206         (jm_PREREQ): Use it here.
118208 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
118210         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
118211         in acconfig.h.
118213 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
118215         * m4/prereq.m4: New file.
118216         * m4/error.m4: New file.
118217         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
118219 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
118221         * m4/getline.m4: Don't set am_cv_func_working_getline before the
118222         cache-check for the same variable -- that defeated the purpose of
118223         the test; the test program was never run.  This was a problem only
118224         on systems with losing getline functions -- HP-UX 10.20 is one.
118225         Reported by Bjorn Helgaas.
118227 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
118229         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
118231 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
118233         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
118235         * m4/const.m4: New file.  Use an initializer in this declaration
118236         typedef int charset[2]; const charset x;
118237         Reported by Bob Glickstein.
118239 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
118241         * m4/chown.m4: Fix reversed types on -1 args to chown.
118242         From Kaveh Ghazi.
118244 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
118246         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
118247         Add lseek and memchr.
118249         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
118250         T.E.Dickey <dickey@clark.net> said that some older preprocessors
118251         have a 20-character limit on names.
118253 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
118255         * m4/inttypes_h.m4: New file.
118256         * m4/uintmax_t.m4: New file.
118257         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
118260         -----
118262         Local Variables:
118263         coding: utf-8
118264         End:
118266         Copyright (C) 1997-2018 Free Software Foundation, Inc.
118268         Copying and distribution of this file, with or without
118269         modification, are permitted provided the copyright notice
118270         and this notice are preserved.